0001558370-24-006905.txt : 20240507 0001558370-24-006905.hdr.sgml : 20240507 20240507071553 ACCESSION NUMBER: 0001558370-24-006905 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 69 CONFORMED PERIOD OF REPORT: 20240331 FILED AS OF DATE: 20240507 DATE AS OF CHANGE: 20240507 FILER: COMPANY DATA: COMPANY CONFORMED NAME: CPI Card Group Inc. CENTRAL INDEX KEY: 0001641614 STANDARD INDUSTRIAL CLASSIFICATION: COMMERCIAL PRINTING [2750] ORGANIZATION NAME: 04 Manufacturing IRS NUMBER: 260344657 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-37584 FILM NUMBER: 24919595 BUSINESS ADDRESS: STREET 1: 10368 WEST CENTENNIAL RD CITY: LITTLETON STATE: CO ZIP: 80127 BUSINESS PHONE: 720-681-6304 MAIL ADDRESS: STREET 1: 10368 WEST CENTENNIAL RD CITY: LITTLETON STATE: CO ZIP: 80127 FORMER COMPANY: FORMER CONFORMED NAME: CPI Holdings I, Inc. DATE OF NAME CHANGE: 20150506 10-Q 1 pmts-20240331x10q.htm 10-Q
11446155113914760001641614--12-312024Q1false00P7Y0.00330.00330.3330001641614pmts:TricorPacificCapitalPartnersFundIvMember2024-01-012024-03-310001641614pmts:TricorPacificCapitalPartnersFundIvMember2023-12-062023-12-060001641614us-gaap:CommonStockMember2024-01-012024-03-310001641614us-gaap:CommonStockMember2023-01-012023-03-310001641614us-gaap:RetainedEarningsMember2024-03-310001641614us-gaap:AdditionalPaidInCapitalMember2024-03-310001641614us-gaap:RetainedEarningsMember2023-12-310001641614us-gaap:AdditionalPaidInCapitalMember2023-12-310001641614us-gaap:RetainedEarningsMember2023-03-310001641614us-gaap:AdditionalPaidInCapitalMember2023-03-310001641614us-gaap:RetainedEarningsMember2022-12-310001641614us-gaap:AdditionalPaidInCapitalMember2022-12-310001641614srt:MinimumMembersrt:ChiefExecutiveOfficerMemberus-gaap:PerformanceSharesMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMember2024-01-310001641614srt:MinimumMembersrt:ChiefExecutiveOfficerMemberus-gaap:PerformanceSharesMemberus-gaap:ShareBasedCompensationAwardTrancheThreeMember2024-01-310001641614srt:MinimumMembersrt:ChiefExecutiveOfficerMemberus-gaap:PerformanceSharesMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2024-01-310001641614pmts:StockOptionsEmployeesDirectorsConsultantsMemberpmts:CPICardGroupInc.OmnibusPlanMember2024-03-310001641614pmts:CPICardGroupInc.OmnibusPlanMember2024-01-300001641614pmts:CPICardGroupInc.OmnibusPlanMember2024-01-302024-01-300001641614pmts:StockOptionsEmployeesDirectorsConsultantsMemberpmts:CPICardGroupInc.OmnibusPlanMember2024-01-012024-03-310001641614us-gaap:RestrictedStockUnitsRSUMemberpmts:CPICardGroupInc.OmnibusPlanMember2024-03-310001641614us-gaap:RestrictedStockUnitsRSUMemberpmts:CPICardGroupInc.OmnibusPlanMember2024-01-012024-03-310001641614pmts:June2023AwardOneMember2024-01-012024-03-310001641614us-gaap:OperatingSegmentsMemberpmts:ServicesMemberpmts:USPrepaidDebitMember2024-01-012024-03-310001641614us-gaap:OperatingSegmentsMemberpmts:ServicesMemberpmts:USDebitAndCreditMember2024-01-012024-03-310001641614us-gaap:OperatingSegmentsMemberpmts:ProductsMemberpmts:USDebitAndCreditMember2024-01-012024-03-310001641614us-gaap:IntersegmentEliminationMemberpmts:ServicesMember2024-01-012024-03-310001641614us-gaap:IntersegmentEliminationMemberpmts:ProductsMember2024-01-012024-03-310001641614us-gaap:OperatingSegmentsMemberpmts:ServicesMemberpmts:USPrepaidDebitMember2023-01-012023-03-310001641614us-gaap:OperatingSegmentsMemberpmts:ServicesMemberpmts:USDebitAndCreditMember2023-01-012023-03-310001641614us-gaap:OperatingSegmentsMemberpmts:ProductsMemberpmts:USDebitAndCreditMember2023-01-012023-03-310001641614us-gaap:IntersegmentEliminationMemberpmts:ServicesMember2023-01-012023-03-310001641614us-gaap:IntersegmentEliminationMemberpmts:ProductsMember2023-01-012023-03-310001641614us-gaap:RetainedEarningsMember2024-01-012024-03-310001641614us-gaap:RetainedEarningsMember2023-01-012023-03-310001641614srt:MinimumMemberus-gaap:RevolvingCreditFacilityMember2023-04-012023-04-010001641614srt:MinimumMemberpmts:SeniorRevolvingCreditFacilityMember2023-04-012023-04-010001641614srt:MaximumMemberus-gaap:RevolvingCreditFacilityMember2023-04-012023-04-010001641614srt:MaximumMemberpmts:SeniorRevolvingCreditFacilityMember2023-04-012023-04-010001641614srt:MaximumMemberus-gaap:RevolvingCreditFacilityMember2022-03-032022-03-030001641614us-gaap:SeniorNotesMember2023-01-012023-12-310001641614us-gaap:RevolvingCreditFacilityMember2024-03-310001641614us-gaap:FairValueInputsLevel2Memberus-gaap:SeniorNotesMember2024-03-310001641614us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:SeniorNotesMember2024-03-310001641614us-gaap:FairValueInputsLevel2Memberus-gaap:SeniorNotesMember2023-12-310001641614us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:SeniorNotesMember2023-12-310001641614us-gaap:SeniorNotesMember2024-03-310001641614us-gaap:SeniorNotesMember2023-12-310001641614us-gaap:SeniorNotesMember2021-03-150001641614srt:MinimumMemberus-gaap:RevolvingCreditFacilityMemberpmts:SecuredOvernightFinancingRateMember2023-04-012023-04-010001641614srt:MaximumMemberus-gaap:RevolvingCreditFacilityMemberpmts:SecuredOvernightFinancingRateMember2023-04-012023-04-010001641614srt:MinimumMemberus-gaap:RevolvingCreditFacilityMemberpmts:SecuredOvernightFinancingRateMember2022-03-032022-03-030001641614srt:MaximumMemberus-gaap:RevolvingCreditFacilityMemberpmts:SecuredOvernightFinancingRateMember2022-03-032022-03-030001641614us-gaap:IntersegmentEliminationMember2024-01-012024-03-310001641614us-gaap:IntersegmentEliminationMember2023-01-012023-03-310001641614pmts:ServicesMember2024-01-012024-03-310001641614pmts:ProductsMember2024-01-012024-03-310001641614pmts:ServicesMember2023-01-012023-03-310001641614pmts:ProductsMember2023-01-012023-03-310001641614us-gaap:CommonStockMember2024-03-310001641614us-gaap:CommonStockMember2023-12-310001641614us-gaap:CommonStockMember2023-03-310001641614us-gaap:CommonStockMember2022-12-3100016416142023-11-0200016416142023-03-3100016416142022-12-310001641614us-gaap:AdditionalPaidInCapitalMember2024-01-012024-03-310001641614us-gaap:AdditionalPaidInCapitalMember2023-01-012023-03-310001641614us-gaap:RestrictedStockUnitsRSUMember2023-06-012023-06-300001641614pmts:StockOptionsEmployeesDirectorsConsultantsMember2023-06-012023-06-300001641614pmts:June2023AwardOneMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2023-08-012023-08-310001641614pmts:June2023AwardTwoMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMember2023-06-012023-06-300001641614srt:ChiefExecutiveOfficerMemberus-gaap:PerformanceSharesMember2024-01-012024-01-310001641614srt:ChiefExecutiveOfficerMemberus-gaap:PerformanceSharesMember2024-01-310001641614us-gaap:MachineryAndEquipmentMember2024-03-310001641614us-gaap:LeaseholdImprovementsMember2024-03-310001641614us-gaap:FurnitureAndFixturesMember2024-03-310001641614us-gaap:ConstructionInProgressMember2024-03-310001641614pmts:OperatingRightOfUseAssetsMember2024-03-310001641614pmts:MachineryAndEquipmentUnderFinancialLeasesMember2024-03-310001641614us-gaap:MachineryAndEquipmentMember2023-12-310001641614us-gaap:LeaseholdImprovementsMember2023-12-310001641614us-gaap:FurnitureAndFixturesMember2023-12-310001641614us-gaap:ConstructionInProgressMember2023-12-310001641614pmts:OperatingRightOfUseAssetsMember2023-12-310001641614pmts:MachineryAndEquipmentUnderFinancialLeasesMember2023-12-310001641614us-gaap:RevolvingCreditFacilityMember2022-03-030001641614us-gaap:RevolvingCreditFacilityMember2021-03-150001641614pmts:SmartPackagingSolutionsSVCpiCardGroupIncMemberus-gaap:PendingLitigationMember2021-04-200001641614us-gaap:OperatingSegmentsMemberus-gaap:AllOtherSegmentsMember2024-01-012024-03-310001641614us-gaap:OperatingSegmentsMemberpmts:USPrepaidDebitMember2024-01-012024-03-310001641614us-gaap:OperatingSegmentsMemberpmts:USDebitAndCreditMember2024-01-012024-03-310001641614us-gaap:OperatingSegmentsMemberus-gaap:AllOtherSegmentsMember2023-01-012023-03-310001641614us-gaap:OperatingSegmentsMemberpmts:USPrepaidDebitMember2023-01-012023-03-310001641614us-gaap:OperatingSegmentsMemberpmts:USDebitAndCreditMember2023-01-012023-03-3100016416142023-01-012023-03-3100016416142023-12-3100016416142024-03-3100016416142024-04-3000016416142024-01-012024-03-31xbrli:sharesiso4217:USDpmts:itemxbrli:pureiso4217: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 and Exchange Act of 1934

For the Quarterly Period Ended March 31, 2024

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

CPI Card Group Inc.

(Exact name of the registrant as specified in its charter)

Delaware

26-0344657

(State or other jurisdiction of incorporation or organization)

(I.R.S. employer identification no.)

10368 W. Centennial Road

Littleton, CO

80127

(Address of principal executive offices)

(Zip Code)

(720) 681-6304

(Registrant’s telephone number, including area code)

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

Title of each class

Trading Symbol(s)

Name of each exchange on which registered

Common Stock, $0.001 par value

PMTS

Nasdaq Global Market

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

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

Number of shares of Common Stock, $0.001 par value, outstanding as of April 30, 2024: 11,122,466

Table of Contents

    

Page

 

Part I — Financial Information

Item 1 — Condensed Consolidated Financial Statements (Unaudited)

3

Item 2 — Management’s Discussion and Analysis of Financial Condition and Results of Operations

17

Item 3 — Quantitative and Qualitative Disclosures About Market Risk

25

Item 4 — Controls and Procedures

25

Part II — Other Information

Item 1 — Legal Proceedings

26

Item 1A — Risk Factors

26

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

26

Item 3 — Defaults Upon Senior Securities

26

Item 4 — Mine Safety Disclosures

26

Item 5 — Other Information

27

Item 6 — Exhibits

27

Signatures

28

2

PART I - Financial Information

Item 1. Financial Statements

CPI Card Group Inc. and Subsidiaries

Condensed Consolidated Balance Sheets

(in thousands, except share and per share amounts)

(Unaudited)

March 31, 

December 31, 

2024

2023

Assets

Current assets:

Cash and cash equivalents

$

17,144

$

12,413

Accounts receivable, net

68,539

73,724

Inventories, net

83,381

70,594

Prepaid expenses and other current assets

11,862

8,647

Total current assets

180,926

165,378

Plant, equipment, leasehold improvements and operating lease right-of-use assets, net of accumulated depreciation of $70,039 and $66,436 respectively

61,033

63,053

Intangible assets, net of accumulated amortization of $52,731 and $51,763 respectively

13,154

14,122

Goodwill

47,150

47,150

Other assets

17,517

3,980

Total assets

$

319,780

$

293,683

Liabilities and stockholders’ deficit

Current liabilities:

Accounts payable

$

23,643

$

12,802

Accrued expenses

49,203

35,803

Deferred revenue and customer deposits

1,172

840

Total current liabilities

74,018

49,445

Long-term debt

265,326

264,997

Deferred income taxes

6,742

7,139

Other long-term liabilities

22,145

24,038

Total liabilities

368,231

345,619

Commitments and contingencies (Note 12)

Series A Preferred Stock; $0.001 par value—100,000 shares authorized; 0 shares issued and outstanding at March 31, 2024 and December 31, 2023

Stockholders’ deficit:

Common stock; $0.001 par value—100,000,000 shares authorized; 11,391,476 and 11,446,155 shares issued and outstanding at March 31, 2024 and December 31, 2023, respectively

11

11

Capital deficiency

(104,193)

(102,223)

Accumulated earnings

55,731

50,276

Total stockholders’ deficit

(48,451)

(51,936)

Total liabilities and stockholders’ deficit

$

319,780

$

293,683

See accompanying notes to condensed consolidated financial statements

3

CPI Card Group Inc. and Subsidiaries

Condensed Consolidated Statements of Operations and Comprehensive Income

(in thousands, except share and per share amounts)

(Unaudited)

Three Months Ended March 31, 

2024

    

2023

Net sales:

Products

$

58,158

$

75,790

Services

53,778

45,062

Total net sales

111,936

120,852

Cost of sales:

Products (exclusive of depreciation and amortization shown below)

37,802

45,980

Services (exclusive of depreciation and amortization shown below)

29,929

29,404

Depreciation and amortization

2,687

2,374

Total cost of sales

70,418

77,758

Gross profit

41,518

43,094

Operating expenses:

Selling, general and administrative (exclusive of depreciation and amortization shown below)

26,043

21,066

Depreciation and amortization

1,330

1,430

Total operating expenses

27,373

22,496

Income from operations

14,145

20,598

Other expense, net:

Interest, net

(6,425)

(6,781)

Other expense, net

(65)

(114)

Total other expense, net

(6,490)

(6,895)

Income before income taxes

7,655

13,703

Income tax expense

(2,200)

(2,830)

Net income

$

5,455

$

10,873

Basic and diluted earnings per share:

Basic earnings per share

$

0.48

$

0.95

Diluted earnings per share

$

0.46

$

0.91

Basic weighted-average shares outstanding

11,266,699

11,394,919

Diluted weighted-average shares outstanding

11,769,364

11,901,581

Comprehensive income:

Net income

$

5,455

$

10,873

Total comprehensive income

$

5,455

$

10,873

See accompanying notes to condensed consolidated financial statements

4

CPI Card Group Inc. and Subsidiaries

Condensed Consolidated Statements of Stockholders’ Deficit

(in thousands, except per share amounts)

(Unaudited)

Common Stock

Capital

Accumulated

Shares

Amount

deficiency

earnings

Total

December 31, 2023

11,446,155

$

11

$

(102,223)

$

50,276

$

(51,936)

Shares issued under stock-based compensation plans

13,579

(109)

(109)

Stock-based compensation

3,060

3,060

Repurchase and retirement of common shares

(68,258)

(4,921)

(4,921)

Components of comprehensive income:

Net income

5,455

5,455

March 31, 2024

11,391,476

$

11

$

(104,193)

$

55,731

$

(48,451)

Common Stock

Capital

Accumulated

Shares

Amount

deficiency

earnings

Total

December 31, 2022

11,390,355

$

11

$

(108,379)

$

26,291

$

(82,077)

Shares issued under stock-based compensation plans

34,273

(69)

(69)

Stock-based compensation

541

541

Components of comprehensive income:

Net income

10,873

10,873

March 31, 2023

11,424,628

$

11

$

(107,907)

$

37,164

$

(70,732)

See accompanying notes to condensed consolidated financial statements

5

CPI Card Group Inc. and Subsidiaries

Condensed Consolidated Statements of Cash Flows

(in thousands)

(Unaudited)

Three Months Ended March 31, 

2024

    

2023

Operating activities

Net income

$

5,455

$

10,873

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

Depreciation expense

3,049

2,837

Amortization expense

968

967

Stock-based compensation expense

3,060

541

Amortization of debt issuance costs and debt discount

459

473

Loss on debt extinguishment

119

Deferred income taxes

(397)

(271)

Other, net

223

12

Changes in operating assets and liabilities:

Accounts receivable, net

5,171

4,335

Inventories

(12,984)

(1,464)

Prepaid expenses and other assets

(17,610)

310

Income taxes, net

728

550

Accounts payable

10,681

1,533

Accrued expenses and other liabilities

9,730

(11,358)

Deferred revenue and customer deposits

332

(1,456)

Cash provided by operating activities

8,865

8,001

Investing activities

Capital expenditures for plant, equipment and leasehold improvements, net

(1,506)

(4,145)

Other

50

Cash used in investing activities

(1,506)

(4,095)

Financing activities

Principal payments on Senior Notes

(7,903)

Proceeds from ABL Revolver

8,000

Other

(109)

(69)

Payments on finance lease obligations

(1,269)

(820)

Common stock repurchased

(1,250)

Cash used in financing activities

(2,628)

(792)

Effect of exchange rates on cash

6

Net increase in cash and cash equivalents

4,731

3,120

Cash and cash equivalents, beginning of period

12,413

11,037

Cash and cash equivalents, end of period

$

17,144

$

14,157

Supplemental disclosures of cash flow information

Cash paid (refunded) during the period for:

Interest

$

11,903

$

12,608

Income taxes paid

$

16

$

28

Income taxes refunded

$

(163)

$

Right-of-use assets obtained in exchange for lease obligations:

Operating leases

$

$

168

Financing leases

$

$

2,169

Accounts payable and accrued expenses for capital expenditures for plant, equipment and leasehold improvements

$

263

$

422

Unsettled share repurchases included in accrued expenses

$

4,404

$

See accompanying notes to condensed consolidated financial statements

6

CPI Card Group Inc. and Subsidiaries

Notes to Condensed Consolidated Financial Statements

(dollars in thousands, except share and per share amounts or as otherwise indicated)

(Unaudited)

1. Business Overview and Summary of Significant Accounting Policies

Business Overview

CPI Card Group Inc. (which, together with its subsidiary companies, is referred to herein as “CPI” or the “Company”) is a payments technology company and leading provider of comprehensive Financial Payment Card solutions in the United States. CPI is engaged in the design, production, data personalization, packaging and fulfillment of Financial Payment Cards, which the Company defines as credit, debit and Prepaid Debit Cards (defined below) issued on the networks of the Payment Card Brands (Visa, Mastercard®, American Express® and Discover®). CPI defines “Prepaid Debit Cards” as debit cards issued on the networks of the Payment Card Brands, but not linked to a traditional bank account. CPI also offers an instant card issuance solution, which provides customers the ability to issue a personalized debit or credit card within the bank branch to individual cardholders.

CPI serves its customers through a network of high-security production and card services facilities in the United States, each of which is audited for compliance with the standards of the Payment Card Industry Security Standards Council (“PCI Security Standards Council”) by one or more of the Payment Card Brands. CPI’s network of high-security production facilities allows the Company to optimize its solutions offerings and serve its customers.

The Company’s business consists of the following reportable segments: Debit and Credit, Prepaid Debit and Other. The Debit and Credit segment primarily produces Financial Payment Cards and provides integrated card services to card-issuing financial institutions primarily in the United States. The Prepaid Debit segment primarily provides integrated card services to Prepaid Debit Card program managers primarily in the United States. The Company’s “Other” segment includes corporate expenses.

Basis of Presentation

Certain information and footnote disclosures normally included in financial statements prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) have been condensed or omitted pursuant to Form 10-Q and Article 8 of Regulation S-X. In the opinion of management, these financial statements reflect all adjustments (consisting of normal recurring adjustments) considered necessary for the fair statement of the results of the interim periods presented. The condensed consolidated balance sheet as of December 31, 2023 is derived from the audited financial statements as of that date. The accompanying condensed consolidated financial statements should be read in conjunction with the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2023.

Use of Estimates

Management uses estimates and assumptions relating to the reporting of assets and liabilities at the date of the financial statements, the reported revenues and expenses recognized during the reporting period, and certain financial statement disclosures in the preparation of the condensed consolidated financial statements. Significant items subject to such estimates and assumptions include the carrying amount of property and equipment, goodwill and intangible assets, leases, valuation allowances for inventories and deferred taxes, revenue recognized for work performed but not completed and uncertain tax positions. Actual results could differ from those estimates.

7

Recent Accounting Pronouncements

Recently Issued Accounting Pronouncements

In November 2023, the Financial Accounting Standards Board issued ASU 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures, which will require enhanced segment disclosures. Adoption of this accounting standard is effective for the Company for fiscal years beginning after December 15, 2023. The Company has elected not to early adopt this accounting standard. The Company is evaluating the impact of adoption of this standard and does not anticipate that the application of ASU 2023-07 will have a material impact on the Company’s consolidated financial position, results of operations, or cash flows.

In December 2023, the Financial Accounting Standards Board issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures which will require a disaggregated rate reconciliation disclosure as well as additional information regarding taxes paid. Adoption of this accounting standard is effective for the Company for fiscal years beginning after December 15, 2024. The Company has elected not to early adopt this accounting standard. The Company is evaluating the impact of adoption of this standard and does not anticipate that the application of ASU 2023-09 will have a material impact on the Company’s consolidated financial position, results of operations, or cash flows.

2. Net Sales

The Company disaggregates its net sales by major source as follows:

Three Months Ended March 31, 2024

Products

Services

Total

Debit and Credit

$

58,371

$

29,602

$

87,973

Prepaid Debit

24,198

24,198

Intersegment eliminations

(213)

 

(22)

 

(235)

Total

$

58,158

$

53,778

$

111,936

Three Months Ended March 31, 2023

Products

Services

Total

Debit and Credit

$

76,032

$

25,953

$

101,985

Prepaid Debit

19,130

19,130

Intersegment eliminations

(242)

 

(21)

 

(263)

Total

$

75,790

$

45,062

$

120,852

Products Net Sales

“Products” net sales are recognized when obligations under the terms of a contract with a customer are satisfied. In most instances, this occurs over time as cards are produced for specific customers and have no alternative use and the Company has an enforceable right to payment for work performed. For work performed but not completed and unbilled, the Company estimates revenue by taking actual costs incurred and applying historical margins for similar types of contracts. Items included in “Products” net sales are the design and production of Financial Payment Cards, including contact-EMV®, contactless dual-interface EMV, contactless and magnetic stripe cards, CPI’s eco-focused solutions, including Second Wave® and Earthwise® cards made with upcycled plastic, metal cards, private label credit cards and retail gift cards. Card@Once® printers and consumables are also included in “Products” net sales, and their associated revenues are recognized at the time of shipping. The Company includes gross shipping and handling revenue in net sales, and shipping and handling costs in cost of sales.

Europay, Mastercard and Visa (“EMV®”) is a global technical standard maintained by EMV Co, LLC. EMV® is a registered trademark in the U.S. and other countries and an unregistered trademark elsewhere. The EMV trademark is owned by EMV Co, LLC.

Services Net Sales

Net sales are recognized for “Services” as the services are performed. Items included in “Services” net sales include the personalization and fulfillment of Financial Payment Cards, providing tamper-evident secure packaging and fulfillment services to Prepaid Debit Card program managers, and software-as-a-service personalization of instant

8

issuance debit cards. As applicable, for work performed but not completed and unbilled, the Company estimates revenue by taking actual costs incurred and applying historical margins for similar types of contracts.

Customer Contracts

The Company often enters into Master Services Agreements (“MSAs”) with its customers. Generally, enforceable rights and obligations for goods and services occur only when a customer places a purchase order or statement of work to obtain goods or services under an MSA. The contract term as defined by ASC 606, Revenue from Contracts with Customers, is the length of time it takes to deliver the goods or services promised under the purchase order or statement of work. As such, the Company's contracts are generally short term in nature.

Costs to Obtain a Contract with a Customer

Costs to obtain a contract (“contract costs”) include only those costs incurred to obtain a contract that the Company would not have incurred if the contract had not been obtained. For contracts where the term is greater than one year, these costs are recorded as an asset and amortized consistent with the timing of the related revenue over the life of the contract. The current portion of the asset is included in “prepaid expenses and other current assets” and the noncurrent portion is included in “other assets” on the Company's condensed consolidated balance sheets. Contract costs incurred but unpaid are included in “accrued expenses” on the Company's condensed consolidated balance sheets. Contract costs are expensed as incurred when the amortization period is one year or less.

3. Accounts Receivable

Accounts receivable consisted of the following:

March 31, 

December 31, 

2024

2023

Trade accounts receivable

$

59,788

 

$

69,245

Unbilled accounts receivable

8,997

 

4,725

68,785

 

73,970

Less allowance for credit losses

(246)

(246)

$

68,539

$

73,724

4. Inventories

Inventories consisted of the following:

March 31, 

December 31, 

2024

2023

Raw materials

$

79,825

 

$

66,210

Finished goods

6,531

 

7,162

Inventory reserve

(2,975)

(2,778)

$

83,381

 

$

70,594

5

9

5. Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets

Plant, equipment, leasehold improvements and operating lease right-of-use assets consisted of the following:

March 31, 

December 31, 

2024

2023

Machinery and equipment

$

68,466

 

$

67,506

Machinery and equipment under financing leases

23,774

23,774

Furniture, fixtures and computer equipment

160

 

107

Leasehold improvements

17,419

 

16,335

Construction in progress

1,264

 

1,778

Operating lease right-of-use assets

19,989

19,989

131,072

129,489

Less accumulated depreciation and amortization

(70,039)

 

(66,436)

$

61,033

 

$

63,053

6. Fair Value of Financial Instruments

Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date (exit price). In determining fair value, the Company utilizes a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value into three broad levels. The following is a brief description of those three levels:

    Level 1—Valuations based on unadjusted quoted prices in active markets for identical assets or liabilities accessible to the reporting entity at the measurement date.

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

    Level 3— Valuations based on unobservable inputs for the asset or liability used to measure fair value to the extent that observable inputs are not available, thereby allowing for situations in which there is little, if any, market activity for the asset or liability at the measurement date.

The Company’s financial assets and liabilities that are not required to be re-measured at fair value in the condensed consolidated balance sheets were as follows:

Carrying

Estimated

Value as of 

Fair Value as of 

Fair Value Measurement at March 31, 2024

March 31, 

March 31, 

 (Using Fair Value Hierarchy)

2024

2024

Level 1

Level 2

Level 3

Liabilities:

    

    

    

    

Senior Notes

$

267,897

$

267,147

$

$

267,147

$

Carrying

Estimated

 Value as of

Fair Value as of

Fair Value Measurement at December 31, 2023

December 31, 

December 31, 

 (Using Fair Value Hierarchy)

2023

2023

Level 1

Level 2

Level 3

Liabilities:

    

    

    

    

Senior Notes

$

267,897

 

$

261,834

$

 

$

261,834

$

The aggregate fair value of the Company’s Senior Notes (as defined in Note 8, “Long-Term Debt”) was based on bank quotes. The carrying amounts for cash and cash equivalents, accounts receivable and accounts payable each approximate fair value due to their short-term nature.

10

7. Accrued Expenses

Accrued expenses consisted of the following:

March 31, 

December 31,

2024

2023

Accrued payroll and related employee expenses

$

8,146

 

$

11,431

Accrued employee performance bonuses

2,009

 

667

Employer payroll taxes

1,377

 

298

Accrued rebates

1,540

2,919

Capitalized contract costs payable

15,000

Accrued interest

999

6,830

Current operating and financing lease liabilities

7,195

7,318

Accrued share repurchases

4,404

733

Other

8,533

5,607

Total accrued expenses

$

49,203

$

35,803

Other accrued expenses as of March 31, 2024, and December 31, 2023, consisted primarily of federal income and sales tax accruals, as well as self-insurance claims that have yet to be reported.

8. Long-Term Debt

As of March 31, 2024, and December 31, 2023, long-term debt consisted of the following:

March 31, 

    

December 31, 

2024

2023

Senior Notes (1)

$

267,897

$

267,897

Unamortized deferred financing costs

 

(2,571)

 

(2,900)

Total long-term debt

265,326

264,997

Less current maturities

Long-term debt, net of current maturities

$

265,326

$

264,997

(1)The Senior Notes bear interest at a fixed rate of 8.625%.

Senior Notes

On March 15, 2021, the Company completed an offering by its wholly-owned subsidiary, CPI CG Inc., of $310.0 million aggregate principal amount of 8.625% Senior Secured Notes due 2026 (the “Senior Notes”) and related guarantees. The Senior Notes bear interest at a rate of 8.625% per annum and mature on March 15, 2026. Interest is payable on the Senior Notes on March 15 and September 15 of each year.

The Company has obligations to make an offer to repay the Senior Notes, requiring prepayment in advance of the maturity date, upon the occurrence of certain events including a change of control, certain asset sales and based on an annual excess cash flow calculation. The annual excess cash flow calculation is determined pursuant to the terms of that certain Indenture, dated as of March 15, 2021, by and among CPI CG Inc., the Company, the subsidiary guarantors and U.S. Bank National Association, as trustee, with any required prepayments to be made after the issuance of the Company’s annual financial statements. No such payment is required to be made in 2024 and was not required to be made in 2023 based on the Company’s operating results for the years ended December 31, 2023 and 2022, respectively.

ABL Revolver

On March 15, 2021, the Company and CPI CG Inc., as borrower, entered into a Credit Agreement with Wells Fargo Bank, National Association, as lender, administrative agent and collateral agent, providing for an asset-based, senior secured revolving credit facility (the “ABL Revolver”). The ABL Revolver matures on the earliest to occur of March 15, 2026 and the date that is 90 days prior to the maturity of the Senior Notes. On March 3, 2022, the Company and CPI CG Inc. entered into Amendment No. 1 to the Credit Agreement (the “Amendment”), which amended the ABL Revolver. The Amendment, among other things, increased the available borrowing capacity under the ABL Revolver to

11

$75.0 million, increased the uncommitted accordion feature to $25.0 million from $15.0 million, and revised the interest rate provisions to replace the prior LIBOR benchmark with updated benchmark provisions using the secured overnight financing rate (“SOFR”) as administered by the Federal Reserve Bank of New York. On October 11, 2022, the Company and CPI CG Inc. entered into Amendment No. 2 to the Credit Agreement, which amended the ABL Revolver to adjust certain monthly document delivery terms and to clarify the treatment of certain inventory.

Borrowings under the amended ABL Revolver bear interest at a rate per annum equal to the applicable term SOFR adjusted for a credit spread, plus an applicable interest rate margin. The Company may select a one, three or six-month term SOFR, which is adjusted for a credit spread of 0.10% to 0.30% depending on the term selected. Through March 31, 2023, the applicable interest rate margin ranged from 1.50% to 1.75% depending on the average excess availability of the facility for the most recently completed quarter. The unused portion of the ABL Revolver commitment accrued a monthly unused line fee, 0.50% per annum through March 31, 2023, multiplied by the aggregate amount of Revolver commitments less the average Revolver usage during the immediately preceding month. The interest rate margin and unused line fee percentage changed, effective April 1, 2023, to between 1.25% and 1.75% (interest rate margin) and 0.375% and 0.50% (unused line fee).

Deferred Financing Costs and Discount

Certain costs and discounts incurred with borrowings are reflected as a reduction to the long-term debt balance. These costs are amortized as an adjustment to interest expense over the life of the borrowing using the effective-interest rate method. The remaining unamortized debt issuance costs recorded on the Senior Notes were $2.6 million and are reported as a reduction to the long-term debt balance as of March 31, 2024. The remaining unamortized net discount and debt issuance costs on the ABL Revolver and related Amendment were $0.9 million and are recorded as other assets (current and long-term) on the consolidated balance sheet as of March 31, 2024.

9. Income Taxes

The Company’s effective tax rates on pre-tax income were 28.7% and 20.7% for the three months ended March 31, 2024 and 2023, respectively. The increase in the effective tax rate for the three months ended March 31, 2024 compared to the corresponding period in the prior year primarily was due to the reduction of a valuation allowance in the first quarter of 2023 related to a state’s law change.

For the three months ended March 31, 2024 and 2023, the effective tax rate differs from the U.S. federal statutory income tax rate as follows:

March 31, 

2024

    

2023

Tax at federal statutory rate

21.0

%

21.0

%

State taxes, net

6.1

4.7

Valuation allowance

(5.2)

Permanent items

3.0

1.2

Deductibility limitations on excess compensation

(1.8)

0.1

Other

0.4

(1.1)

Effective income tax rate

28.7

%

20.7

%

10. Stockholders’ Deficit

Share Repurchases

On November 2, 2023, the Company's board of directors approved a share repurchase plan authorizing the Company to repurchase up to $20.0 million of the Company's common stock, par value $0.001 per share. This authorization expires on December 31, 2024.

During the three months ended March 31, 2024, the Company repurchased 68,258 shares of its common stock at an average price of $18.29 per share, excluding commissions, or $1.2 million in aggregate, on a trade date basis. In accordance with the Stock Repurchase Agreement entered into on December 6, 2023, the Company is obligated to purchase 244,314 shares from Tricor Pacific Capital Partners (Fund IV) US, LP, which is one of the Company’s majority stockholders and affiliated with Parallel49 Equity, at an average price of $18.03 per share, as of March 31, 2024. This

12

obligation is based on a multiple of the number of shares the Company purchased in the open market from the date of the agreement through March 31, 2024, payment for which is due in the second quarter of 2024. As of March 31, 2024, the Company had an authorized amount of $14.1 million remaining under the share repurchase plan.

11. Earnings per Share

Basic and diluted earnings per share is computed by dividing net income by the weighted-average number of common shares outstanding during the period. The Company's calculation of weighted-average shares outstanding has been reduced by 244,314 shares that the Company is obligated to repurchase from Parallel49 in April 2024. Shares excluded from the calculation of diluted earnings per share because their inclusion would be anti-dilutive were 39,933 and 28,831 for the three months ended March 31, 2024 and 2023, respectively.

The following table sets forth the computation of basic and diluted earnings per share:

Three Months Ended March 31, 

2024

    

2023

Numerator:

Net income

$

5,455

$

10,873

Denominator:

Basic weighted-average common shares outstanding

 

11,266,699

 

11,394,919

Dilutive shares

502,665

506,662

Diluted weighted-average common shares outstanding

11,769,364

11,901,581

Basic earnings per share

$

0.48

$

0.95

Diluted earnings per share

$

0.46

$

0.91

12. Commitments and Contingencies

Contingencies

In accordance with applicable accounting guidance, the Company establishes an accrued expense when loss contingencies are both probable and estimable. In such cases, there may be an exposure to loss in excess of any amounts accrued. As a matter develops, the Company, in conjunction with any outside counsel handling the matter, evaluates on an ongoing basis whether such matter presents a loss contingency that is probable and estimable. Once the loss contingency is deemed to be both probable and estimable, the Company will establish an accrued expense and record a corresponding amount of expense. The Company expenses professional fees associated with litigation claims and assessments as incurred.

Smart Packaging Solutions SA v. CPI Card Group Inc.

On April 20, 2021, Smart Packaging Solutions, SA (“SPS”) filed a patent infringement lawsuit against the Company in the United States District Court for the District of Delaware seeking an unspecified amount of damages and equitable relief. In the complaint, SPS alleges that the Company infringed four patents that SPS has exclusively licensed from Feinics AmaTech Teoranta. The patents all relate to antenna technology. SPS alleges that the Company incorporates the patented technology into its products that use contactless communication. The Company does not produce antennas; it purchases certain antenna-related components from SPS and a number of other suppliers. The Company’s motion to dismiss the complaint is currently pending. Additionally, a third party, Infineon, filed requests for Inter Parties Review (“IPR”) proceedings concerning each of the four patents. As a result, the Delaware District Court stayed the case pending resolution of the requests for review. The United States Patent Office has instituted proceedings with respect to all of the IPR requests; three of the patents have been invalidated in the IPR proceedings and any remaining claims in the fourth patent that are relevant to the Company have also been invalidated. While no assurance can be given that this matter will be resolved favorably, the patent owner has dismissed its appeals related to the three previously invalidated patents and the Company expects the pending litigation will be dismissed as a result of these developments.

13

In addition to the matter described above, the Company may be subject to routine legal proceedings in the ordinary course of business. The Company believes that the ultimate resolution of any such matters will not have a material adverse effect on its business, financial condition or results of operations.

Voluntary Disclosure Program

The Company is subject to unclaimed or abandoned property (escheat) laws which require it to turn over to state governmental authorities the property of others held by the Company that has been unclaimed for specified periods of time. Property subject to escheat laws generally relates to uncashed checks, trade accounts receivable credits and unpaid payable balances. During the second quarter of 2022, the Company received a letter from the Delaware Secretary of State inviting the Company to participate in the Delaware Secretary of State’s Abandoned or Unclaimed Property Voluntary Disclosure Agreement Program to avoid being sent an audit notice by the Delaware Department of Finance. On August 31, 2022, the Company entered into Delaware’s Voluntary Disclosure Agreement Program in order to voluntarily comply with Delaware’s abandoned property law in exchange for certain protections and benefits. The Company intends to work in good faith to complete a review of its books and records related to unclaimed or abandoned property during the periods required under the program. Any potential loss, or range of loss, that may result from this matter is not currently reasonably estimable.

13. Stock-Based Compensation

In October 2015, the Company adopted the CPI Card Group Inc. Omnibus Incentive Plan (as amended and supplemented, the “Omnibus Plan”) pursuant to which cash and equity-based incentives may be granted to participating employees, advisors, and directors. Effective January 30, 2024, the Company’s stockholders approved an amendment to the Omnibus Plan to increase the total number of shares of the Company’s Common Stock reserved and available for issuance thereunder by 1,000,000 shares, resulting in a total of 3,200,000 shares issuable under the Omnibus Plan. As of March 31, 2024, there were 962,285 shares of Common Stock available for grant under the Omnibus Plan.

In June 2023, the Company announced an award comprised of 25% nonqualified stock options and 75% restricted stock units to its CEO at the time as an incentive to remain employed by the Company through February 28, 2024. The first one-third of the awards was granted in June 2023, the second one-third was granted in August 2023, and the remainder was granted in November 2023. All of these awards will vest ratably over a two-year period irrespective of employment status with expense related to these awards to be recognized by the Company through February 28, 2024. As part of the CEO’s incentive package, the requisite service and exercise periods for his awards granted in 2023 prior to June 2023 were also modified with expense related to the modification being recognized in June 2023 through February 2024.

During 2024, executives will receive a quarterly restricted stock unit grant comprising one-fourth of the annual equity-based incentive component of their total compensation. The number of shares awarded will be determined based on a value tied to the monthly average closing price of the Company’s common stock.

As of March 31, 2024, there were 904,438 options outstanding at a weighted average exercise price of $18.87. No options were granted during the three months ended March 31, 2024. Options have 7-year terms and are issued with exercise prices equal to the fair market value of the Company’s common stock on the grant date.

During the three months ended March 31, 2024, the Company granted 89,452 restricted stock units at a weighted average grant date fair value of $18.25, and as of March 31, 2024, there were 786,673 outstanding restricted stock units at a weighted average grant date fair value of $20.55.

In January 2024, the Company granted 60,000 performance stock units (PSU) in connection with the appointment of its CEO, with a grant date fair value of $0.9 million using a Monte Carlo simulation model. The PSU award will vest, subject to continuous employment, in equal one-third increments upon the attainment of the rolling weighted average closing price of the Company’s common stock equaling or exceeding each of $35.00, $50.00, and $65.00, in each case, for at least 90 consecutive trading days during the five-year performance period commencing on the grant date.

All equity awards are contingent and issued only upon approval by the compensation committee of the Company’s board of directors, or as otherwise permitted under the Omnibus Plan. The Company accounts for stock-based compensation pursuant to ASC 718, Share-Based Payments. All stock-based compensation is required to be

14

measured at fair value and expensed over the requisite service period, generally defined as the applicable vesting period. The Company accounts for forfeitures as they occur and reverses previously recognized expense for the unvested portion of the forfeited shares. Upon the exercise of stock options, shares of common stock are issued from authorized common shares.

14. Segment Reporting

The Company has identified reportable segments that represent 10% or more of its net sales, EBITDA (as defined below) or total assets, or when the Company believes information about the segment would be useful to the readers of the financial statements. The Company’s chief operating decision maker is its Chief Executive Officer, who is charged with management of the Company and is responsible for the evaluation of operating performance and decision making about the allocation of resources to operating segments based on measures, such as net sales and EBITDA.

EBITDA is the primary measure used by the Company’s chief operating decision maker to evaluate segment operating performance. As the Company uses the term, “EBITDA” is defined as income before interest expense, income taxes, depreciation and amortization. The Company’s chief operating decision maker believes EBITDA is a meaningful measure and is useful as a supplement to GAAP measures as it represents a transparent view of the Company’s operating performance that is unaffected by fluctuations in property, equipment and leasehold improvement additions. The Company’s chief operating decision maker uses EBITDA to perform periodic reviews and comparison of operating trends and to identify strategies to improve the allocation of resources amongst segments.

As of March 31, 2024, the Company’s reportable segments were as follows:

    Debit and Credit

    Prepaid Debit

    Other

Debit and Credit Segment

The Debit and Credit segment primarily produces Financial Payment Cards and provides integrated card services, including digital services, for card-issuing financial institutions primarily in the United States. Products produced by this segment primarily include EMV and non-EMV Financial Payment Cards, including contact and contactless cards, and Eco-Focused Cards. The Company also sells Card@Once instant card issuance solutions, and private label credit cards that are not issued on the networks of the Payment Card Brands. The Company provides print-on-demand services, where images, personalized payment cards, and related collateral are produced on a one-by-one, on demand basis for customers. This segment also provides a variety of integrated card services, including card personalization and fulfillment services and instant issuance services. The Debit and Credit segment facilities and operations are audited for compliance with the standards of the PCI Security Standards Council by multiple Payment Card Brands.

Prepaid Debit Segment

The Prepaid Debit segment primarily provides integrated prepaid card services to Prepaid Debit Card providers primarily in the United States, including tamper-evident security packaging. This segment also produces Financial Payment Cards issued on the networks of the Payment Card Brands that are included in the tamper-evident security packages. The Prepaid Debit segment facilities and operations are audited for compliance with the standards of the PCI Security Standards Council by multiple Payment Card Brands.

Other

The Other segment includes corporate expenses.

15

Performance Measures of Reportable Segments

Net sales and EBITDA of the Company’s reportable segments, as well as a reconciliation of total segment EBITDA to income from operations and net income for the three months ended March 31, 2024 and 2023, were as follows:

Three Months Ended March 31, 2024

Debit and Credit

Prepaid Debit

Other

Intersegment Eliminations

Total

Net sales

$

87,973

$

24,198

$

$

(235)

$

111,936

Cost of sales

56,478

14,175

(235)

70,418

Gross profit

31,495

10,023

41,518

Operating expenses

8,741

1,278

17,354

27,373

Income (loss) from operations

$

22,754

$

8,745

$

(17,354)

$

$

14,145

EBITDA by segment:

Income (loss) from operations

$

22,754

$

8,745

$

(17,354)

$

$

14,145

Depreciation and amortization

2,150

871

996

4,017

Other income (expense)

(62)

(1)

(2)

(65)

EBITDA

$

24,842

$

9,615

$

(16,360)

$

$

18,097

Three Months Ended March 31, 2023

Debit and Credit

Prepaid Debit

Other

Intersegment Eliminations

Total

Net sales

$

101,985

$

19,130

$

$

(263)

$

120,852

Cost of sales

63,801

14,220

(263)

77,758

Gross profit

38,184

4,910

43,094

Operating expenses

8,158

1,233

13,105

22,496

Income (loss) from operations

$

30,026

$

3,677

$

(13,105)

$

$

20,598

EBITDA by segment:

Income (loss) from operations

$

30,026

$

3,677

$

(13,105)

$

$

20,598

Depreciation and amortization

2,161

624

1,019

3,804

Other income (expense)

5

(119)

(114)

EBITDA

$

32,192

$

4,301

$

(12,205)

$

$

24,288

Three Months Ended March 31, 

2024

    

2023

Net income

$

5,455

$

10,873

Interest, net

6,425

6,781

Income tax expense

 

2,200

 

2,830

Depreciation and amortization

 

4,017

 

3,804

EBITDA

$

18,097

$

24,288

16

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

References to the “Company,” “our,” “us” or “we” refer to CPI Card Group Inc. and its subsidiaries. For an understanding of the significant factors that influenced our results, the following discussion 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 for the quarter ended March 31, 2024. This management’s discussion and analysis should also be read in conjunction with the management’s discussion and analysis and consolidated financial statements included in our Annual Report on Form 10-K for the year ended December 31, 2023 filed with the Securities and Exchange Commission (“SEC”).

Cautionary Statement Regarding Forward-Looking Information

Certain statements and information in this Quarterly Report on Form 10-Q for the quarter ended March 31, 2024 (as well as information included in other written or oral statements we make from time to time) may contain or constitute “forward-looking statements” within the meaning of the Private Securities Litigation Reform Act of 1995, Section 27A of the Securities Act of 1933, as amended, and Section 21E of the Securities Exchange Act of 1934, as amended (the “Exchange Act”). The words “believe,” “estimate,” “project,” “expect,” “anticipate,” “plan,” “intend,” “foresee,” “should,” “would,” “could,” “continue,” “committed,” “attempt,” “aim,” “target,” “objective,” “guides,” “seek,” “focus,” “provides guidance,” “provides outlook” or other similar expressions are intended to identify forward-looking statements, which are not historical in nature. These forward-looking statements, including statements about our strategic initiatives and market opportunities, are based on our current expectations and beliefs concerning future developments and their potential effect on us and other information currently available. Such forward-looking statements, because they relate to future events, are by their very nature subject to many important risks and uncertainties that could cause actual results or other events to differ materially from those contemplated.

These risks and uncertainties include, but are not limited to: a deterioration in general economic conditions, including inflationary conditions and resulting in reduced consumer confidence and business spending, and a decline in consumer credit worthiness impacting demand for our products; the unpredictability of our operating results, including an inability to anticipate changes in customer inventory management practices and its impact on our business; a disruption or other failure in our supply chain, including as a result of foreign conflicts and with respect to single source suppliers, or the failure or inability of suppliers to comply with our code of conduct or contractual requirements, or political unrest in countries in which our suppliers operate, or inflationary pressures, resulting in increased costs and inability to pass those costs on to our customers and extended production lead times and difficulty meeting customers’ delivery expectations; our failure to retain our existing customers or identify and attract new customers; our inability to recruit, retain and develop qualified personnel, including key personnel, and implement effective succession processes; adverse conditions in the banking system and financial markets, including the failure of banks and financial institutions; system security risks, data protection breaches and cyber-attacks; interruptions in our operations, including our information technology systems, or in the operations of the third parties that operate computing infrastructure on which we rely; our inability to develop, introduce and commercialize new products and services; the usage, or lack thereof, of artificial intelligence technologies; our substantial indebtedness, including inability to make debt service payments or refinance such indebtedness; the restrictive terms of our indebtedness and covenants of future agreements governing indebtedness and the resulting restraints on our ability to pursue our business strategies; our status as an accelerated filer and complying with the Sarbanes-Oxley Act of 2002 and the costs associated with such compliance and implementation of procedures thereunder; our failure to maintain effective internal control over financial reporting; disruptions in production at one or more of our facilities; problems in production quality, materials and process and costs relating to product defects and any related product liability and/or warranty claims; environmental, social and governance (“ESG”) preferences and demands of various stakeholders and our ability to conform to such preferences and demands and to comply with any related regulatory requirements; the effects of climate change, negative perceptions of our products due to the impact of our products and production processes on the environment and other ESG-related risks; damage to our reputation or brand image; disruptions in production due to weather conditions, climate change, political instability or social unrest; our inability to adequately protect our trade secrets and intellectual property rights from misappropriation, infringement claims brought against us and risks related to open source software; defects in our software and computing systems; our limited ability to raise capital; costs and impacts to our financial results relating to the obligatory collection of sales tax and claims for uncollected sales tax in states that impose sales tax collection requirements on out-of-state businesses or unclaimed property, as well as potential new U.S. tax legislation increasing the corporate income tax rate and challenges to our income tax positions; our inability to successfully execute on our divestitures or acquisitions; our inability to realize the full value of our long-lived assets; our inability to renew licenses with key technology licensors;

17

the highly competitive, saturated and consolidated nature of our marketplace; costs and potential liabilities associated with compliance or failure to comply with regulations, customer contractual requirements and evolving industry standards regarding consumer privacy and data use and security; new and developing technologies that make our existing technology solutions and products obsolete or less relevant or our failure to introduce new products and services in a timely manner; our failure to operate our business in accordance with the Payment Card Industry Security Standards Council security standards or other industry standards; the effects of restrictions, delays or interruptions in our ability to source raw materials and components used in our products from foreign countries; the effects on the global economy of ongoing foreign conflicts; our failure to comply with environmental, health and safety laws and regulations that apply to our products and the raw materials we use in our production processes; risks associated with the majority stockholders’ ownership of our stock; potential conflicts of interest that may arise due to our board of directors being comprised in part of directors who are principals of our majority stockholders; the influence of securities analysts over the trading market for and price of our common stock; failure to meet the continued listing standards of the Nasdaq Global Market; the impact of stockholder activism or securities litigation on the trading price and volatility of our common stock; our inability to fully execute on our share repurchase program strategy; certain provisions of our organizational documents and other contractual provisions that may delay or prevent a change in control and make it difficult for stockholders other than our majority stockholders to change the composition of our board of directors; our ability to comply with a wide variety of complex laws and regulations and the exposure to liability for any failure to comply; the effect of legal and regulatory proceedings; and other risks that are described in Part I, Item 1A – Risk Factors in our Annual Report on Form 10-K for the year ended December 31, 2023 filed with the SEC on March 7, 2024, in Part II, Item 1A – Risk Factors of this Quarterly Report on Form 10-Q and our other reports filed from time to time with the Securities and Exchange Commission (the “SEC”).

We caution and advise readers not to place undue reliance on forward-looking statements, which speak only as of the date hereof. These statements are based on assumptions that may not be realized and involve risks and uncertainties that could cause actual results or other events to differ materially from the expectations and beliefs contained herein. We undertake no obligation to publicly update or revise any forward-looking statements after the date they are made, whether as a result of new information, future events or otherwise.

Overview

We are a payments technology company and leading provider of comprehensive Financial Payment Card solutions in the United States. We define “Financial Payment Cards” as credit, debit and Prepaid Debit Cards (as defined below) issued on the networks of the “Payment Card Brands” (Visa, Mastercard®, American Express® and Discover®). We define “Prepaid Debit Cards” as debit cards issued on the networks of the Payment Card Brands, but not linked to a traditional bank account. We also offer an instant card issuance solution, which provides customers the ability to issue a personalized debit or credit card within the bank branch to individual cardholders. We have established a leading position in the Financial Payment Card solutions market through more than 20 years of experience.

We serve a diverse set of several thousand customers which includes direct customers and indirect customer relationships whereby CPI provides Financial Payment Card solutions to a customer through a Group Service Provider (as defined below). Our customers include some of the largest issuers of debit and credit cards in the United States, the largest Prepaid Debit Card program managers in the United States, numerous financial technology companies (“fintechs”), as well as independent community banks, credit unions and Group Service Providers. We define “Group Service Providers” as reseller or card processor organizations that assist small card issuers, such as credit unions, with managing their credit and debit card programs, including managing the Financial Payment Card issuance process, core banking operations and other financial services.

We serve our customers through a network of high-security production and card services facilities in the United States, each of which is audited for compliance with the standards of the Payment Card Industry Security Standards Council (the “PCI Security Standards Council”) by one or more of the Payment Card Brands. Many of our customers require us to comply with PCI Security Standards Council requirements that relate to the provision of our products and services. Our network of high-security production facilities allows us to optimize our solutions offerings and to serve the needs of our diverse customer base.

18

Driven by a combination of our strong relationships, quality, technology, innovation, and supply-chain management, we believe we have strong positions in the following markets:

the U.S. prepaid debit market, including the largest U.S. Prepaid Debit Card program managers;

the U.S. small-to mid-sized financial institutions market, which includes independent community banks and credit unions;

the U.S. large issuer market, serving some of the largest U.S. debit and credit card issuers; and

the U.S. fintech market, where we produce and personalize Financial Payment Cards for financial technology companies.

Our business consists of the following reportable segments:

Debit and Credit, which primarily produces Financial Payment Cards and provides integrated card services, including digital services, to card-issuing financial institutions primarily in the United States;

Prepaid Debit, which primarily provides integrated prepaid card services to Prepaid Debit Card program managers primarily in the United States; and

“Other,” which includes corporate expenses.

Trends and Uncertainties That May Affect our Financial Performance

We believe the following may have a meaningful impact on our business performance and may negatively influence our financial and operating results:

We believe some customers have temporarily reduced demand for our products and services and we may experience reduced demand from customers in the future due to the following:

Some large banks point toward the possibility that the U.S. economy may experience an economic slowdown in the near future, which we believe has caused, and may continue to cause, some of our customers, particularly in the banking and financial services industry, to have concerns about the broader economic environment and therefore reduce overall spending, delay spending into future periods, or request pricing concessions, including on card programs or other products and services we offer.
Some of our customers anticipated supply-chain-related delays and correspondingly increased their own inventory of the Company’s products on hand during 2022. As supply-chain lead times have improved, and given the economic concerns noted above, we believe some customers became and continue to remain more focused on reducing their inventory levels.
Certain banks experienced negative liquidity events, including takeover by industry regulators and deposit outflows, or increased loan loss reserves, each of which had the effect of deteriorating share prices and limiting access to capital, leading to cautionary signals and uncertainty in the financial services industry. Following some of these events, we experienced reduced demand in the Debit and Credit segment and may experience reduced demand in the future.

19

Results of Operations

The following table presents the components of our condensed consolidated statements of operations for each of the periods presented:

Three Months Ended

March 31, 

2024

    

2023

$ Change

% Change

(dollars in thousands)

Net sales: (1)

Products

$

58,158

$

75,790

$

(17,632)

(23.3)

%

Services

53,778

45,062

8,716

19.3

%

Total net sales

111,936

120,852

(8,916)

(7.4)

%

Cost of sales (1)

70,418

77,758

(7,340)

(9.4)

%

Gross profit

41,518

43,094

(1,576)

(3.7)

%

Operating expenses

27,373

22,496

4,877

21.7

%

Income from operations

14,145

20,598

(6,453)

(31.3)

%

Other expense, net:

Interest, net

(6,425)

(6,781)

356

(5.2)

%

Other expense, net

(65)

(114)

49

(43.0)

%

Income before taxes

7,655

13,703

(6,048)

(44.1)

%

Income tax expense

(2,200)

(2,830)

630

(22.3)

%

Net income

$

5,455

$

10,873

$

(5,418)

(49.8)

%

Gross profit margin

37.1%

35.7%

(1)For the three months ended March 31, 2024 and 2023, net sales and cost of sales each include $0.2 million and $0.3 million of intersegment eliminations, respectively.

The following discussion of our consolidated results of operations and segment results refers to the three months ended March 31, 2024, compared to the corresponding period in the prior year. The results of operations should be read in conjunction with the discussion of our segment results of operations, which provide more detailed discussions concerning certain components of the Condensed Consolidated Statements of Income.

Net Sales:

Net sales decreased for the three months ended March 31, 2024, primarily due to decreased Products net sales driven by lower volumes in our Debit and Credit segment, partially offset by higher Services net sales in both our Prepaid Debit and Debit and Credit segments.

Gross Profit and Gross Profit Margin: 

Gross profit decreased for the three months ended March 31, 2024, primarily due to lower net sales, partially offset by lower production costs. Gross profit in the prior year period was negatively impacted by expenses related to the implementation of a change in our production staffing model as we completed the transition of temporary worker positions to permanent employee positions in our Prepaid Debit segment.

Gross profit margin increased for the three months ended March 31, 2024, primarily due to lower production costs.

Operating Expenses:

Operating expenses increased for the three months ended March 31, 2024, primarily due to compensation related expenses including executive retention and severance, as well as other increased stock compensation. Retention expense includes approximately $2.0 million related to an executive retention package announced in 2023, including stock compensation.

20

Interest, net:

Interest expense decreased for the three months ended March 31, 2024, primarily due to lower outstanding principal balances on our borrowings.

Other Expense, net:

Other expense, net was relatively consistent for the three months ended March 31, 2024.

Income Tax Expense:

Our effective tax rates on pre-tax income were 28.7% and 20.7% for the three months ended March 31, 2024 and 2023, respectively. Our tax rate in the first quarter of 2023 was positively impacted by the reduction of a valuation allowance related to a state’s law change.

Segment Discussion

Debit and Credit:

Three Months Ended

March 31, 

2024

    

2023

$ Change

% Change

(dollars in thousands)

Net sales

$

87,973

$

101,985

$

(14,012)

(13.7)

%

Gross profit

$

31,495

$

38,184

$

(6,689)

(17.5)

%

Income from operations

$

22,754

$

30,026

$

(7,272)

(24.2)

%

Gross profit margin

35.8%

37.4%

Net Sales: 

Net sales for Debit and Credit decreased for the three months ended March 31, 2024, primarily due to a decrease in Products net sales, driven by volume declines in contactless and EMV cards, partially offset by higher personalization and Card@Once services.

Gross Profit and Gross Profit Margin:

Gross profit and gross profit margin for Debit and Credit decreased for the three months ended March 31, 2024, primarily due to lower net sales.

Income from Operations:

Income from operations for Debit and Credit decreased for the three months ended March 31, 2024, primarily due to the factors discussed in “Gross Profit and Gross Profit Margin” above, as well as increased compensation-related operating expenses.

21

Prepaid Debit:

Three Months Ended

March 31, 

2024

    

2023

$ Change

% Change

(dollars in thousands)

Net sales

$

24,198

$

19,130

$

5,068

26.5

%

Gross profit

$

10,023

$

4,910

$

5,113

104.1

%

Income from operations

$

8,745

$

3,677

$

5,068

137.8

%

Gross profit margin

41.4%

25.7%

Net Sales:

Net sales for Prepaid Debit increased for the three months ended March 31, 2024, primarily due to increased volumes from existing customers.

Gross Profit and Gross Profit Margin:

Gross profit and gross profit margin for Prepaid Debit increased for the three months ended March 31, 2024, primarily due to higher net sales and lower production costs. Gross profit and gross margin in the prior year period were negatively impacted by expenses related to the implementation of a change in our production staffing model as we completed the transition of temporary worker positions to permanent employee positions.

Income from Operations:

Income from operations for Prepaid Debit increased for the three months ended March 31, 2024, primarily due to the factors discussed in “Gross Profit and Gross Profit Margin” above.

Other:

As the Other segment is comprised entirely of corporate expenses, income from operations for Other consists of operating expenses shown below.

Three Months Ended

March 31, 

2024

    

2023

$ Change

% Change

(dollars in thousands)

Operating expenses

$

17,354

$

13,105

$

4,249

32.4

%

Operating Expenses:

Other operating expenses increased for the three months ended March 31, 2024, primarily due to an increase in compensation related expenses, including the factors discussed in consolidated “Operating Expenses” above.

Liquidity and Capital Resources

At March 31, 2024, we had $17.1 million of cash and cash equivalents. Our primary source of liquidity has been cash generated from our operating activities, which has been driven from net income and fluctuations in working capital. Our working capital fluctuates primarily due to the timing of tax payments, timing of receipts from customers, inventory purchases, payments of employee incentive programs and interest payments on our 8.625% Senior Secured Notes due 2026 (the “Senior Notes”), with the interest payments being due in the first and third quarters of the year.

Our ability to make investments in and grow our business, service our debt and improve our debt leverage ratios, while maintaining strong liquidity, depends on our ability to generate excess operating cash flows through our operating subsidiaries. Although we can provide no assurances, we believe that our cash flows from operations, combined with our current cash levels, and our senior secured revolving credit facility (the “ABL Revolver”) with available borrowing capacity of $74.7 million as of March 31, 2024, will be adequate to fund debt service requirements and provide cash, as required, to support our ongoing operations, capital expenditures, lease obligations, share

22

repurchases and working capital needs. Our future cash flows could be impacted by a variety of factors, some of which are beyond our control. These factors include, but are not limited to, changes in economic conditions, especially those impacting our customers, and the pricing, terms and availability of goods and services that we purchase, and financings that we enter into.

Cash Flows from Operating Activities

Cash provided by operating activities increased for the three months ended March 31, 2024 to $8.9 million from $8.0 million for the three months ended March 31, 2023 primarily due to lower employee performance incentive compensation payments in 2024 related to 2023 performance as compared to those made in 2023 related to 2022 performance, partially offset by a $5.0 million payment pursuant to an agreement entered into on June 2, 2023 with the Company’s prior Chief Executive Officer, who departed in the first quarter of 2024, as well as increased inventory purchases. We anticipate inventory levels to continue to be higher in 2024 compared to 2023 levels as a result of the capacity reservation agreement we entered into with one of our suppliers in 2022, which will be in effect through 2025. Additionally, we anticipate cash flows from operating activities to be negatively impacted in the second and fourth quarters of 2024 due to incentives related to a customer contract entered into in the first quarter of 2024.

Financing

As of March 31, 2024, we had the following outstanding borrowings:

March 31,

December 31,

    

2024

    

2023

(dollars in thousands)

Senior Notes

$

267,897

$

267,897

Unamortized deferred financing costs

(2,571)

(2,900)

Total long-term debt

$

265,326

$

264,997

Senior Notes

On March 15, 2021, we completed an offering of $310.0 million aggregate principal amount of Senior Notes and related guarantees at an issue price of 100%. The Senior Notes bear interest at a rate of 8.625% per annum and mature on March 15, 2026. Interest is payable on the Senior Notes on March 15 and September 15 of each year.

As permitted by the indenture governing the Senior Notes, we may also from time to time repurchase some or all of the Senior Notes in open market transactions, in privately negotiated transactions or otherwise. We may redeem some or all of the Senior Notes in 2024, subject to market and other conditions. Pursuant to the terms of the indenture, redemptions would be priced at 102.156% of the principal amount of any notes to be redeemed from March 16, 2024 through March 15, 2025, and reducing to 100% thereafter, in each case plus accrued and unpaid interest. The timing and amount of any such redemptions or repurchases will depend upon market conditions, contractual commitments, our capital needs and other factors.

ABL Revolver

On March 15, 2021, we entered into a Credit Agreement with Wells Fargo Bank, National Association providing for an ABL Revolver. On March 3, 2022, we entered into Amendment No. 1 to the Credit Agreement, which amended the ABL Revolver. The amendment, among other things, increased the available borrowing capacity to $75.0 million, increased the uncommitted accordion feature to $25.0 million and revised the interest rate provisions to replace the prior LIBOR benchmark with updated benchmark provisions using the secured overnight financing rate (“SOFR”) as administered by the Federal Reserve Bank of New York. On October 11, 2022, we entered into Amendment No. 2 to the Credit Agreement, which amended the ABL Revolver to adjust certain monthly document delivery terms and to clarify the treatment of certain inventory. We primarily utilize our ABL Revolver to provide general liquidity and to support shorter term financing requirements.

Borrowings under the amended ABL Revolver bear interest at a rate per annum equal to the applicable term SOFR adjusted for a credit spread, plus an applicable interest rate margin. We may select a one, three or six-month term SOFR, which is adjusted for a credit spread of 0.10% to 0.30% depending on the term selected. The applicable interest rate margin ranges from 1.25% to 1.75% depending on the average excess availability of the facility for the most recently completed quarter. The unused portion of the ABL Revolver commitment accrues a monthly unused line fee,

23

between 0.375% to 0.50% per annum, multiplied by the aggregate amount of Revolver commitments less the average Revolver usage during the immediately preceding month.

Amounts borrowed and outstanding under the ABL Revolver are required to be repaid in full, together with any accrued and unpaid interest, on the earliest to occur of March 15, 2026 and the date that is 90 days prior to the maturity of the Senior Notes (and may be subject to earlier mandatory prepayment upon certain events).

Cash Priorities

Capital Expenditures

We primarily use cash in investing activities for capital expenditures. During the three months ended March 31, 2024, capital expenditures, including investments to support the business, such as machinery and information technology equipment, totaled $1.5 million.

During 2023, we commenced work on relocating and modernizing our production facility in Indiana. We anticipate this project will extend into 2025. Total capital expenditures, net for this project are anticipated to increase cash used in investing activities and assets acquired under lease arrangements in both 2024 and 2025.

Share Repurchase Authorization and Activity

On November 2, 2023, our board of directors approved a share repurchase plan authorizing us to repurchase up to $20.0 million of our common stock, par value $0.001 per share. This authorization expires on December 31, 2024.

During the three months ended March 31, 2024, we repurchased 68,258 shares of our common stock at an average price of $18.29 per share excluding commissions, or $1.2 million in aggregate, on a trade date basis. In accordance with the Stock Repurchase Agreement entered into on December 6, 2023, we are obligated to purchase from Tricor Pacific Capital Partners (Fund IV) US, LP (“Parallel49”), which is one of the Company’s majority stockholders, three times the number of shares of the Company’s common stock acquired by the Company in the open market over the period December 6, 2023 through March 31, 2024 from non-Parallel49 holders. As of March 31, 2024, the Company was obligated to repurchase 244,314 shares from Parallel49 at an average price of $18.03 per share, and the related payment of $4.4 million was made in April 2024.

We had $14.1 million remaining in our share repurchase authorization as of March 31, 2024. We may purchase shares through open market purchases or through privately negotiated transactions, the extent and timing of which will depend upon a variety of factors, including market conditions, regulatory requirements and other corporate considerations, as determined by us.

Material Cash Requirements

Our material cash requirements include interest payments on our long-term debt, operating and finance lease payments, and purchase obligations to support our operations.

Debt Service Requirements

As of March 31, 2024, the total projected principal and interest payments on our borrowings were $314.8 million, primarily related to the Senior Notes, of which $23.5 million of interest is expected to be paid in the next 12 months. The remaining interest payments are expected to be paid over the remaining term of the Senior Notes, which mature in 2026, and the principal is due upon maturity. We have estimated our future interest payments assuming no additional borrowings under the ABL Revolver, no early redemptions of principal on the Senior Notes, and no debt issuances or renewals upon the maturity dates of our notes. However, we may borrow additional amounts under the ABL Revolver, redeem principal on the Senior Notes early or refinance all or a portion of our borrowings in future periods.

Leases

We lease equipment and real property for production and services. Refer to Part II, Item 8, Financial Statements and Supplementary Data, Note 9, Financing and Operating Leases, in our Annual Report on Form 10-K for the year ended December 31, 2023 for details on our leasing arrangements, including future maturities of our operating lease liabilities.

24

In February 2024, we entered into a build-to-suit lease agreement to relocate and modernize our operations at our Fort Wayne, Indiana production facility, which is set to commence the later of: (i) the landlord’s delivery of exclusive possession of the premises and (ii) March 1, 2025. Under this lease agreement, we will pay an annual base rent of $0.9 million subject to an annual rent increase of 2.0%. The lease is for ten years and includes two consecutive options to extend the term of the lease by five years for each such option.

Purchase Obligations

A purchase obligation is an agreement to purchase goods or services that is enforceable, legally binding, and specifies all significant terms. As of March 31, 2024, there have not been any material changes to the purchase obligations disclosed in our Annual Report on Form 10-K for the fiscal year ended December 31, 2023.

Critical Accounting Policies and Estimates

The preparation of financial statements in conformity with accounting principles generally accepted in the United States requires management to make estimates and assumptions that affect the amounts and disclosures in the financial statements and accompanying notes. Actual results could differ from those estimates. Our Critical Accounting Policies and Estimates disclosed in our Annual Report on Form 10-K for the year ended December 31, 2023, for which there were no material changes as of March 31, 2024, included:

Revenue recognition, including estimates of work performed but not completed, and
Income taxes, including estimates regarding future compensation for covered individuals, valuation allowances and uncertain tax positions.

Item 3. Quantitative and Qualitative Disclosures about Market Risk

Not required due to smaller reporting company status.

Item 4. Controls and Procedures

Evaluation of Disclosure Controls and Procedures

Our management, under the supervision and with the participation of the Chief Executive Officer and Chief Financial Officer, has evaluated the effectiveness of our controls and procedures related to our reporting and disclosure obligations (as defined by Rules 13a-15(e) and 15d-15(e) within the Exchange Act of 1934) as of March 31, 2024, which is the end of the period covered by this Quarterly Report on Form 10-Q. Based on that evaluation, the Chief Executive Officer and Chief Financial Officer have concluded that, as of March 31, 2024, the disclosure controls and procedures were effective to ensure that information required to be disclosed by us in the reports we file or submit under the Exchange Act, is recorded, processed, summarized and reported, as applicable, within the time periods specified in the rules and forms of the Securities and Exchange Commission, and are designed to ensure that information required to be disclosed by us in the reports that we file or submit is accumulated and communicated to our management, including our Chief Executive Officer and Chief Financial Officer, to allow timely decisions regarding required disclosure.

Changes in Internal Control over Financial Reporting

There were no changes that occurred during the fiscal quarter covered by this Quarterly Report on Form 10-Q that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.

25

PART II – Other Information

Item 1. Legal Proceedings

Refer to Note 12 of the Condensed Consolidated Financial Statements in this report for information regarding legal proceedings.

Item 1A. Risk Factors

The risk factors disclosed in Part I, Item 1A Risk Factors in our Annual Report on Form 10-K for the year ended December 31, 2023 set forth information relating to various risks and uncertainties that could materially adversely affect our business, financial condition and operating results. Such risk factors continue to be relevant to an understanding of our business, financial condition and operating results. As of the date of this Quarterly Report on Form 10-Q, there have been no material changes with respect to such risk factors.

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

On November 2, 2023, the Company's board of directors approved a share repurchase plan authorizing the Company to repurchase up to $20.0 million of the Company's common stock, par value $0.001 per share. This authorization expires on December 31, 2024. Under the share repurchase plan, the Company may purchase shares through privately negotiated transactions or through open market purchases, including through plans complying with Rule 10b5-1 under the Exchange Act. The extent and timing of repurchases will depend upon a variety of factors, including market conditions, regulatory requirements and other corporate considerations, as determined by the Company.

On December 6, 2023, the Company entered into a Stock Repurchase Agreement with Parallel49, which is one of the Company’s majority stockholders. Pursuant to this agreement, the Company has agreed to purchase from Parallel49, and Parallel49 has agreed to sell to the Company, three times the number of shares of the Company’s common stock acquired by the Company in the open market from time to time from non-Parallel49 holders during the period commencing from the date of this agreement and ending on March 31, 2024, up to a maximum of 325,000 shares. On March 14, 2024, the Company entered into a similar agreement with Parallel49 for the period commencing from April 1, 2024 and ending on June 30, 2024, pursuant to which the Company may purchase up to a maximum of 325,000 shares during such period.

The following table sets forth share repurchases for each of the three months of the quarter ended March 31, 2024:

Period

Total Number of
Shares Purchased

Average Price
Paid per Share

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

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

January 1 - 31

23,876

$

18.58

23,876

$

17,270

February 1 - 29

22,650

$

18.96

22,650

$

15,578

March 1 - 31

21,732

$

17.28

21,732

$

14,098

Total

68,258

$

18.29

68,258

(a) Reflects shares repurchased and retired under the 2023 repurchase authorization and does not include the 244,314 shares that were repurchased from Parallel49 in April 2024 in accordance with the Stock Repurchase Agreement entered into on December 6, 2023.

(b) Reflects the $20.0 million repurchase authorization less completed open market purchases and $4.4 million allocated to repurchases from Parallel49, representing 244,314 shares, in accordance with the Stock Repurchase Agreement entered into on December 6, 2023.

Item 3. Defaults Upon Senior Securities

None.

Item 4. Mine Safety Disclosures

Not applicable.

26

Item 5. Other Information

During the three months ended March 31, 2024, no directors or officers of the Company adopted or terminated any Rule 10b5-1 trading arrangements or non-Rule 10b5-1 trading arrangements (each as defined in Item 408(a) of Regulation S-K).

Item 6. Exhibits

Exhibit
Number

Exhibit Description

10.1

Employment Agreement, dated January 25, 2024, by and between CPI Card Group Inc. and John Lowe (incorporated by reference to the Company’s Annual Report on Form 10-K filed March 7, 2024).

31.1

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

31.2

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

32.1

Certification of Chief Executive Officer pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.

32.2

Certification of Chief Financial Officer pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.

101.INS

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

101.SCH

Inline XBRL Taxonomy Extension Schema Document.

101.CAL

Inline XBRL Taxonomy Extension Calculation Linkbase Document.

101.LAB

Inline XBRL Taxonomy Extension Label Linkbase Document.

101.PRE

Inline XBRL Taxonomy Extension Presentation Linkbase Document.

101.DEF

Inline XBRL Taxonomy Extension Definition Linkbase Document.

104

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

27

SIGNATURES

Pursuant to the requirement 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.

CPI CARD GROUP INC.

May 7, 2024

/s/ John Lowe

John Lowe

President and Chief Executive Officer

(Principal Executive Officer)

May 7, 2024

/s/ Jeffrey Hochstadt

Jeffrey Hochstadt

Chief Financial Officer

(Principal Financial Officer)

May 7, 2024

May 7, 2024

/s/ Donna Abbey Carmignani

Donna Abbey Carmignani

Chief Accounting Officer

(Principal Accounting Officer)

28

EX-31.1 2 pmts-20240331xex31d1.htm EX-31.1

Exhibit 31.1

CERTIFICATION PURSUANT TO SECTION 302

OF THE SARBANES-OXLEY ACT OF 2002

I, John Lowe, certify that:

1.

I have reviewed this Quarterly Report on Form 10-Q of CPI Card Group Inc.;

2.

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

3.

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

4.

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

a)

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

b)

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

c)

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

d)

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

5.

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

a)

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

b)

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

Date: May 7, 2024

/s/ John Lowe

John Lowe

President and Chief Executive Officer

(Principal Executive Officer)


EX-31.2 3 pmts-20240331xex31d2.htm EX-31.2

Exhibit 31.2

CERTIFICATION PURSUANT TO SECTION 302

OF THE SARBANES-OXLEY ACT OF 2002

I, Jeffrey Hochstadt, certify that:

1.

I have reviewed this Quarterly Report on Form 10-Q of CPI Card Group Inc.;

2.

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

3.

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

4.

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

a)

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

b)

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

c)

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

d)

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

5.

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

a)

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

b)

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

Date: May 7, 2024

/s/ Jeffrey Hochstadt

Jeffrey Hochstadt

Chief Financial Officer

(Principal Financial Officer)


EX-32.1 4 pmts-20240331xex32d1.htm EX-32.1

Exhibit 32.1

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

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

In connection with the Quarterly Report on Form 10-Q of CPI Card Group Inc. (the “Company”) for the period ended March 31, 2024, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, John Lowe, President and Chief Executive Officer of the Company, certify to the best of my knowledge, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:

(1) The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934, and

(2) The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

/s/ John Lowe

John Lowe

President and Chief Executive Officer

(Principal Executive Officer)

Date: May 7, 2024


EX-32.2 5 pmts-20240331xex32d2.htm EX-32.2

Exhibit 32.2

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

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

In connection with the Quarterly Report on Form 10-Q of CPI Card Group Inc. (the “Company”) for the period ended March 31, 2024, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Jeffrey Hochstadt, Chief Financial Officer of the Company, certify to the best of my knowledge, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:

(1) The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934, and

(2) The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

/s/ Jeffrey Hochstadt

Jeffrey Hochstadt

Chief Financial Officer

(Principal Financial Officer)

Date: May 7, 2024


EX-101.SCH 6 pmts-20240331.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 Income link:presentationLink link:calculationLink link:definitionLink 00201 - Statement - Condensed Consolidated Statements of Operations and Comprehensive Income (Calc 2) link:presentationLink link:calculationLink link:definitionLink 00400 - Statement - Condensed Consolidated Statements of Cash Flows link:presentationLink link:calculationLink link:definitionLink 40301 - Disclosure - Accounts Receivable (Details) link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - Inventories (Details) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets (Details) link:presentationLink link:calculationLink link:definitionLink 40701 - Disclosure - Accrued Expenses (Details) link:presentationLink link:calculationLink link:definitionLink 40801 - Disclosure - Long-Term Debt - Long-Term Debt (Details) link:presentationLink link:calculationLink link:definitionLink 40902 - Disclosure - Income Taxes - Effective Income Tax Rate Reconciliation (Details) link:presentationLink link:calculationLink link:definitionLink 41001 - Disclosure - Long-Term Debt and Credit Facility - Long-Term Debt (Details)Calc2 link:presentationLink link:calculationLink link:definitionLink 41101 - Disclosure - Earnings per Share (Details) link:presentationLink link:calculationLink link:definitionLink 41402 - Disclosure - Segment Reporting - Reconciliation of EBITDA to net income (Details) link:presentationLink link:calculationLink link:definitionLink 00090 - Document - Document and Entity Information 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' Deficit link:presentationLink link:calculationLink link:definitionLink 10101 - Disclosure - Business Overview and Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 10201 - Disclosure - Net Sales link:presentationLink link:calculationLink link:definitionLink 10301 - Disclosure - Accounts Receivable link:presentationLink link:calculationLink link:definitionLink 10401 - Disclosure - Inventories link:presentationLink link:calculationLink link:definitionLink 10501 - Disclosure - Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets link:presentationLink link:calculationLink link:definitionLink 10601 - Disclosure - Fair Value of Financial Instruments link:presentationLink link:calculationLink link:definitionLink 10701 - Disclosure - Accrued Expenses link:presentationLink link:calculationLink link:definitionLink 10801 - Disclosure - Long-Term Debt link:presentationLink link:calculationLink link:definitionLink 10901 - Disclosure - Income Taxes link:presentationLink link:calculationLink link:definitionLink 11001 - Disclosure - Stockholders' Deficit link:presentationLink link:calculationLink link:definitionLink 11101 - Disclosure - Earnings per Share link:presentationLink link:calculationLink link:definitionLink 11201 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 11301 - Disclosure - Stock-Based Compensation link:presentationLink link:calculationLink link:definitionLink 11401 - Disclosure - Segment Reporting link:presentationLink link:calculationLink link:definitionLink 20102 - Disclosure - Business Overview and Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 30203 - Disclosure - Net Sales (Tables) link:presentationLink link:calculationLink link:definitionLink 30303 - Disclosure - Accounts Receivable (Tables) link:presentationLink link:calculationLink link:definitionLink 30403 - Disclosure - Inventories (Tables) link:presentationLink link:calculationLink link:definitionLink 30503 - Disclosure - Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 30603 - Disclosure - Fair Value of Financial Instruments (Tables) link:presentationLink link:calculationLink link:definitionLink 30703 - Disclosure - Accrued Expenses (Tables) link:presentationLink link:calculationLink link:definitionLink 30803 - Disclosure - Long-Term Debt (Tables) link:presentationLink link:calculationLink link:definitionLink 30903 - Disclosure - Income Taxes (Tables) link:presentationLink link:calculationLink link:definitionLink 31103 - Disclosure - Earnings per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 31403 - Disclosure - Segment Reporting (Tables) link:presentationLink link:calculationLink link:definitionLink 40201 - Disclosure - Net Sales (Details) link:presentationLink link:calculationLink link:definitionLink 40601 - Disclosure - Fair Value of Financial Instruments (Details) link:presentationLink link:calculationLink link:definitionLink 40802 - Disclosure - Long-Term Debt - First Lien Credit Facility (Details) link:presentationLink link:calculationLink link:definitionLink 41001 - Disclosure - Stockholders' Deficit (Details) link:presentationLink link:calculationLink link:definitionLink 41201 - Disclosure - Commitments and Contingencies - Contingencies (Details) link:presentationLink link:calculationLink link:definitionLink 41301 - Disclosure - Stock-Based Compensation - Omnibus Incentive Plan (Details) link:presentationLink link:calculationLink link:definitionLink 41302 - Disclosure - Stock-Based Compensation - Restricted Stock Units (Details) link:presentationLink link:calculationLink link:definitionLink 41303 - Disclosure - Stock-Based Compensation - Additional information (Details) link:presentationLink link:calculationLink link:definitionLink 41401 - Disclosure - Segment Reporting - Revenue and EBITDA from Continuing Operations (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - Income Taxes - Other (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 pmts-20240331_cal.xml EX-101.CAL EX-101.DEF 8 pmts-20240331_def.xml EX-101.DEF EX-101.LAB 9 pmts-20240331_lab.xml EX-101.LAB EX-101.PRE 10 pmts-20240331_pre.xml EX-101.PRE XML 12 R1.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Document and Entity Information - shares
3 Months Ended
Mar. 31, 2024
Apr. 30, 2024
Cover Abstract    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Mar. 31, 2024  
Document Transition Report false  
Entity File Number 001-37584  
Entity Registrant Name CPI Card Group Inc.  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 26-0344657  
Entity Address, Address Line One 10368 W. Centennial Road  
Entity Address, City or Town Littleton  
Entity Address, State or Province CO  
Entity Address, Postal Zip Code 80127  
City Area Code 720  
Local Phone Number 681-6304  
Title of 12(b) Security Common Stock, $0.001 par value  
Trading Symbol PMTS  
Security Exchange Name NASDAQ  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Accelerated Filer  
Entity Small Business true  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   11,122,466
Entity Central Index Key 0001641614  
Current Fiscal Year End Date --12-31  
Document Fiscal Year Focus 2024  
Document Fiscal Period Focus Q1  
Amendment Flag false  
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Condensed Consolidated Balance Sheets - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Current assets:    
Cash and cash equivalents $ 17,144 $ 12,413
Accounts receivable, net 68,539 73,724
Inventories, net 83,381 70,594
Prepaid expenses and other current assets 11,862 8,647
Total current assets 180,926 165,378
Plant, equipment, leasehold improvements and operating lease right-of-use assets, net of accumulated depreciation of $70,039 and $66,436 respectively 61,033 63,053
Intangible assets, net of accumulated amortization of $52,731 and $51,763 respectively 13,154 14,122
Goodwill 47,150 47,150
Other assets 17,517 3,980
Total assets 319,780 293,683
Current liabilities:    
Accounts payable 23,643 12,802
Accrued expenses 49,203 35,803
Deferred revenue and customer deposits 1,172 840
Total current liabilities 74,018 49,445
Long-term debt 265,326 264,997
Deferred income taxes 6,742 7,139
Other long-term liabilities 22,145 24,038
Total liabilities 368,231 345,619
Commitments and contingencies (Note 12)
Series A Preferred Stock; $0.001 par value-100,000 shares authorized; 0 shares issued and outstanding at March 31, 2024 and December 31, 2023
Stockholders' deficit:    
Common stock; $0.001 par value-100,000,000 shares authorized; 11,391,476 and 11,446,155 shares issued and outstanding at March 31, 2024 and December 31, 2023, respectively 11 11
Capital deficiency (104,193) (102,223)
Accumulated earnings 55,731 50,276
Total stockholders' deficit (48,451) (51,936)
Total liabilities and stockholders' deficit $ 319,780 $ 293,683
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Condensed Consolidated Balance Sheets (Parenthetical) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Condensed Consolidated Balance Sheets    
Accumulated depreciation and amortization $ 70,039 $ 66,436
Intangible assets accumulated amortization $ 52,731 $ 51,763
Preferred shares, par value (in dollars per share) $ 0.001 $ 0.001
Preferred shares, authorized shares (in shares) 100,000 100,000
Preferred shares, issued shares (in shares) 0 0
Preferred shares, outstanding shares (in shares) 0 0
Common shares, par value (in dollars per share) $ 0.001 $ 0.001
Common shares, authorized shares (in shares) 100,000,000 100,000,000
Common shares, issued shares (in shares) 11,391,476 11,446,155
Common shares, outstanding shares (in shares) 11,391,476 11,446,155
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Condensed Consolidated Statements of Operations and Comprehensive Income - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Net sales:    
Net sales $ 111,936 $ 120,852
Cost of sales:    
Depreciation and amortization 2,687 2,374
Total cost of sales 70,418 77,758
Gross profit 41,518 43,094
Operating expenses:    
Selling, general and administrative (exclusive of depreciation and amortization shown below) 26,043 21,066
Depreciation and amortization 1,330 1,430
Total operating expenses 27,373 22,496
Income from operations 14,145 20,598
Other expense, net:    
Interest, net (6,425) (6,781)
Other expense, net (65) (114)
Total other expense, net (6,490) (6,895)
Income before income taxes 7,655 13,703
Income tax expense (2,200) (2,830)
Net income $ 5,455 $ 10,873
Basic earnings per share: (in dollars per share) $ 0.48 $ 0.95
Diluted earnings per share: (in dollars per share) $ 0.46 $ 0.91
Basic weighted-average shares outstanding (in shares) 11,266,699 11,394,919
Diluted weighted-average shares outstanding (in shares) 11,769,364 11,901,581
Comprehensive income:    
Net income $ 5,455 $ 10,873
Total comprehensive income 5,455 10,873
Products    
Net sales:    
Net sales 58,158 75,790
Cost of sales:    
Products and Services (exclusive of depreciation and amortization shown below) 37,802 45,980
Services    
Net sales:    
Net sales 53,778 45,062
Cost of sales:    
Products and Services (exclusive of depreciation and amortization shown below) $ 29,929 $ 29,404
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Condensed Consolidated Statements of Stockholders' Deficit - USD ($)
$ in Thousands
Common Stock
Capital deficiency
Accumulated earnings
Total
Beginning balance at Dec. 31, 2022 $ 11 $ (108,379) $ 26,291 $ (82,077)
Beginning balance (in shares) at Dec. 31, 2022 11,390,355      
Shares issued under stock-based compensation plans   (69)   (69)
Shares issued under stock-based compensation plans (in shares) 34,273      
Stock-based compensation   541   541
Components of comprehensive income:        
Net income     10,873 10,873
Ending balance at Mar. 31, 2023 $ 11 (107,907) 37,164 (70,732)
Ending balance (in shares) at Mar. 31, 2023 11,424,628      
Beginning balance at Dec. 31, 2023 $ 11 (102,223) 50,276 $ (51,936)
Beginning balance (in shares) at Dec. 31, 2023 11,446,155     11,446,155
Shares issued under stock-based compensation plans   (109)   $ (109)
Shares issued under stock-based compensation plans (in shares) 13,579      
Stock-based compensation   3,060   3,060
Repurchase and retirement of common shares   (4,921)   $ (4,921)
Repurchase and retirement of common shares (in shares) (68,258)     (68,258)
Components of comprehensive income:        
Net income     5,455 $ 5,455
Ending balance at Mar. 31, 2024 $ 11 $ (104,193) $ 55,731 $ (48,451)
Ending balance (in shares) at Mar. 31, 2024 11,391,476     11,391,476
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Condensed Consolidated Statements of Cash Flows - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Operating activities    
Net income $ 5,455 $ 10,873
Adjustments to reconcile net income to net cash provided by operating activities:    
Depreciation expense 3,049 2,837
Amortization expense 968 967
Stock-based compensation expense 3,060 541
Amortization of debt issuance costs and debt discount 459 473
Loss on debt extinguishment   119
Deferred income taxes (397) (271)
Other, net 223 12
Changes in operating assets and liabilities:    
Accounts receivable, net 5,171 4,335
Inventories (12,984) (1,464)
Prepaid expenses and other assets (17,610) 310
Income taxes, net 728 550
Accounts payable 10,681 1,533
Accrued expenses and other liabilities 9,730 (11,358)
Deferred revenue and customer deposits 332 (1,456)
Cash provided by operating activities 8,865 8,001
Investing activities    
Capital expenditures for plant, equipment and leasehold improvements, net (1,506) (4,145)
Other   50
Cash used in investing activities (1,506) (4,095)
Financing activities    
Principal payments on Senior Notes   (7,903)
Proceeds from ABL Revolver   8,000
Other (109) (69)
Payments on finance lease obligations (1,269) (820)
Common stock repurchased (1,250)  
Cash used in financing activities (2,628) (792)
Effect of exchange rates on cash   6
Net increase in cash and cash equivalents 4,731 3,120
Cash and cash equivalents, beginning of period 12,413 11,037
Cash and cash equivalents, end of period 17,144 14,157
Supplemental disclosures of cash flow information    
Cash paid (refunded) during the period for: Interest 11,903 12,608
Cash paid (refunded) during the period for: Income taxes paid 16 28
Cash paid (refunded) during the period for: Income taxes refunded (163)  
Right-of-use assets obtained in exchange for lease obligations- Operating leases   168
Right-of-use assets obtained in exchange for lease obligations- Financing leases   2,169
Accounts payable and accrued expenses for capital expenditures for plant, equipment and leasehold improvements 263 $ 422
Unsettled share repurchases included in accrued expenses $ 4,404  
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Business Overview and Summary of Significant Accounting Policies
3 Months Ended
Mar. 31, 2024
Business Overview and Summary of Significant Accounting Policies  
Business Overview and Summary of Significant Accounting Policies

CPI Card Group Inc. and Subsidiaries

Notes to Condensed Consolidated Financial Statements

(dollars in thousands, except share and per share amounts or as otherwise indicated)

(Unaudited)

1. Business Overview and Summary of Significant Accounting Policies

Business Overview

CPI Card Group Inc. (which, together with its subsidiary companies, is referred to herein as “CPI” or the “Company”) is a payments technology company and leading provider of comprehensive Financial Payment Card solutions in the United States. CPI is engaged in the design, production, data personalization, packaging and fulfillment of Financial Payment Cards, which the Company defines as credit, debit and Prepaid Debit Cards (defined below) issued on the networks of the Payment Card Brands (Visa, Mastercard®, American Express® and Discover®). CPI defines “Prepaid Debit Cards” as debit cards issued on the networks of the Payment Card Brands, but not linked to a traditional bank account. CPI also offers an instant card issuance solution, which provides customers the ability to issue a personalized debit or credit card within the bank branch to individual cardholders.

CPI serves its customers through a network of high-security production and card services facilities in the United States, each of which is audited for compliance with the standards of the Payment Card Industry Security Standards Council (“PCI Security Standards Council”) by one or more of the Payment Card Brands. CPI’s network of high-security production facilities allows the Company to optimize its solutions offerings and serve its customers.

The Company’s business consists of the following reportable segments: Debit and Credit, Prepaid Debit and Other. The Debit and Credit segment primarily produces Financial Payment Cards and provides integrated card services to card-issuing financial institutions primarily in the United States. The Prepaid Debit segment primarily provides integrated card services to Prepaid Debit Card program managers primarily in the United States. The Company’s “Other” segment includes corporate expenses.

Basis of Presentation

Certain information and footnote disclosures normally included in financial statements prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) have been condensed or omitted pursuant to Form 10-Q and Article 8 of Regulation S-X. In the opinion of management, these financial statements reflect all adjustments (consisting of normal recurring adjustments) considered necessary for the fair statement of the results of the interim periods presented. The condensed consolidated balance sheet as of December 31, 2023 is derived from the audited financial statements as of that date. The accompanying condensed consolidated financial statements should be read in conjunction with the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2023.

Use of Estimates

Management uses estimates and assumptions relating to the reporting of assets and liabilities at the date of the financial statements, the reported revenues and expenses recognized during the reporting period, and certain financial statement disclosures in the preparation of the condensed consolidated financial statements. Significant items subject to such estimates and assumptions include the carrying amount of property and equipment, goodwill and intangible assets, leases, valuation allowances for inventories and deferred taxes, revenue recognized for work performed but not completed and uncertain tax positions. Actual results could differ from those estimates.

Recent Accounting Pronouncements

Recently Issued Accounting Pronouncements

In November 2023, the Financial Accounting Standards Board issued ASU 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures, which will require enhanced segment disclosures. Adoption of this accounting standard is effective for the Company for fiscal years beginning after December 15, 2023. The Company has elected not to early adopt this accounting standard. The Company is evaluating the impact of adoption of this standard and does not anticipate that the application of ASU 2023-07 will have a material impact on the Company’s consolidated financial position, results of operations, or cash flows.

In December 2023, the Financial Accounting Standards Board issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures which will require a disaggregated rate reconciliation disclosure as well as additional information regarding taxes paid. Adoption of this accounting standard is effective for the Company for fiscal years beginning after December 15, 2024. The Company has elected not to early adopt this accounting standard. The Company is evaluating the impact of adoption of this standard and does not anticipate that the application of ASU 2023-09 will have a material impact on the Company’s consolidated financial position, results of operations, or cash flows.

XML 19 R8.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Net Sales
3 Months Ended
Mar. 31, 2024
Net Sales.  
Net Sales

2. Net Sales

The Company disaggregates its net sales by major source as follows:

Three Months Ended March 31, 2024

Products

Services

Total

Debit and Credit

$

58,371

$

29,602

$

87,973

Prepaid Debit

24,198

24,198

Intersegment eliminations

(213)

 

(22)

 

(235)

Total

$

58,158

$

53,778

$

111,936

Three Months Ended March 31, 2023

Products

Services

Total

Debit and Credit

$

76,032

$

25,953

$

101,985

Prepaid Debit

19,130

19,130

Intersegment eliminations

(242)

 

(21)

 

(263)

Total

$

75,790

$

45,062

$

120,852

Products Net Sales

“Products” net sales are recognized when obligations under the terms of a contract with a customer are satisfied. In most instances, this occurs over time as cards are produced for specific customers and have no alternative use and the Company has an enforceable right to payment for work performed. For work performed but not completed and unbilled, the Company estimates revenue by taking actual costs incurred and applying historical margins for similar types of contracts. Items included in “Products” net sales are the design and production of Financial Payment Cards, including contact-EMV®, contactless dual-interface EMV, contactless and magnetic stripe cards, CPI’s eco-focused solutions, including Second Wave® and Earthwise® cards made with upcycled plastic, metal cards, private label credit cards and retail gift cards. Card@Once® printers and consumables are also included in “Products” net sales, and their associated revenues are recognized at the time of shipping. The Company includes gross shipping and handling revenue in net sales, and shipping and handling costs in cost of sales.

Europay, Mastercard and Visa (“EMV®”) is a global technical standard maintained by EMV Co, LLC. EMV® is a registered trademark in the U.S. and other countries and an unregistered trademark elsewhere. The EMV trademark is owned by EMV Co, LLC.

Services Net Sales

Net sales are recognized for “Services” as the services are performed. Items included in “Services” net sales include the personalization and fulfillment of Financial Payment Cards, providing tamper-evident secure packaging and fulfillment services to Prepaid Debit Card program managers, and software-as-a-service personalization of instant

issuance debit cards. As applicable, for work performed but not completed and unbilled, the Company estimates revenue by taking actual costs incurred and applying historical margins for similar types of contracts.

Customer Contracts

The Company often enters into Master Services Agreements (“MSAs”) with its customers. Generally, enforceable rights and obligations for goods and services occur only when a customer places a purchase order or statement of work to obtain goods or services under an MSA. The contract term as defined by ASC 606, Revenue from Contracts with Customers, is the length of time it takes to deliver the goods or services promised under the purchase order or statement of work. As such, the Company's contracts are generally short term in nature.

Costs to Obtain a Contract with a Customer

Costs to obtain a contract (“contract costs”) include only those costs incurred to obtain a contract that the Company would not have incurred if the contract had not been obtained. For contracts where the term is greater than one year, these costs are recorded as an asset and amortized consistent with the timing of the related revenue over the life of the contract. The current portion of the asset is included in “prepaid expenses and other current assets” and the noncurrent portion is included in “other assets” on the Company's condensed consolidated balance sheets. Contract costs incurred but unpaid are included in “accrued expenses” on the Company's condensed consolidated balance sheets. Contract costs are expensed as incurred when the amortization period is one year or less.

XML 20 R9.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accounts Receivable
3 Months Ended
Mar. 31, 2024
Accounts Receivable  
Accounts Receivable

3. Accounts Receivable

Accounts receivable consisted of the following:

March 31, 

December 31, 

2024

2023

Trade accounts receivable

$

59,788

 

$

69,245

Unbilled accounts receivable

8,997

 

4,725

68,785

 

73,970

Less allowance for credit losses

(246)

(246)

$

68,539

$

73,724

XML 21 R10.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Inventories
3 Months Ended
Mar. 31, 2024
Inventories  
Inventories

4. Inventories

Inventories consisted of the following:

March 31, 

December 31, 

2024

2023

Raw materials

$

79,825

 

$

66,210

Finished goods

6,531

 

7,162

Inventory reserve

(2,975)

(2,778)

$

83,381

 

$

70,594

XML 22 R11.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets
3 Months Ended
Mar. 31, 2024
Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets  
Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets

5

5. Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets

Plant, equipment, leasehold improvements and operating lease right-of-use assets consisted of the following:

March 31, 

December 31, 

2024

2023

Machinery and equipment

$

68,466

 

$

67,506

Machinery and equipment under financing leases

23,774

23,774

Furniture, fixtures and computer equipment

160

 

107

Leasehold improvements

17,419

 

16,335

Construction in progress

1,264

 

1,778

Operating lease right-of-use assets

19,989

19,989

131,072

129,489

Less accumulated depreciation and amortization

(70,039)

 

(66,436)

$

61,033

 

$

63,053

XML 23 R12.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value of Financial Instruments
3 Months Ended
Mar. 31, 2024
Fair Value of Financial Instruments  
Fair Value of Financial Instruments

6. Fair Value of Financial Instruments

Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date (exit price). In determining fair value, the Company utilizes a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value into three broad levels. The following is a brief description of those three levels:

    Level 1—Valuations based on unadjusted quoted prices in active markets for identical assets or liabilities accessible to the reporting entity at the measurement date.

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

    Level 3— Valuations based on unobservable inputs for the asset or liability used to measure fair value to the extent that observable inputs are not available, thereby allowing for situations in which there is little, if any, market activity for the asset or liability at the measurement date.

The Company’s financial assets and liabilities that are not required to be re-measured at fair value in the condensed consolidated balance sheets were as follows:

Carrying

Estimated

Value as of 

Fair Value as of 

Fair Value Measurement at March 31, 2024

March 31, 

March 31, 

 (Using Fair Value Hierarchy)

2024

2024

Level 1

Level 2

Level 3

Liabilities:

    

    

    

    

Senior Notes

$

267,897

$

267,147

$

$

267,147

$

Carrying

Estimated

 Value as of

Fair Value as of

Fair Value Measurement at December 31, 2023

December 31, 

December 31, 

 (Using Fair Value Hierarchy)

2023

2023

Level 1

Level 2

Level 3

Liabilities:

    

    

    

    

Senior Notes

$

267,897

 

$

261,834

$

 

$

261,834

$

The aggregate fair value of the Company’s Senior Notes (as defined in Note 8, “Long-Term Debt”) was based on bank quotes. The carrying amounts for cash and cash equivalents, accounts receivable and accounts payable each approximate fair value due to their short-term nature.

XML 24 R13.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accrued Expenses
3 Months Ended
Mar. 31, 2024
Accrued Expenses.  
Accrued Expenses

7. Accrued Expenses

Accrued expenses consisted of the following:

March 31, 

December 31,

2024

2023

Accrued payroll and related employee expenses

$

8,146

 

$

11,431

Accrued employee performance bonuses

2,009

 

667

Employer payroll taxes

1,377

 

298

Accrued rebates

1,540

2,919

Capitalized contract costs payable

15,000

Accrued interest

999

6,830

Current operating and financing lease liabilities

7,195

7,318

Accrued share repurchases

4,404

733

Other

8,533

5,607

Total accrued expenses

$

49,203

$

35,803

Other accrued expenses as of March 31, 2024, and December 31, 2023, consisted primarily of federal income and sales tax accruals, as well as self-insurance claims that have yet to be reported.

XML 25 R14.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Long-Term Debt
3 Months Ended
Mar. 31, 2024
Long-Term Debt.  
Long-Term Debt

8. Long-Term Debt

As of March 31, 2024, and December 31, 2023, long-term debt consisted of the following:

March 31, 

    

December 31, 

2024

2023

Senior Notes (1)

$

267,897

$

267,897

Unamortized deferred financing costs

 

(2,571)

 

(2,900)

Total long-term debt

265,326

264,997

Less current maturities

Long-term debt, net of current maturities

$

265,326

$

264,997

(1)The Senior Notes bear interest at a fixed rate of 8.625%.

Senior Notes

On March 15, 2021, the Company completed an offering by its wholly-owned subsidiary, CPI CG Inc., of $310.0 million aggregate principal amount of 8.625% Senior Secured Notes due 2026 (the “Senior Notes”) and related guarantees. The Senior Notes bear interest at a rate of 8.625% per annum and mature on March 15, 2026. Interest is payable on the Senior Notes on March 15 and September 15 of each year.

The Company has obligations to make an offer to repay the Senior Notes, requiring prepayment in advance of the maturity date, upon the occurrence of certain events including a change of control, certain asset sales and based on an annual excess cash flow calculation. The annual excess cash flow calculation is determined pursuant to the terms of that certain Indenture, dated as of March 15, 2021, by and among CPI CG Inc., the Company, the subsidiary guarantors and U.S. Bank National Association, as trustee, with any required prepayments to be made after the issuance of the Company’s annual financial statements. No such payment is required to be made in 2024 and was not required to be made in 2023 based on the Company’s operating results for the years ended December 31, 2023 and 2022, respectively.

ABL Revolver

On March 15, 2021, the Company and CPI CG Inc., as borrower, entered into a Credit Agreement with Wells Fargo Bank, National Association, as lender, administrative agent and collateral agent, providing for an asset-based, senior secured revolving credit facility (the “ABL Revolver”). The ABL Revolver matures on the earliest to occur of March 15, 2026 and the date that is 90 days prior to the maturity of the Senior Notes. On March 3, 2022, the Company and CPI CG Inc. entered into Amendment No. 1 to the Credit Agreement (the “Amendment”), which amended the ABL Revolver. The Amendment, among other things, increased the available borrowing capacity under the ABL Revolver to

$75.0 million, increased the uncommitted accordion feature to $25.0 million from $15.0 million, and revised the interest rate provisions to replace the prior LIBOR benchmark with updated benchmark provisions using the secured overnight financing rate (“SOFR”) as administered by the Federal Reserve Bank of New York. On October 11, 2022, the Company and CPI CG Inc. entered into Amendment No. 2 to the Credit Agreement, which amended the ABL Revolver to adjust certain monthly document delivery terms and to clarify the treatment of certain inventory.

Borrowings under the amended ABL Revolver bear interest at a rate per annum equal to the applicable term SOFR adjusted for a credit spread, plus an applicable interest rate margin. The Company may select a one, three or six-month term SOFR, which is adjusted for a credit spread of 0.10% to 0.30% depending on the term selected. Through March 31, 2023, the applicable interest rate margin ranged from 1.50% to 1.75% depending on the average excess availability of the facility for the most recently completed quarter. The unused portion of the ABL Revolver commitment accrued a monthly unused line fee, 0.50% per annum through March 31, 2023, multiplied by the aggregate amount of Revolver commitments less the average Revolver usage during the immediately preceding month. The interest rate margin and unused line fee percentage changed, effective April 1, 2023, to between 1.25% and 1.75% (interest rate margin) and 0.375% and 0.50% (unused line fee).

Deferred Financing Costs and Discount

Certain costs and discounts incurred with borrowings are reflected as a reduction to the long-term debt balance. These costs are amortized as an adjustment to interest expense over the life of the borrowing using the effective-interest rate method. The remaining unamortized debt issuance costs recorded on the Senior Notes were $2.6 million and are reported as a reduction to the long-term debt balance as of March 31, 2024. The remaining unamortized net discount and debt issuance costs on the ABL Revolver and related Amendment were $0.9 million and are recorded as other assets (current and long-term) on the consolidated balance sheet as of March 31, 2024.

XML 26 R15.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Income Taxes
3 Months Ended
Mar. 31, 2024
Income Taxes  
Income Taxes

9. Income Taxes

The Company’s effective tax rates on pre-tax income were 28.7% and 20.7% for the three months ended March 31, 2024 and 2023, respectively. The increase in the effective tax rate for the three months ended March 31, 2024 compared to the corresponding period in the prior year primarily was due to the reduction of a valuation allowance in the first quarter of 2023 related to a state’s law change.

For the three months ended March 31, 2024 and 2023, the effective tax rate differs from the U.S. federal statutory income tax rate as follows:

March 31, 

2024

    

2023

Tax at federal statutory rate

21.0

%

21.0

%

State taxes, net

6.1

4.7

Valuation allowance

(5.2)

Permanent items

3.0

1.2

Deductibility limitations on excess compensation

(1.8)

0.1

Other

0.4

(1.1)

Effective income tax rate

28.7

%

20.7

%

XML 27 R16.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stockholders' Deficit
3 Months Ended
Mar. 31, 2024
Stockholders' Deficit  
Stockholders' Deficit

10. Stockholders’ Deficit

Share Repurchases

On November 2, 2023, the Company's board of directors approved a share repurchase plan authorizing the Company to repurchase up to $20.0 million of the Company's common stock, par value $0.001 per share. This authorization expires on December 31, 2024.

During the three months ended March 31, 2024, the Company repurchased 68,258 shares of its common stock at an average price of $18.29 per share, excluding commissions, or $1.2 million in aggregate, on a trade date basis. In accordance with the Stock Repurchase Agreement entered into on December 6, 2023, the Company is obligated to purchase 244,314 shares from Tricor Pacific Capital Partners (Fund IV) US, LP, which is one of the Company’s majority stockholders and affiliated with Parallel49 Equity, at an average price of $18.03 per share, as of March 31, 2024. This

obligation is based on a multiple of the number of shares the Company purchased in the open market from the date of the agreement through March 31, 2024, payment for which is due in the second quarter of 2024. As of March 31, 2024, the Company had an authorized amount of $14.1 million remaining under the share repurchase plan.

XML 28 R17.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Earnings per Share
3 Months Ended
Mar. 31, 2024
Earnings per Share  
Earnings per Share

11. Earnings per Share

Basic and diluted earnings per share is computed by dividing net income by the weighted-average number of common shares outstanding during the period. The Company's calculation of weighted-average shares outstanding has been reduced by 244,314 shares that the Company is obligated to repurchase from Parallel49 in April 2024. Shares excluded from the calculation of diluted earnings per share because their inclusion would be anti-dilutive were 39,933 and 28,831 for the three months ended March 31, 2024 and 2023, respectively.

The following table sets forth the computation of basic and diluted earnings per share:

Three Months Ended March 31, 

2024

    

2023

Numerator:

Net income

$

5,455

$

10,873

Denominator:

Basic weighted-average common shares outstanding

 

11,266,699

 

11,394,919

Dilutive shares

502,665

506,662

Diluted weighted-average common shares outstanding

11,769,364

11,901,581

Basic earnings per share

$

0.48

$

0.95

Diluted earnings per share

$

0.46

$

0.91

XML 29 R18.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Commitments and Contingencies
3 Months Ended
Mar. 31, 2024
Commitments and Contingencies  
Commitments and Contingencies

12. Commitments and Contingencies

Contingencies

In accordance with applicable accounting guidance, the Company establishes an accrued expense when loss contingencies are both probable and estimable. In such cases, there may be an exposure to loss in excess of any amounts accrued. As a matter develops, the Company, in conjunction with any outside counsel handling the matter, evaluates on an ongoing basis whether such matter presents a loss contingency that is probable and estimable. Once the loss contingency is deemed to be both probable and estimable, the Company will establish an accrued expense and record a corresponding amount of expense. The Company expenses professional fees associated with litigation claims and assessments as incurred.

Smart Packaging Solutions SA v. CPI Card Group Inc.

On April 20, 2021, Smart Packaging Solutions, SA (“SPS”) filed a patent infringement lawsuit against the Company in the United States District Court for the District of Delaware seeking an unspecified amount of damages and equitable relief. In the complaint, SPS alleges that the Company infringed four patents that SPS has exclusively licensed from Feinics AmaTech Teoranta. The patents all relate to antenna technology. SPS alleges that the Company incorporates the patented technology into its products that use contactless communication. The Company does not produce antennas; it purchases certain antenna-related components from SPS and a number of other suppliers. The Company’s motion to dismiss the complaint is currently pending. Additionally, a third party, Infineon, filed requests for Inter Parties Review (“IPR”) proceedings concerning each of the four patents. As a result, the Delaware District Court stayed the case pending resolution of the requests for review. The United States Patent Office has instituted proceedings with respect to all of the IPR requests; three of the patents have been invalidated in the IPR proceedings and any remaining claims in the fourth patent that are relevant to the Company have also been invalidated. While no assurance can be given that this matter will be resolved favorably, the patent owner has dismissed its appeals related to the three previously invalidated patents and the Company expects the pending litigation will be dismissed as a result of these developments.

In addition to the matter described above, the Company may be subject to routine legal proceedings in the ordinary course of business. The Company believes that the ultimate resolution of any such matters will not have a material adverse effect on its business, financial condition or results of operations.

Voluntary Disclosure Program

The Company is subject to unclaimed or abandoned property (escheat) laws which require it to turn over to state governmental authorities the property of others held by the Company that has been unclaimed for specified periods of time. Property subject to escheat laws generally relates to uncashed checks, trade accounts receivable credits and unpaid payable balances. During the second quarter of 2022, the Company received a letter from the Delaware Secretary of State inviting the Company to participate in the Delaware Secretary of State’s Abandoned or Unclaimed Property Voluntary Disclosure Agreement Program to avoid being sent an audit notice by the Delaware Department of Finance. On August 31, 2022, the Company entered into Delaware’s Voluntary Disclosure Agreement Program in order to voluntarily comply with Delaware’s abandoned property law in exchange for certain protections and benefits. The Company intends to work in good faith to complete a review of its books and records related to unclaimed or abandoned property during the periods required under the program. Any potential loss, or range of loss, that may result from this matter is not currently reasonably estimable.

XML 30 R19.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-Based Compensation
3 Months Ended
Mar. 31, 2024
Stock-Based Compensation  
Stock-Based Compensation

13. Stock-Based Compensation

In October 2015, the Company adopted the CPI Card Group Inc. Omnibus Incentive Plan (as amended and supplemented, the “Omnibus Plan”) pursuant to which cash and equity-based incentives may be granted to participating employees, advisors, and directors. Effective January 30, 2024, the Company’s stockholders approved an amendment to the Omnibus Plan to increase the total number of shares of the Company’s Common Stock reserved and available for issuance thereunder by 1,000,000 shares, resulting in a total of 3,200,000 shares issuable under the Omnibus Plan. As of March 31, 2024, there were 962,285 shares of Common Stock available for grant under the Omnibus Plan.

In June 2023, the Company announced an award comprised of 25% nonqualified stock options and 75% restricted stock units to its CEO at the time as an incentive to remain employed by the Company through February 28, 2024. The first one-third of the awards was granted in June 2023, the second one-third was granted in August 2023, and the remainder was granted in November 2023. All of these awards will vest ratably over a two-year period irrespective of employment status with expense related to these awards to be recognized by the Company through February 28, 2024. As part of the CEO’s incentive package, the requisite service and exercise periods for his awards granted in 2023 prior to June 2023 were also modified with expense related to the modification being recognized in June 2023 through February 2024.

During 2024, executives will receive a quarterly restricted stock unit grant comprising one-fourth of the annual equity-based incentive component of their total compensation. The number of shares awarded will be determined based on a value tied to the monthly average closing price of the Company’s common stock.

As of March 31, 2024, there were 904,438 options outstanding at a weighted average exercise price of $18.87. No options were granted during the three months ended March 31, 2024. Options have 7-year terms and are issued with exercise prices equal to the fair market value of the Company’s common stock on the grant date.

During the three months ended March 31, 2024, the Company granted 89,452 restricted stock units at a weighted average grant date fair value of $18.25, and as of March 31, 2024, there were 786,673 outstanding restricted stock units at a weighted average grant date fair value of $20.55.

In January 2024, the Company granted 60,000 performance stock units (PSU) in connection with the appointment of its CEO, with a grant date fair value of $0.9 million using a Monte Carlo simulation model. The PSU award will vest, subject to continuous employment, in equal one-third increments upon the attainment of the rolling weighted average closing price of the Company’s common stock equaling or exceeding each of $35.00, $50.00, and $65.00, in each case, for at least 90 consecutive trading days during the five-year performance period commencing on the grant date.

All equity awards are contingent and issued only upon approval by the compensation committee of the Company’s board of directors, or as otherwise permitted under the Omnibus Plan. The Company accounts for stock-based compensation pursuant to ASC 718, Share-Based Payments. All stock-based compensation is required to be

measured at fair value and expensed over the requisite service period, generally defined as the applicable vesting period. The Company accounts for forfeitures as they occur and reverses previously recognized expense for the unvested portion of the forfeited shares. Upon the exercise of stock options, shares of common stock are issued from authorized common shares.

XML 31 R20.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment Reporting
3 Months Ended
Mar. 31, 2024
Segment Reporting  
Segment Reporting

14. Segment Reporting

The Company has identified reportable segments that represent 10% or more of its net sales, EBITDA (as defined below) or total assets, or when the Company believes information about the segment would be useful to the readers of the financial statements. The Company’s chief operating decision maker is its Chief Executive Officer, who is charged with management of the Company and is responsible for the evaluation of operating performance and decision making about the allocation of resources to operating segments based on measures, such as net sales and EBITDA.

EBITDA is the primary measure used by the Company’s chief operating decision maker to evaluate segment operating performance. As the Company uses the term, “EBITDA” is defined as income before interest expense, income taxes, depreciation and amortization. The Company’s chief operating decision maker believes EBITDA is a meaningful measure and is useful as a supplement to GAAP measures as it represents a transparent view of the Company’s operating performance that is unaffected by fluctuations in property, equipment and leasehold improvement additions. The Company’s chief operating decision maker uses EBITDA to perform periodic reviews and comparison of operating trends and to identify strategies to improve the allocation of resources amongst segments.

As of March 31, 2024, the Company’s reportable segments were as follows:

    Debit and Credit

    Prepaid Debit

    Other

Debit and Credit Segment

The Debit and Credit segment primarily produces Financial Payment Cards and provides integrated card services, including digital services, for card-issuing financial institutions primarily in the United States. Products produced by this segment primarily include EMV and non-EMV Financial Payment Cards, including contact and contactless cards, and Eco-Focused Cards. The Company also sells Card@Once instant card issuance solutions, and private label credit cards that are not issued on the networks of the Payment Card Brands. The Company provides print-on-demand services, where images, personalized payment cards, and related collateral are produced on a one-by-one, on demand basis for customers. This segment also provides a variety of integrated card services, including card personalization and fulfillment services and instant issuance services. The Debit and Credit segment facilities and operations are audited for compliance with the standards of the PCI Security Standards Council by multiple Payment Card Brands.

Prepaid Debit Segment

The Prepaid Debit segment primarily provides integrated prepaid card services to Prepaid Debit Card providers primarily in the United States, including tamper-evident security packaging. This segment also produces Financial Payment Cards issued on the networks of the Payment Card Brands that are included in the tamper-evident security packages. The Prepaid Debit segment facilities and operations are audited for compliance with the standards of the PCI Security Standards Council by multiple Payment Card Brands.

Other

The Other segment includes corporate expenses.

Performance Measures of Reportable Segments

Net sales and EBITDA of the Company’s reportable segments, as well as a reconciliation of total segment EBITDA to income from operations and net income for the three months ended March 31, 2024 and 2023, were as follows:

Three Months Ended March 31, 2024

Debit and Credit

Prepaid Debit

Other

Intersegment Eliminations

Total

Net sales

$

87,973

$

24,198

$

$

(235)

$

111,936

Cost of sales

56,478

14,175

(235)

70,418

Gross profit

31,495

10,023

41,518

Operating expenses

8,741

1,278

17,354

27,373

Income (loss) from operations

$

22,754

$

8,745

$

(17,354)

$

$

14,145

EBITDA by segment:

Income (loss) from operations

$

22,754

$

8,745

$

(17,354)

$

$

14,145

Depreciation and amortization

2,150

871

996

4,017

Other income (expense)

(62)

(1)

(2)

(65)

EBITDA

$

24,842

$

9,615

$

(16,360)

$

$

18,097

Three Months Ended March 31, 2023

Debit and Credit

Prepaid Debit

Other

Intersegment Eliminations

Total

Net sales

$

101,985

$

19,130

$

$

(263)

$

120,852

Cost of sales

63,801

14,220

(263)

77,758

Gross profit

38,184

4,910

43,094

Operating expenses

8,158

1,233

13,105

22,496

Income (loss) from operations

$

30,026

$

3,677

$

(13,105)

$

$

20,598

EBITDA by segment:

Income (loss) from operations

$

30,026

$

3,677

$

(13,105)

$

$

20,598

Depreciation and amortization

2,161

624

1,019

3,804

Other income (expense)

5

(119)

(114)

EBITDA

$

32,192

$

4,301

$

(12,205)

$

$

24,288

Three Months Ended March 31, 

2024

    

2023

Net income

$

5,455

$

10,873

Interest, net

6,425

6,781

Income tax expense

 

2,200

 

2,830

Depreciation and amortization

 

4,017

 

3,804

EBITDA

$

18,097

$

24,288

XML 32 R21.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Business Overview and Summary of Significant Accounting Policies (Policies)
3 Months Ended
Mar. 31, 2024
Business Overview and Summary of Significant Accounting Policies  
Basis of Presentation

Basis of Presentation

Certain information and footnote disclosures normally included in financial statements prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) have been condensed or omitted pursuant to Form 10-Q and Article 8 of Regulation S-X. In the opinion of management, these financial statements reflect all adjustments (consisting of normal recurring adjustments) considered necessary for the fair statement of the results of the interim periods presented. The condensed consolidated balance sheet as of December 31, 2023 is derived from the audited financial statements as of that date. The accompanying condensed consolidated financial statements should be read in conjunction with the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2023.

Use of Estimates

Use of Estimates

Management uses estimates and assumptions relating to the reporting of assets and liabilities at the date of the financial statements, the reported revenues and expenses recognized during the reporting period, and certain financial statement disclosures in the preparation of the condensed consolidated financial statements. Significant items subject to such estimates and assumptions include the carrying amount of property and equipment, goodwill and intangible assets, leases, valuation allowances for inventories and deferred taxes, revenue recognized for work performed but not completed and uncertain tax positions. Actual results could differ from those estimates.

Recent Accounting Pronouncements

Recent Accounting Pronouncements

Recently Issued Accounting Pronouncements

In November 2023, the Financial Accounting Standards Board issued ASU 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures, which will require enhanced segment disclosures. Adoption of this accounting standard is effective for the Company for fiscal years beginning after December 15, 2023. The Company has elected not to early adopt this accounting standard. The Company is evaluating the impact of adoption of this standard and does not anticipate that the application of ASU 2023-07 will have a material impact on the Company’s consolidated financial position, results of operations, or cash flows.

In December 2023, the Financial Accounting Standards Board issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures which will require a disaggregated rate reconciliation disclosure as well as additional information regarding taxes paid. Adoption of this accounting standard is effective for the Company for fiscal years beginning after December 15, 2024. The Company has elected not to early adopt this accounting standard. The Company is evaluating the impact of adoption of this standard and does not anticipate that the application of ASU 2023-09 will have a material impact on the Company’s consolidated financial position, results of operations, or cash flows.

XML 33 R22.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Net Sales (Tables)
3 Months Ended
Mar. 31, 2024
Net Sales.  
Schedule of disaggregation of net sales by major source

Three Months Ended March 31, 2024

Products

Services

Total

Debit and Credit

$

58,371

$

29,602

$

87,973

Prepaid Debit

24,198

24,198

Intersegment eliminations

(213)

 

(22)

 

(235)

Total

$

58,158

$

53,778

$

111,936

Three Months Ended March 31, 2023

Products

Services

Total

Debit and Credit

$

76,032

$

25,953

$

101,985

Prepaid Debit

19,130

19,130

Intersegment eliminations

(242)

 

(21)

 

(263)

Total

$

75,790

$

45,062

$

120,852

XML 34 R23.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accounts Receivable (Tables)
3 Months Ended
Mar. 31, 2024
Accounts Receivable  
Schedule of accounts receivable

March 31, 

December 31, 

2024

2023

Trade accounts receivable

$

59,788

 

$

69,245

Unbilled accounts receivable

8,997

 

4,725

68,785

 

73,970

Less allowance for credit losses

(246)

(246)

$

68,539

$

73,724

XML 35 R24.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Inventories (Tables)
3 Months Ended
Mar. 31, 2024
Inventories  
Schedule of inventories

March 31, 

December 31, 

2024

2023

Raw materials

$

79,825

 

$

66,210

Finished goods

6,531

 

7,162

Inventory reserve

(2,975)

(2,778)

$

83,381

 

$

70,594

XML 36 R25.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets (Tables)
3 Months Ended
Mar. 31, 2024
Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets  
Schedule of plant, equipment, leasehold improvements and operating lease right-to-use assets

March 31, 

December 31, 

2024

2023

Machinery and equipment

$

68,466

 

$

67,506

Machinery and equipment under financing leases

23,774

23,774

Furniture, fixtures and computer equipment

160

 

107

Leasehold improvements

17,419

 

16,335

Construction in progress

1,264

 

1,778

Operating lease right-of-use assets

19,989

19,989

131,072

129,489

Less accumulated depreciation and amortization

(70,039)

 

(66,436)

$

61,033

 

$

63,053

XML 37 R26.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value of Financial Instruments (Tables)
3 Months Ended
Mar. 31, 2024
Fair Value of Financial Instruments  
Schedule of financial assets and liabilities subject to fair value measurements

The Company’s financial assets and liabilities that are not required to be re-measured at fair value in the condensed consolidated balance sheets were as follows:

Carrying

Estimated

Value as of 

Fair Value as of 

Fair Value Measurement at March 31, 2024

March 31, 

March 31, 

 (Using Fair Value Hierarchy)

2024

2024

Level 1

Level 2

Level 3

Liabilities:

    

    

    

    

Senior Notes

$

267,897

$

267,147

$

$

267,147

$

Carrying

Estimated

 Value as of

Fair Value as of

Fair Value Measurement at December 31, 2023

December 31, 

December 31, 

 (Using Fair Value Hierarchy)

2023

2023

Level 1

Level 2

Level 3

Liabilities:

    

    

    

    

Senior Notes

$

267,897

 

$

261,834

$

 

$

261,834

$

XML 38 R27.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accrued Expenses (Tables)
3 Months Ended
Mar. 31, 2024
Accrued Expenses.  
Schedule of accrued expenses

March 31, 

December 31,

2024

2023

Accrued payroll and related employee expenses

$

8,146

 

$

11,431

Accrued employee performance bonuses

2,009

 

667

Employer payroll taxes

1,377

 

298

Accrued rebates

1,540

2,919

Capitalized contract costs payable

15,000

Accrued interest

999

6,830

Current operating and financing lease liabilities

7,195

7,318

Accrued share repurchases

4,404

733

Other

8,533

5,607

Total accrued expenses

$

49,203

$

35,803

XML 39 R28.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Long-Term Debt (Tables)
3 Months Ended
Mar. 31, 2024
Long-Term Debt.  
Schedule of long-term debt

March 31, 

    

December 31, 

2024

2023

Senior Notes (1)

$

267,897

$

267,897

Unamortized deferred financing costs

 

(2,571)

 

(2,900)

Total long-term debt

265,326

264,997

Less current maturities

Long-term debt, net of current maturities

$

265,326

$

264,997

(1)The Senior Notes bear interest at a fixed rate of 8.625%.
XML 40 R29.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Income Taxes (Tables)
3 Months Ended
Mar. 31, 2024
Income Taxes  
Schedule of effective income tax rate reconciliation

March 31, 

2024

    

2023

Tax at federal statutory rate

21.0

%

21.0

%

State taxes, net

6.1

4.7

Valuation allowance

(5.2)

Permanent items

3.0

1.2

Deductibility limitations on excess compensation

(1.8)

0.1

Other

0.4

(1.1)

Effective income tax rate

28.7

%

20.7

%

XML 41 R30.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Earnings per Share (Tables)
3 Months Ended
Mar. 31, 2024
Earnings per Share  
Computation of basic and diluted earnings per share

Three Months Ended March 31, 

2024

    

2023

Numerator:

Net income

$

5,455

$

10,873

Denominator:

Basic weighted-average common shares outstanding

 

11,266,699

 

11,394,919

Dilutive shares

502,665

506,662

Diluted weighted-average common shares outstanding

11,769,364

11,901,581

Basic earnings per share

$

0.48

$

0.95

Diluted earnings per share

$

0.46

$

0.91

XML 42 R31.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment Reporting (Tables)
3 Months Ended
Mar. 31, 2024
Segment Reporting  
Schedule of revenue and EBITDA of the company's reportable segments

Three Months Ended March 31, 2024

Debit and Credit

Prepaid Debit

Other

Intersegment Eliminations

Total

Net sales

$

87,973

$

24,198

$

$

(235)

$

111,936

Cost of sales

56,478

14,175

(235)

70,418

Gross profit

31,495

10,023

41,518

Operating expenses

8,741

1,278

17,354

27,373

Income (loss) from operations

$

22,754

$

8,745

$

(17,354)

$

$

14,145

EBITDA by segment:

Income (loss) from operations

$

22,754

$

8,745

$

(17,354)

$

$

14,145

Depreciation and amortization

2,150

871

996

4,017

Other income (expense)

(62)

(1)

(2)

(65)

EBITDA

$

24,842

$

9,615

$

(16,360)

$

$

18,097

Three Months Ended March 31, 2023

Debit and Credit

Prepaid Debit

Other

Intersegment Eliminations

Total

Net sales

$

101,985

$

19,130

$

$

(263)

$

120,852

Cost of sales

63,801

14,220

(263)

77,758

Gross profit

38,184

4,910

43,094

Operating expenses

8,158

1,233

13,105

22,496

Income (loss) from operations

$

30,026

$

3,677

$

(13,105)

$

$

20,598

EBITDA by segment:

Income (loss) from operations

$

30,026

$

3,677

$

(13,105)

$

$

20,598

Depreciation and amortization

2,161

624

1,019

3,804

Other income (expense)

5

(119)

(114)

EBITDA

$

32,192

$

4,301

$

(12,205)

$

$

24,288

Schedule of reconciliation of total segment EBITDA to income before taxes

Three Months Ended March 31, 

2024

    

2023

Net income

$

5,455

$

10,873

Interest, net

6,425

6,781

Income tax expense

 

2,200

 

2,830

Depreciation and amortization

 

4,017

 

3,804

EBITDA

$

18,097

$

24,288

XML 43 R32.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Net Sales (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Disaggregation of Revenue    
Net sales $ 111,936 $ 120,852
Operating Segments | Debit and Credit    
Disaggregation of Revenue    
Net sales 87,973 101,985
Operating Segments | Prepaid Debit    
Disaggregation of Revenue    
Net sales 24,198 19,130
Intersegment eliminations    
Disaggregation of Revenue    
Net sales (235) (263)
Products    
Disaggregation of Revenue    
Net sales 58,158 75,790
Products | Operating Segments | Debit and Credit    
Disaggregation of Revenue    
Net sales 58,371 76,032
Products | Intersegment eliminations    
Disaggregation of Revenue    
Net sales (213) (242)
Services    
Disaggregation of Revenue    
Net sales 53,778 45,062
Services | Operating Segments | Debit and Credit    
Disaggregation of Revenue    
Net sales 29,602 25,953
Services | Operating Segments | Prepaid Debit    
Disaggregation of Revenue    
Net sales 24,198 19,130
Services | Intersegment eliminations    
Disaggregation of Revenue    
Net sales $ (22) $ (21)
XML 44 R33.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accounts Receivable (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Accounts Receivable    
Trade accounts receivable $ 59,788 $ 69,245
Unbilled accounts receivable 8,997 4,725
Accounts receivable, gross 68,785 73,970
Less allowance for credit losses (246) (246)
Accounts receivable, net $ 68,539 $ 73,724
XML 45 R34.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Inventories (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Inventories    
Raw materials $ 79,825 $ 66,210
Finished goods 6,531 7,162
Inventory reserve (2,975) (2,778)
Inventory $ 83,381 $ 70,594
XML 46 R35.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Plant, Equipment and Leasehold Improvements    
Plant, equipment and leasehold improvements, gross $ 131,072 $ 129,489
Less accumulated depreciation and amortization (70,039) (66,436)
Total property, equipment and leasehold improvements, net 61,033 63,053
Machinery and equipment    
Plant, Equipment and Leasehold Improvements    
Plant, equipment and leasehold improvements, gross 68,466 67,506
Machinery and equipment under financing leases    
Plant, Equipment and Leasehold Improvements    
Plant, equipment and leasehold improvements, gross 23,774 23,774
Furniture, fixtures and computer equipment    
Plant, Equipment and Leasehold Improvements    
Plant, equipment and leasehold improvements, gross 160 107
Leasehold improvements    
Plant, Equipment and Leasehold Improvements    
Plant, equipment and leasehold improvements, gross 17,419 16,335
Construction in progress    
Plant, Equipment and Leasehold Improvements    
Plant, equipment and leasehold improvements, gross 1,264 1,778
Operating lease right-of-use assets    
Plant, Equipment and Leasehold Improvements    
Plant, equipment and leasehold improvements, gross $ 19,989 $ 19,989
XML 47 R36.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value of Financial Instruments (Details) - Senior Notes - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Mar. 15, 2021
Liabilities:      
Carrying amount $ 267,897 $ 267,897 $ 310,000
Level 2      
Liabilities:      
Long-term debt 267,147 261,834  
Estimate of Fair Value      
Liabilities:      
Long-term debt $ 267,147 $ 261,834  
XML 48 R37.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accrued Expenses (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Accrued Expenses.    
Accrued payroll and related employee expenses $ 8,146 $ 11,431
Accrued employee performance bonuses 2,009 667
Employer payroll taxes 1,377 298
Accrued rebates 1,540 2,919
Capitalized contract costs payable 15,000  
Accrued interest 999 6,830
Current operating and financing lease liabilities 7,195 7,318
Accrued share repurchases 4,404 733
Other 8,533 5,607
Total accrued expenses $ 49,203 $ 35,803
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Long-Term Debt - Long-Term Debt (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Mar. 15, 2021
Long-term Debt      
Unamortized deferred financing costs $ (2,571) $ (2,900)  
Total long-term debt 265,326 264,997  
Long-term debt, net of current maturities $ 265,326 264,997  
Senior Notes      
Long-term Debt      
Interest Rate (as a percent) 8.625%    
Long-term debt $ 267,897 $ 267,897 $ 310,000
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Long-Term Debt - First Lien Credit Facility (Details) - USD ($)
12 Months Ended
Apr. 01, 2023
Mar. 03, 2022
Dec. 31, 2023
Mar. 31, 2024
Mar. 15, 2021
Senior Notes          
Long-term Debt          
Interest rate (as a percent)         8.625%
Long-term debt     $ 267,897,000 $ 267,897,000 $ 310,000,000.0
Prepayment of debt     $ 0    
Debi issuance cost       2,600,000  
ABL Revolver          
Long-term Debt          
Maximum borrowing capacity   $ 75,000,000.0      
Maximum uncommitted accordion feature amount   $ 25,000,000.0     $ 15,000,000.0
Debi issuance cost       $ 900,000  
ABL Revolver | Minimum          
Long-term Debt          
Unused commitment fee (as a percent) 0.375%        
ABL Revolver | Maximum          
Long-term Debt          
Unused commitment fee (as a percent) 0.50% 0.50%      
ABL Revolver | SOFR | Minimum          
Long-term Debt          
Applicable margin over reference rate (as a percent) 1.25% 0.10%      
ABL Revolver | SOFR | Maximum          
Long-term Debt          
Applicable margin over reference rate (as a percent) 1.75% 0.30%      
Senior Credit Facility | Minimum          
Long-term Debt          
Unused commitment fee (as a percent) 1.50%        
Senior Credit Facility | Maximum          
Long-term Debt          
Unused commitment fee (as a percent) 1.75%        
XML 51 R40.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Income Taxes - Other (Details)
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Income Taxes    
Effective income tax rate 28.70% 20.70%
XML 52 R41.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Income Taxes - Effective Income Tax Rate Reconciliation (Details)
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Effective Income Tax Rate Reconciliation    
Tax at federal statutory rate (as a percent) 21.00% 21.00%
State taxes, net (as a percent) 6.10% 4.70%
Valuation allowance (as a percent)   (5.20%)
Permanent items (as a percent) 3.00% 1.20%
Deductibility limitations on excess compensation (as a percentage) (1.80%) 0.10%
Other (as a percent) 0.40% (1.10%)
Effective income tax rate (as a percent) 28.70% 20.70%
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stockholders' Deficit (Details) - USD ($)
$ / shares in Units, $ in Millions
3 Months Ended
Dec. 06, 2023
Mar. 31, 2024
Dec. 31, 2023
Nov. 02, 2023
Stockholders' Deficit        
Common shares, par value (in dollars per share)   $ 0.001 $ 0.001 $ 0.001
Repurchase Program        
Maximum value of shares authorized for repurchase under repurchase plan       $ 20.0
Value of shares repurchased and retired   $ 1.2    
Average cost of shares repurchased (in dollars per share)   $ 18.29    
Value of remaining shares available under repurchase authorization   $ 14.1    
Shares repurchased and retired (in shares)   68,258    
Common Stock        
Repurchase Program        
Shares repurchased and retired (in shares)   68,258    
Tricor Pacific Capital Partners (Fund IV) US, LP        
Repurchase Program        
Average cost of shares repurchased (in dollars per share)   $ 18.03    
Shares repurchased and retired (in shares) 244,314      
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Earnings per Share (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Numerator:    
Net income $ 5,455 $ 10,873
Denominator:    
Basic weighted-average common shares outstanding (in shares) 11,266,699 11,394,919
Dilutive shares (in shares) 502,665 506,662
Diluted weighted-average common shares outstanding (in shares) 11,769,364 11,901,581
Basic earnings per share: (in dollars per share) $ 0.48 $ 0.95
Diluted earnings per share: (in dollars per share) $ 0.46 $ 0.91
Outstanding stock based awards    
Potential dilutive effect of stock options included (in shares) 244,314  
Potential antidilutive effect of share-based compensation excluded (in shares) 39,933 28,831
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Commitments and Contingencies - Contingencies (Details) - Smart Packaging Solutions SA v. CPI Card Group, Inc. - Pending Litigation
Apr. 20, 2021
item
Commitments and Contingencies  
The number of patents involved in lawsuit 4
The number of patents involved in lawsuit that have been invalidated 3
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-Based Compensation - Omnibus Incentive Plan (Details) - USD ($)
$ / shares in Units, $ in Millions
1 Months Ended 3 Months Ended
Jan. 30, 2024
Jan. 31, 2024
Mar. 31, 2024
Performance Stock Units | Chief Executive Officer      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Granted (in units)   60,000  
Equity units granted   $ 0.9  
Vesting Percentage   33.30%  
Number of consecutive trading days with minimum share price   90 days  
Vesting period   5 years  
Performance Stock Units | Chief Executive Officer | Minimum | Awards vesting category one      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Share price (in dollar per share)   $ 35.00  
Performance Stock Units | Chief Executive Officer | Minimum | Awards vesting category two      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Share price (in dollar per share)   50.00  
Performance Stock Units | Chief Executive Officer | Minimum | Awards vesting category three      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Share price (in dollar per share)   $ 65.00  
Omnibus Plan      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Number of additional shares authorized 1,000,000    
Number of shares authorized 3,200,000    
Omnibus Plan | Stock Options      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Number of shares available for grant     962,285
Stock option life (in years)     7 years
Stock options granted (in shares)     0
Outstanding (in shares)     904,438
Exercise price (in dollars per share)     $ 18.87
Omnibus Plan | Restricted stock units      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Granted (in units)     89,452
XML 57 R46.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-Based Compensation - Restricted Stock Units (Details) - Omnibus Plan - Restricted stock units
3 Months Ended
Mar. 31, 2024
$ / shares
shares
Stock based compensation  
Granted (in units) | shares 89,452
Granted (in dollars per unit) | $ / shares $ 18.25
Outstanding (in units) | shares 786,673
Outstanding (in dollars per unit) | $ / shares $ 20.55
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-Based Compensation - Additional information (Details)
1 Months Ended 3 Months Ended
Aug. 31, 2023
Jun. 30, 2023
Mar. 31, 2024
Stock Options      
Stock based compensation      
Percentage of award in a plan   25.00%  
Restricted stock units      
Stock based compensation      
Percentage of award in a plan   75.00%  
June 2023 award one      
Stock based compensation      
Vesting period     2 years
June 2023 award one | Awards vesting category one      
Stock based compensation      
Percentage of award granted 0.33%    
June 2023 award two | Awards vesting category two      
Stock based compensation      
Percentage of award granted   0.33%  
XML 59 R48.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment Reporting - Revenue and EBITDA from Continuing Operations (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Segment Reporting    
Net sales $ 111,936 $ 120,852
Cost of sales 70,418 77,758
Gross profit 41,518 43,094
Operating expenses 27,373 22,496
Income from operations 14,145 20,598
EBITDA by segment:    
Income (loss) from operations 14,145 20,598
Depreciation and amortization 4,017 3,804
Other income (expenses) (65) (114)
EBITDA 18,097 24,288
Operating Segments | Debit and Credit    
Segment Reporting    
Net sales 87,973 101,985
Cost of sales 56,478 63,801
Gross profit 31,495 38,184
Operating expenses 8,741 8,158
Income from operations 22,754 30,026
EBITDA by segment:    
Income (loss) from operations 22,754 30,026
Depreciation and amortization 2,150 2,161
Other income (expenses) (62) 5
EBITDA 24,842 32,192
Operating Segments | Prepaid Debit    
Segment Reporting    
Net sales 24,198 19,130
Cost of sales 14,175 14,220
Gross profit 10,023 4,910
Operating expenses 1,278 1,233
Income from operations 8,745 3,677
EBITDA by segment:    
Income (loss) from operations 8,745 3,677
Depreciation and amortization 871 624
Other income (expenses) (1)  
EBITDA 9,615 4,301
Operating Segments | Other    
Segment Reporting    
Operating expenses 17,354 13,105
Income from operations (17,354) (13,105)
EBITDA by segment:    
Income (loss) from operations (17,354) (13,105)
Depreciation and amortization 996 1,019
Other income (expenses) (2) (119)
EBITDA (16,360) (12,205)
Intersegment eliminations    
Segment Reporting    
Net sales (235) (263)
Cost of sales $ (235) $ (263)
XML 60 R49.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment Reporting - Reconciliation of EBITDA to net income (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
EBITDA by segment:    
Net income $ 5,455 $ 10,873
Interest, net 6,425 6,781
Income tax expense 2,200 2,830
Depreciation and amortization 4,017 3,804
Total segment EBITDA $ 18,097 $ 24,288
XML 61 R50.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Pay vs Performance Disclosure    
Net Income (Loss) $ 5,455 $ 10,873
XML 62 R51.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Insider Trading Arrangements
3 Months Ended
Mar. 31, 2024
Trading Arrangements, by Individual  
Rule 10b5-1 Arrangement Adopted false
Non-Rule 10b5-1 Arrangement Adopted false
Rule 10b5-1 Arrangement Terminated false
Non-Rule 10b5-1 Arrangement Terminated false
EXCEL 63 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( /@YIU@'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 " #X.:=8*4T,Z^\ K @ $0 &1O8U!R;W!S+V-O&ULS9+! M:L,P#(9?9?B>*$[7%4SJR\9.&PQ6V.C-V&IK&L?&UDCZ]G.R-J5L#["CI=^? M/H$:'83V$=^B#QC)8KH;7-LEH<.:'8B" $CZ@$ZE,B>ZW-SYZ!3E9]Q#4/JH M]@AU53V 0U)&D8(16(29R&1CM- 1%?EXQAL]X\-7;">8T8 M.NPH 2\Y,#E. M#*>A;> *&&&$T:6? IJ9.%7_Q$X=8.?DD.RK4=76_\KL+.&[NS M_]CX(B@;^'47\AM02P,$% @ ^#FG6)E&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R M> +]O6N[!3+ MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,! M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2 MBW A(5M>5 TR M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$ MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7K;YH] M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZKR2.FJW"$2M"/F(9 M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+ MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+ M.7\N?<^E[[GT/:'2MSAD6R4)RU3393>* M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.WF)&Y M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_# M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0 MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYNTB42%(JP# 4A M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.' MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_ M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]! MU4#E/]O4#6CV#30,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04 M" #X.:=8\;MHF6(?GW MO;+!3E+Y0CW+%["-ST&/]78LC392?EBK!@T(41SWF.(->S,.D,QX5UZ9J/)*YCL)$3!7)\CCF MZN521')ST:&=W87'<+G2YD)O/$KY4LR$_C.=*CCK52Y!&(LD"V5"E%A<=";T MH^#Y=/4B-W;/(WQ7&K)^<6?FZ#GR?70I')/-,*VJ+M M^93ZOEUO^N?'+.6^N.A !\R$6HO.^*H/8KU#[F7C>2IY=4 MV$AQ.76Z#S8D5-42Z:Q".CL,Z2'G2@L5O9!'D4IEK4C<2JO<]E \5-42;U#A M#0[#FPH52M.S P+C@[7R<*>JUS5V.U3?DO.\XCP_L&4J#E-+,60UUR/NM>!1 M9JU(5-82<%@!#M%";8?DFS 2Y',>SX6R@>$>CD.[[OG9T%I[J+0EW(<*[L,A M<(]B&9I1%*KQ,X^M;13W\::WQ.,J(+\IF:J)UCD$%@HG M%3308GH](3,-O9)(13R9)UJ]P'=@?0)[W*^N;<2XJ"WRJVQ!#T%^XL_D-H!> M&BY"OXP5S4UYCR4;=!VWWQ^GTB2D$?D4?+ 2H]:M:6O\Q!%,\A_Z#US!BW[26X2*SEN M]RG4.A):VK0>KFV+6N:]ZA5+YXJN0X3WU[3N*=W;P4]1DBB=4JB>+9Y M#SJ5F886^'>8-@]4N./0H=X^1EV@=F"B>:3]*'^IJN9(+EASTF@R'M#ES'FA]P:5N^.AY1/-L\A3!($+D@E/T\ M_X7,A)\KJ$DK).[DR3B&F6FFI?_MA/SHG$)L(BE79,TC>\#'#=NBU^&)XJD' M(F\0)DLR>XGG,K(2XP;3NZ>9E>L808G508GA4697A^3ZV5_Q9"D:4^$>H\^3 MV=7$^N:)"]L2UKF('92+O%PI\^Y2OK 450GS2&Y=:]GC^-6Z0N/AJK:<=1YB M!^6A6T@NJERO,R^A? =NY<0=FSB/D7Q8G7S801>0RS^#GS-YB<9^F51-@69($YY8J]3W+!Q50'7M06M\P[#X\JN'E<"ZA'#PVV:\8Z1 M>UB=>Q@>679#[)M)?58L99/[7$.*344L;Z M@\&HM[8QUMF'';0V9-X,%82\VR00S^0/8:_&?4M$#AWTZ8#:%]:/$718'738 MGN6=[3QY$V8FS'X5$,JP!Q9Q=JN9KTEOX*)U M@-UCUK14B8 &)20$;>. M,7L,&D=57/=_P7JO]@W-A%=LIV;$-TN1Y19B=;7:LIT4&Y6]^O9RO_>.F_DR M(Y%8@-0Y/8_PO M4$L#!!0 ( /@YIUATRI@T- 8 ! 9 8 >&PO=V]R:W-H965T&ULK5EM;]LV$/XKA!=L+>#$(O6>)@92!]L*K%O0M-MG1J)CHI+H MDE1>^NMWE%3)-BDE;?,ETR,]JPYA&#V51J?/91NOMZ6*A ML@TKJ3H16U;!F[60)=5P*V\7:BL9S1NELE@0SXL6)>75;'G6/+N2RS-1ZX)7 M[$HB59;!8GFVI;?LFNE/VRL)=XO>2LY+5BDN M*B39^GQV@4]7)#4*C<2_G-VKG6MD7+D1XK.Y>9>?SSR#B!4LT\8$A7]W;,6* MPE@"'%\ZH[/^FT9Q]_J;]=\;Y\&9&ZK82A3_\5QOSF?)#.5L3>M"?Q#W?[+. MH=#8RT2AFK_HOI/U9BBKE19EIPP(2EZU_^E#%X@=!1R,*)!.@3Q7P>\4_,;1 M%EGCUB75='DFQ3V21AJLF8LF-HTV>,,KLXS76L);#GIZN1)5#HO"<@172A0\ MIQINWM*"5AE#U\:P0L?HT_4E>G7T&ATA7J&/&U$K6N7J;*$!@[&TR+KOO6V_ M1T:^]Y[*$^3C.2(>"1SJJVGU2Y;UZOZ^^@(\[]TGO?NDL>>/N5]+R2J-J%+@ MYZG+G]9 X#9@LNQ4;6G&SF>01HK).S9;_OH+CKPW+N]>R-B>KW[OJS]E?;FB M:H-@U5!F+MB7FM_1 IQWKF)K*FI,F5)PM\0Q#F#%[G;=<4B1 /N]U![.H,<9 M3.*\R#)1 RRH$AD#C#<%FZ.*:1?,UE*X R!*0C\]@&E+Q7Y, C?,L(<93L)\ M5]U!\(3D3(W""ZT/)[Z?X -XME3LA>D(O*B'%TW"NY)L2WF.V,/6Y+=J5E[H M#9-05G8WO0MW9"'".(G( 6Y;*HF"V T[[F''D[ _"DV+9R",;82)EY+H *)# M+ K].''J0R71LH3CJ>9-"6Z TN"P84,E&%#GBY5:*.V8>=S'?,DDUKVY; M(20-L1R+]7$--ZV#S?Y!8@VDEM5E730E.&=0 S).&[:#=T>Q-_?\M+%Y%$7S MP(\@0]26-418/+JBE-CI@3W?/PB20\KWPI$L3OL8I4^DAZ;5+8?DG7*2ED)J M_G5P,B3SV,>MDR&>QY'_I).IO<8^#@]+E4,JP(2XG<3>0)_>I)M_")'?\Z)P M,J%G?3.(<>@=('M2;!_:#K/C26C_-,D^GD*=^EY(XA#'A_!L,3]-QM -Q(LG MN:Y+] ETQ/XL3N/$BIXM1U(_2D:V+Q[8$OO/:@T*3F]XP374>6=_@"=9]WL; MA)>RMN_T0+WXF=R[I8^&>)T.VW1*_"@XK"H.,4P2;RSC!MK%T[P+$&7-!F)S M0K0I-4B)9T&TQ?PP\<:VSD"]>)I[+]F:P>;)H71!CU"SMNMJFGG(2"CL0O&1 M7>]BWOB0>!U223"6D0/SXN^AWIUM[P1J,VL<>#@Y1&J+!6D0A"-8!P+&TPS\ MEZANCS63)43SQMEZ89O5"%"_U2$XY8(T'>EC\,!_>)H ^TW JPS6'6GZ,!)* MFYJB.+#6W):*\4ZGNS_^#/Q%IOFK)8FB#^<3RTYLKB($[ZQG-^8XQ +/'VF[ MR$!I9)K2VBWZ%$8'844)\0_;;I=<$$9X+*8[,^4TM:U$67(]=("9J$S_QZH, M$*-7?PO-$":OG=A_8$!$SD'SYPWM>S_P)ID>,Z^9&8G0!8()I,N :RVRSV_0 MD7?B>1BH12*8/&MVC#UH:3T/J0V59D*I]0;FJ:\L?X/ZAUPI4^V;3KK6"IK* MW/325*/W5&:;_BRAD;B$B;&\@0WM/B+H8OP#%.N.\<\;VH_Q0-,DF.Q-FH": M<8-)]9LYM>(9U^[3BTF^_^[CBQ>RMN_V0/UDFOI-8L& MQ%&S5^ V"*(Y#L.7V6KS)P<58K<;V"I*DS+[<1OZ$3+=CZSHEIO"V6X4J$-N M>'97 2$-<'K8-KD%"2$CC1,96A RW8)<[(R&C,H*PN\N\79;$8:Q7>$=8AZ) MHQ&80_=!IKN/EH:4*PF=:.T6XSA(@M""ZY +(?QC>(=6A$RW(A9M-COX^?A3 MZYC/.8HYY)RCV&+GN-K\5@#9=2TL7#L8#OMX-=C)UF6M%D_!+UH;>>> M;;GX*3, A9YRRN3PSVH MAV(I=,]N55*2 Y.$,R1@-;<^NM<+US,)5<1W EO9:2-CY9'SGZ;S)9U;CB$" M"HDR$EC_;& !E!HES?&K$;7:.4UBM_VL_JDRK\T\8@D+3G^05&5S:V*A%%:X MI.J.;S]#8VAL]!).9?6-MG5L-+504DK%\R99$^2$U;_XJ5F(3H(;O)+@-0G> MJ0E^D^!71FNRRM8M5CB>";Y%PD1K-=.HUJ;*UFX(,W_CO1+Z*=%Y*EYPENH_ M!5*D6Y)3DF*E.S>88I8 NC?"$ETLL0"F,E DP?02O4HL(0]\R M7DK,4CFSE68RRG;2S']3S^^],O]7+$;(=Z^0YWC!0/KBOZ_+,>0RUHV&)8U>_%:%CB!N:4WFP2Q 2M^]\8-G0]#GO^36&\% M_'8%_$/J\<MQ!RQT*.DV/@P1[2V(M\=P=\ M(,J-0G\8?-R"CP^"+_5["X30D#+3NTQ>H0(+M,&T!'2A-U?**<5"H@)$'7$Y M9*">(^J@.2/'V35P+*IG(&P-A&<:P*7*N"!_VJ'*2-TX7,=\=O"/ MAO7XHY8_.I.?2%F>S![M0>UB'XKH$4]:XLF9Q/J EKK^4\+6)V)/CF(?BNAA M3UOLZ4'L!<]SSOZIS*2._7[_[E7Y2:-]&Y\1W MS[%Q5K$WTCTNUY^Z013N.AB*#(+0'8]?,?!R1KL'#\!= ^?7?J-_BHNAR$$7 M=N<.9B[ ^F*S)DPB"BN=ZHPBK2'J.V7=4;RHKF6/7.E+7M7,]#T< MJ^>.N>FU-_OX+U!+ P04 " #X.:=8&/,N_AT& 5'P & 'AL+W=O M\NS]D%<+#@XLBJKWQ'J0!/ M15[RZ]E.B/W5?,[7.UH0?LGVM)3_V;"J($+>5MLYWU>4I+53D<^1YX7S@F3E M;+FHG]U5RP4[B#PKZ5T%^*$H2/7W#L:)TE@B(KFU_RU":BYR#C MV!U0ZX"&#OZ( VX=<$VT05;3NB6"+!<5.X)*6TMV62E*N.]J.1_ M,^DGEBM6IK(H- 7RBK,\2XF0-_="_LAJ"0[8!OR^IQ516>> E,JRD$-FIVKY M2,&'<<.7!KSQ5Q(F.IE\W4+Z::!A$8@8?"1 ME6+'P4\26GKN/Y?T.H[HQ/$&.0-^)-4EP/ =0![R+7A6+W?'#CBX2SFNX^&1 M>+_)R-KV_W59/ZBN_)FE[/9 DXK1[I;/G]=S#T?K01FRC8&4V_ MH^F[HFN:-I:-:UB[JI7F<0DA3'"XF#_V\5O,D!<'J#,[0Q9TR )G 5:,"S6L MQXL03%F$B8*=40T[JJ&S"+=4!EUGI%DRY=PE!:M$]D_]P,:\"1?T,H[".!J4 MQ6*$(]]>E*A#&CF1?F:"Y&#=+XT-7V2\.O)\& \ 6JRB*(CM".,.8>Q$^$O% M. ?[BFTR88,6&R_U86! LUAA+QE)7M)!2YPCNEV@RRV@3WNUG-N'=3+EL)XH MV!E?Z&G9\IS%N)?"+_F^ UM:2NYY,[A3J9 9%RH74IG>TJ=U?JA%2@ZIU#45 M -^Q8PD>U+;F!ZMD>9:)X?EX4%V;&?3"T%Y>V%-I..T\;N/U@4",O2%^>XF)'JU,FWX&2"NL4ATY1?NTM MT]"IC;(X@LJXHJ9K91L8R;X(?634Q&86Q7"D)EI1$:$"U& M$([( M2B"E^BJNQE.$W5E,E,C#7#9A8GP0A4K:[0+:_M3'R@LC>ELH6H[P1Y M&EDV3!V-PL#(JFD%<>3A$:Q:;J%3W4Y8);I35JT8$S-32/;70Y VLWAL%49: M(I%;(M4&O$FC#5SKW-];![Z10(L5].)H)(%(ZQERZ]D-X=D:4%*54A_DIDH. M3[XC%;T";V7SF+(\)U7OL562VU?$/6S>I3_<;UFMQD8KTA*'W!)WF^4'U2A_ M(P5DHS#L@JQ6R(G,!EAH_41N=O-4T&FX.-;4$:A;$_](1^;9>+! M8$Q;D-8^]%R3VC]D:>:Q5?'1I,WJ5-'.66M%16Y%?6;-"E^T9IE6KC5+:REZ M68=JUL6*U91)&U;3RH55BRERB^E=Q=+#6EBET^WZZ@$S4;1SHEJ)D;OS=1^F MH4D[WJFBG9\::CW'S^OYZ+D(-AM/N0@%0S6TF$5!E(SL-;#6 M$;5[;W#B9(4V[1'U?W%&C?6V ;O;ZF<.XR?MIJ>*=DY5[RBPNYMVKQ]FBQS@ M*#+6#]/,#[QPY$ >:]W'X;>N'\Z-PZM+,5&T<[IZ*X'=6XG_8?V(C$T02A(T MW)!;S7QO>.XP[WU@+&BUK;^[V^[;ZOOV@.GM_ JU7SA5:' M:3X8?R35-BLYR.E&AO0N(SG&JN8;;',CV+[^C/G A&!%?;FC)*65,I#_WS F M3C?J!=V7\.6_4$L#!!0 ( /@YIUB]AFBZ-@4 .0> 8 >&PO=V]R M:W-H965T&ULM5E=5[DECBOG,6\ M^>VA7LSICA=Y11YJP'9EB>OO]Z2@^SL'.N\_/.8O&RY_DHKEM (U6=\YG^%M@AJ#9L9?.=FSDVL@0WFF]%4.?L_N'$]Z1 J2 M<@F!Q=<;69*BD$C"CW]:4*=;4QJ>7K^C_]H$+X)YQHPL:?%WGO'-G3-U0$;6 M>%?P1[K_C;0!A1(OI05K/L&^G>LY(-TQ3LO66'A0YM7A&W]KB3@Q@/X9 ]0: M(-5@=L; ;PU\Q4!0J3<(6H/@6I?"UJ )W3W$WA"WPAPOYC7=@UK.%FCRHF&_ ML19\Y94LE"=>BW]S8<<72UIE(NTD ^**T2+/,!>#)RZ^1#UP!NA:C&CZNJ%% M1FKV$UB1=9[F'$S UZ<5^/CA$_@ \@I\V= =PU7&YBX7CDEX-VV=N#\X@P$UU5>O>CB2,PH M7ZCPHV_FBGQT24%=4E"#$YS!N225]$/= @:N4 ,P%[>D-\.'/ 'D(Z3@^ M8$8-IMP?WA80SMVW4R*'4R;0F_KQK#]O-9R'(C13T!(-VA1Y<=Q-ZP7O=\'[ M(X/_**J+;7!-V*>KB#C@ASTB_)GGAZ%"A]$1N47?LBU.R9TC]F!&ZC?B+'[\ M 4;>+[H"LPF66 +K)2#H$A 8$_#44 URQG;B;MB)_4$\6.2M.9$[<@926HK' M%,/-1K\5*=+>\<8U1M*Q# 89G41JS=I<,#$OV*,U[&@-+=-Z6O@ZBL.!DWZ M8E\I<$> M>7%'7MP8^>>?UUM:O7<'DKZ:;&3S^$9$)R#&Y%;'8VR31YM@*YM@B26P7F:F M76:FQK+^4TB+0P9T"3#:CDV 3;#5=/C(]J;J5I9NNP?!U/,XN=UJSX0,$>O',BY5;?3C/CV$4*(%KT&(O]I$^Y0X#J2KQ"""@Y[?[,KH2K2) MEEP319_BHZB"9E5EIZDW+S+V"0*'0DW4I]K76UTS:=&B9!,TZZ9%L=W6Z$20"7&6@)CROFQ>#;>K"Z:M&C1V47[Q!XE%#3J@!'$7MPI8LW+BBD*!SV85 M@M/_0ZI"JU+)*MK**EIB"ZV?GZ/X@F;U91:L9N/1:;")MH)#418&:KN9P*%6 M[,WJGP\\*\X'AG-$=Q2('E\](!A.#,/8'YP0:/"":1"> MV3W1430ALVBZ7KCJN1@*'GE$ -5\RS-?HRM&:MHR351'/AU3PX(Y?FO($@H M+@8*LA:FWDTL,.K#D>IAP.FV.3-\IIS3LKG<$"RZ6CE!_+^FE+\/Y#%D=["] M^!=02P,$% @ ^#FG6"!H*@#O!P 7"4 !@ !X;"]W;W)KI:)"79SB4&DG2++;#=#9KKW6=9 MHF->95%+TDYZO_Z&DB+)$LG8/0-%(\G#T3.3 MK=;EU6RFTBW;)>J]*%D!OVR$W"4:;N733)62)5DU:)?/2!#$LUW"B\GJNGKV M(%?78J]S7K 'B=1^MTOD]SN6B^>;"9Z\/OC"G[;:/)BMKLODB3TR_;5\D' W M:[5D?,<*Q46!)-O<3&[QU7T8F@&5Q+\X>U:]:V1,60OQS=Q\RFXF@4'$Q>Y/_FF=[>3!83E+%- MLL_U%_'\&VL,BHR^5.2J^A\]-[+!!*5[I<6N&0P(=KRH_R8OS43T!H >^P#2 M#"## :%C &T&T,K0&EEEUH=$)ZMK*9Z1--*@S5Q4,*3='7QP_HYY]^03\A M7J!_;L5>)46FKF<:T!B=L[1Y\UW]9N)X,T6?1:&W"OT*"++C\3.PHC6%O)IR M1[P*/R?R/:+X'2(!"2UX[D\?3CUP:#NSM-)''?K^+)E,-"^>ZE#EFC/K+-5: M0KL6D\57JDQ2=C.!-%5,'MAD]?>_X3CXA\W$"RD[,CAL#0Y]VE=_0-'A12IV MS&9F/3:NQIK:U<&L!=2> M5!0ISQDJ6L#FN;E+3:"74APXA"1:?T?"XL0KFWG1);UX(65'LQ6WLQ5[O?B! M@=*4)U6192^E*0XV@VLM4<]5- B7 W^.A/I50YS.VAHQ0:I\4*0/T"C(&BGO]/.,J%?M"VPQ8CK"%T3 6+#*NS,9! MQUZ!UX+?A0*&*FJ$[,5DZIZKK4EV*R-YM9V;IHVVODD8+QTF]0@9OY& &R8E M1,]K:4I>[,31Z.F_?DJ7\\&TVZ3(W!$XF'0HB1?EGWK+Y#M3-*W0R#CQ"1TB M&PMAXL#5D2[VL^[]-BF>F#*]2:]V*\6:4,YYLN:YNX[CB]+QI;0=3T9'R-C/ MR+=IE;'*BC&,9DN0B'Z&QR81PZX'64B/V<^"!9F?#LM837D21,!C2A904])K\IGL=X M6-+A]OF8_^9DR)$6H2ARX>M8$OMIL@W-,OENXM(* M;TQY.(@7HYBTB$7412T=-^(WR#%-Y9Y9G=XK(E;<8ZI;SNG([V.I*<8T6MB! MDXX3B9\36P*1#+)JSRK@]5(2L&>L%(K;0Y:,"8U2,L!M$8(DBV('[([WB)_W M[D_IO:VHQPRW6,3#I85-*@@FN92V8Z,[DB5> MW@)7E5PG>9T:&==[> G:"(G*/"GT.\3^VO/2]& UY3)HAK*GT2J% M]JKJ'>'?B9%I(TW+?%O$PF#IFN^.6TGL3:"/O(#5Q@DPO11]]O1?2-NQT1T[ M$S\[/TAH[GD)*03TUVRS%>B1%1R2Z ^A'5/@57KV%(QY?3I?!@[>)!VS$S^S M/TB1,I9!09!BAV[O?D=?V$'D!T=6>96=;=.X%8 B[\JKKA4@_E; 71-L'!X, M5[XVJ=BQ3J0=S5,_S3_T(F=3)1&K2RT2ZYP_58MZ^X:CC-1\V\3F2\%"2CP%G3$7-A394S/F(1XN.=B$\.!:TN6=BQ. M_2MDCP',+)N\T,<+8#S'X7!Q;Q,+<>2"WG$QG7L;D,=]6>953PIT;#8Y9+:3N>D8[!J9_!ZY68V?#X6;+-WGR>^P5E M>VF"$)BP<:5I^*_0IT(SP&#MY*EE88[['49CK46,Q(%C'4P[UJ9^UC[/C&Z[ MI!ICM6?,XWC8)EMDB,.2L*/ZT$_U/VS)J[3U@YRM#8B'SO$C^]$OBEVW$/J[ MA>I8P51LIL"OK]NX8JT3$*OHMJ4OL_H<=3]3U'V$K7ZT5GX_A'-S-QSW+#AV M14#78X3^'N/_G8=NE>69AXMN48263P#8U?6&7><2^CN7X;YA13K)<*O.S$)Z M@4T*ZS2-.Q MGC>R4 \J?&P6#G?37DJN:V6\MD8XM;H871V<7A_1>E[PBU9KOW$MR).EM9_I MYC:_&,W((%6I+) $B;]'=:.JB@3!C%^3S%&ODC9N7G?2?V#?XG5CJW_J M/)07HY.1R-5*ME6XM^N_J>3/6Y*7V_>CD36^F#KM!D6U-K$?_DE MX;"QX63VPH9YVC!GNZ,BMO*]#/+RW-FU<+0:TNB"7>7=,$X;"LI#<'BKL2]< M7K<>3[P7/S\J]T@H2I.+AQ@B85?B01=&KW0F31!7669;$[0IQ,)6.M/*GT\# MK"!9TRQIO(X:YR]H/!1WUH32B^]-KO+M_5-8W[LP[URXGK\J\$ZZB3@\&(OY M;'[TBKS#'I)#EG?X/X0D:CS:K9$2[]0W,E,7(V26AU8UNOSVFX-WL[-7_#GJ M_3EZ3?I_Q9_7-=XL;L6-=+GXT=FV$;;K;[\YF<\.S\3!1/Q9 MW'8(V 7,WKK463D&$H4BZU 0BDT3/8=7$\BLW4C#82.A?94#)5SP CH88<" M&/"-3)_/SJ"#KP[.R&=([%^PC*?T\@T)DJ*13Q'9H++2V,H6G;(G=K="H2>G M&F]=ZJDRORH-N*TB+*BAPAD2W4WA4J)CX80CL'T$X8"%BA3H/;G MW:)<>8 Z)G5YRW5[+$ '20'UULA*?Y7Q*=+ELRS(-#)SU58K756L'A;NM@G@ M,=:L*:%!%9R"1 !F@%0'*%1+'5CLPJE&ZER\YR0_]^AMD#:P1>XFDBYO; M5Y;UW%TB 8TB@M<62?XRV$PTVG9P?.;_$%X;Z,@*$?9;=$'&V2;H6G]5,4=[ MFML5DA)\](PX!VX[;A/Q81#4F[3LBD0&(=J''L*5)>U$<)#0NB"7%8!6!:?K M::(DJ;I)M-TF*[WYF>I)5/M\>2<)GFO4,UUU&,#M%[(G%M98!X@Y016.*_4V MNX 0/=BGO"#K5[TT;7S0(<$UZ-U='\CH;8]V6OS[QOPVAVD?5M>8HPR*C_MC MQCP/7"(L8]P5W,Y$;;*J)<,RZQ ["$&+:JC)0=BU1)PIR@OJ]29P01,W"B&& M=FWBI-VE[LK:8- J1:Y]5EG?8I,PM*1B@95L0@DK=C>H76OA,(]$PZ"5!."YE_0E*FB2+E':$ :1%9K$9A<-Q= MAK5O8HZB"\)^H\ O3[UYE=KL2FHW:.S2&.'" :'/:F(JR$;]3-NHF.G$;?0RK4L T]&:QQMF9]?>7>A8E,9LE M359%$X@5S'3R_@5[=DKSF,M[Q>\+(A(X5?$"PU/B M)LW#CER\,J:%C'LNE-2*.T;]O8_.DY(.TP8)^0UR$_'1>-\S<>\#RG8FYB>S M-Z?BMJ;NG52##O?#D-/M?#\PLIO<.;2.XHVI3YF2XI;W;7>#PL TM\W 7!IB M!_N[>95/($"9/PWUI:*;]>A^!9'PG:H'9C6% X=A(JY0QH="%!D-\UJ?V1N0BQMR]I2"V.9[=DM+=]?>%6M Q?+S9!2EO62^"2L<) MZ4NQHCF;FWL/Z9]EX'=C.EYC\!8?*'$[\AT?[2+?L'*3=+LX)XEDLBB<*MA9 MGNVH%M#Q1$<\!QI2AUTKJD:(=)XS&#P(#S,>"7)\Q.8"(VA6_4O(>_1_0-[O M_CKR[OI0-]WX+HM1N>"OSUS>38B?:/NG_0?NJ_A==U@>OX[?28?P>?2O%;;. M)L=O1\+%+\[Q)MB&O_(N;&PO=V]R:W-H965T&ULS5AM;]NV%OXKA#?LKH!B6Y+?TKP J=?>#5BVH&E[/]/2L<1;BM0EJ;C> MK]\YI"3+B9-U0#'<#XE-ZO Y[\^A=;G3YK,M 1S[4DEEKT:E<_7KR<1F)53< MCG4-"I]LM:FXPZ4I)K8VP'-_J)*39#I=3"HNU.CZTN_=F>M+W3@I%-P99INJ MXF;_!J3>78WB4;?Q7A2EHXW)]67-"[@'][&^,[B:]"BYJ$!9H14SL+T:W<2O MW\Q(W@M\$K"S@^^,/-EH_9D6O^17HRD9!!(R1P@Z]W/T/KSYSP,BVM_\]V039. M1RQKK--5>Q@MJ(0*G_Q+&X?!@=7TF0-)>R#Q=@=%WLJ?N./7ET;OF"%I1*,O MWE5_&HT3BI)R[PP^%7C.7?^&>;_G$NSEQ"$<;4ZR]NB;<#1YYFC*;K5RI65O M50[Y\?D)FM';DG2VO$E>!+SE9LS2.&+)-)F]@)?VOJ4>+_TKW\:GG MG9Z?/ M4B^\MC7/X&J$Q6[!/,#H^H?OXL7TX@7+9KUELY?07X[ZRT>3,>M/LP\EL+6N M:J[V+!>6%X6!@CM\(IQE"N6LE]OLL6;^J[$9=6,R8-RRK9;8D/8U^^&[53)- M+[[YYX?2 !R5",,$9V6?X5[RSNB\R=#@;N,>PRTR.&Q\T(Y+]A-LA&-OW[/Y*DJ7<2_W/4O.H\4T&6RLEM'Y,D4=4'.1MQA#6^/DJ>W)+(K/5\]M M_Z(<& L%*.=C[8Q*GKP:K9+A(YZ]:A[S]\7PU,'>>1LOE<".. MX^@\7?SCZ4F_17J6BVB:#K.1S*/S>3IT;XKNK>9_,S_Q>12GT^>VOR8_LZ.4 MQ,/%(CWD9SF/EN?3@;VS>31=##V*DVFTFB??/#]]U _=3H^2Z47WQ"_CBT&; MVS0.-3ITOJHE.-PA98W:""DACX[4@D6W M/*D:> #5 -&IXY^%*NA2T6"A9!@8Y%R%D3 M%J]KN2<1C)'31F0HAM>> L,7 M8H%E*3F&;%^#ST27!XNA=E!Y.-E07PKU=:DGHW.PHE#>@A!Z?_=!^'?8!"H3 M:,5=&ZHU)2EJU9"E9 $:SB],?;QNC,=X1$H;%C%&RO<)/.('8 MCZVI1R#>VE<,JX6S0NH-6N$@*Y6/"I533AATAW3X1_G9,P)8ZXC]^NMZS 9H M'@3'G"#=*(I!R_&BBNG%.%$(/H[OQ]X>C2N#7C486 &AUK!^&G7R-$@+V#$& MQGZLDL8!-*9H]]2PIY1XZ-;?GFM+RGX;I.Y8ET\L 18_8 M//O,"]\2CU![9[!+CUF>H FX,+S"Y"O\$6!0%0%8O74[]/Z,VS-^UD(\<0 - M#FR$K&1M0ZR$#4#0GH#&[,;Z/L0R0[*(3I##_SD1K#LN7G=[1U<^#!(0']*X M0Z48X-"1AW*\P0LA4!ILWYBW]S>V[TC/^717[!EYS/X-"@R7$AO\"=6&)AK. M%'*AT#H/3_ID^ZG M)+[,(8&M\G;&ET- NM# ML>X'T]IG$M7_'M3S7K0;E(/DM**Z$^WMZ(+>;_@".1!BVYT^3J[4%AY7T$E4 M5W)W5)D[WE4;1:^%+F@%99Q6 M!B2G-NQ:+-PK\($46^B$.F/;K).SB%B3ED +)!3TBY.$6;=$!%]J4+:=#>V\ M:-'\\0,SMW<1I=5C=:\X'SV7^9_U1 -' MU7-(+Y%7H[PC%/\35O L,PT<_/S&EI#6%MIGO;?,][Q/0DA]X&ND7:%S/TS; M(J)^QC'U^!=Z^%$]&;S6P#XK_,L;&P9Z>,/1[_;OAV[":Y&#>'BY=-L2KH0M M'IV.E_-1(+1NX73M7Y)LM,.F]E]+P.EO2 "?;[5VW8(4]&_-KO\$4$L#!!0 M ( /@YIUC6%6%"A@( & & 8 >&PO=V]R:W-H965T&ULI55M;]HP$/XKIZRJ-@F1D 0"%)!*NVF35JEJU^VS22[$JF,SVY3NW^_L M0* K19/Z)?:]/?>K9Q.UMH)+O-5@UG7-])\Y"K69!KU@ MI[CCR\HZ13B;K-@2[]$^K&XU26&+4O :I>%*@L9R&ESVQO/4^7N'GQPWYF / MKI*%4H].^%9,@\@10H&Y=0B,EB>\0B$<$-'XO<4,VI0N\'"_0__B:Z=:%LS@ ME1*_>&&K:3 ,H,"2K86]4YNON*VG[_!R)8S_PJ;QC:, \K6QJMX&$X.:RV9E MS]MS. @8OA40;P-BS[M)Y%E>,\MF$ZTVH)TWH;F-+]5'$SDNW:7<6TU63G%V M=IGG:BVM@3O,D3^QAI0+I=C M./\PC*/DXMTK76->^7O\UW)-1.H%ZJ-&=^G'E G\T*Q ZN37Y9Q!?]3)AD/: M#$:=..W#@UQP(:B^8^X[U&%G-,I:*>UD@+[5G+DD_&1TH*$VV/X9C/UAXT/4UZJ6? M;09\LO9F]=%%++@T(+"DTZF;] '0SSQK!JI6?(0ME:2+Y M;45/ &KG0/92*;L37(+V49G]!5!+ P04 " #X.:=81)EO"VH" #D!0 M&0 'AL+W=O M.K>VE4CG?*MJRF ED-PV#1&O2ZAYM_ B;V]8T[)2QA"D\Y:4\ 3J6[L26@M< MEIPVP"3E# DH%MY--%N.3+P-^$ZADP"B'@FQKM>;=5QCJ M&9M\&:^E_:*NCXUB#V5;J7@S@#6#AK+^)"_#.QP DO # !X V/+N+[(L[X@B MZ5SP#@D3K;,9P99JT9H<9:8I3TIH+]4XE3ZP'3#%!04Y#Y1.:,Q!-H"7/1A_ M ([1(V>JDN@+RR%_CP\T$<<&[]DL\GZ VXM M7M'0,N?_A/VKZ?CS'PRT?3I-WNSG*(G].(D,C] ?7SG.QYH>'$Q> Z*T^\5T M8D7QUL[QABN]%:Q8 MZ34,P@1H?\&YVBOF K?8TU]02P,$% @ ^#FG6+:[HF@H P P@@ !D M !X;"]W;W)K&ULQ59M3]LP$/XK5IC0)@62)FG2 M0EN)5PT)- 1B^VR22V.1V,%V*.S7[^PT:8%23=.T?:GOSO<\OCN?4/ENEBZHP5F'WP$$2T!@XVX/LE&>4DUG M$RD61!IO9#."3=6B,3C&S:7<:HF[#'%Z=EU2KEUR]MBP&FN-XB5@DH4H,W)1 MU5(\@3$K0GE&OM4@J69\WCH1>X5[(M^[0^5(*=!JXFF,RG![Z3*"XS:"X(,( M0G(EN"X4.>,99*_Q'F;3IQ1T*1T'6PFOJ-PGX< E@1]$6_C"OD2AY0O_8XG: M"*+-$9B'>:!JFL+4P9>G0#Z!,]O=&<3^X9;\HCZ_:!O[/\EO>P1#LKLS"OSP ML%^'^^1OA]41PHJP[ G96T+1$UHG(CO"!A7:$J8"OTU* WKG1!= _W3F%%*I[D!LW3>MO,N)CHVF!Y9 [E21GG/*T+Y!:G1*Z2;+A\-9\WDC.="/!189G([3U3D55-QIY M5^=T2&SSE>PG:VWPZM9ZE\2-!N,UM!N&0W*"=Z5ETXX"Q@D"YWCV&LP-XFA- M2Y+16E=]W 0]8NR.1^-W:7]DQDOSD^"]/1B[$?I?FM!HFC954U+381G@RT\9 M;4<9%HQ60FKVLS5T\,^)[_KA^,O*$,=N%,8K ]XNGAR&1@A=?QAV.YL^)-[: M7*E SNWT-'W?<-V.F-[:#^BC=BZMW-OICGT\9UQA(7.$^OO)T&G+V2E:U'9* MW0N-,\^*!?[) &D<<#\70G>*.:#_VS+[!5!+ P04 " #X.:=8#$7=16H% M #?$ &0 'AL+W=O-Q3H]B46 MR;N'S[V2S.G:V"N7$7FX+7+MS@:9]^7)>.R2C IT(U.2YI6EL05Z'MK5V)66 M, U*13Z.)I/#<8%*#Q:G8>Z#79R:RN=*TP<+KBH*M)MSRLWZ;# =M!,?U2KS M,C%>G):XHD_DOY0?+(_&'4JJ"M).&0V6EF>#E].3\P.1#P)?%:U=[QO$DMB8 M*QF\2\\&$R%$.25>$)!_;NB"\ER F,9U@SGHMA3%_G>+_B;8SK;$Z.C"Y+^K MU&=G@^,!I+3$*O_>-OX MH:=P/'E (6H4HL"[WBBP?(4>%Z?6K,&*-*/)1S U:#,YI24HG[SE5<5Z?O$& ME86OF%<$9@EOE$:=*,SAG7;>5NQ][T['GC<2\7'2@)[7H-$#H#.X--IG#E[K ME-)=_3$3[%A&+C!_:!2/B>N MQ(3.!EP?CNP-#1:/'TT/)_,]E \ZR@?[T/\MY?V@AR/X#MQ:YB;(*"8RR4J,*"MZC=DBP@ MY ICE2N_ :5%UMB4;+ZI1;"NWYC\FDAS\MLK!BK1>I6H$H4@[RU4"D)761+2 MD*(G>$*WRM<,GX[8).;NR7(9*;V"96?5,&A?F(+1-E!YIO(G,6I/!#)%%FV2 M;6I3&=-8Y8.<*"M=5DR$S1)Q#(P])9E6UQ6+5*YV1L.P#ZRT^"*S1!!;@RGD M=$.Y&\%GAEV:G-NFL%7")[:*EFR$2ZPJPQX<,Y\91PU"K7L"CQ^].#QZ,8?W M,H;IXT?'T32:?VVIN=#)4F" 2F/Z!_<9'EU71GZ"NUR(1&B9C<<=D[&@4G:N M2CA!0CR=!+2-GA*?):SK5)Q3"'$FN5 :#A6;()H"-0)A.9G-OR$?->3A MMUAJ"@6Z\;9A'"OQT*VA#?DA'S)))AGZ/38Y5:@<;6L1ZK1OTO N1JL<,@$Y MG-KX%ICQ:EIM1K0R9DN?91*4C(;$6&MB8U$VB#=]H2;/V358LZQBYSG;N3BE M,B0Y*JXLR>>P+C/WQN0AQ\Y:Q]Z?%N:.NW=VZ6^RV9??31K0K9=(!W?Z< M>(,<"EX()6F)78)M!=2A\BU5CL,Z4QSE("CUP4R\:*HEQW S;#T8 B,D]_#_ MVYS\O&T0P6U'<_9'URSOSYS=_+!T72E;NRFTR&?-;JGLOM,0 I?$\.&IQ:_\ MY4RNTCI),.=-"<*1[V MMJ-K&D6H_#;6/_?W JW=2-C:B=?.JR*8\*.WJD\O M=@(WPW:N=ZP]N'#9BS:'X%+:>W?+Z!2VTP_///GBQ-0>]MOVN'C:">V@[@S: MYK4[CKX9S^#]-K=^?* _D>8C#7[E7N?@%X@.CX;'+XZZY7IF>M"?:1O(/Y'Y MV;__O[Q\Q9>I(N83I4G-6:>SL[)W\GL3=';_X+^N6JZ^=(=3 M522[^1(W89)0KD1E:^7<>_169!= MA:>U@[!I_?[L9KO7^\OZT;H5KY_^W%!7BH_TG):L.AD=/1^ K9_3]<";,CQA M8^/Y01P^,T)^(X@ KR\-^Z\9R ;=_S06?P%02P,$% @ ^#FG6&5WA31R M P 5@@ !D !X;"]W;W)K&ULG5;);MLP$/T5 M0@UZ4JW5BU+;0)*F: ]!@ZYG2AI91"E2):DX[M=W2-FR$J=&T8LI#N>]6QD$NJBAH7HB6Q!X4DG54(-;M0ETJX"6#M3P( [# M6=!0)KSUTLGNU7HI.\.9@'M%=->TQM,6N#X^\#^WL6.L>14PXWD/UAIZI6W\$@)%>VX M^2RW'V ?S]3R%9)K]TNVO6Z$RD6GC6SV8/2@8:)?Z>,^#R/ (OP+(-X#8N=W M;\AY^8X:NEXJN27*:B.;_7"A.C0ZQX0MRA>C\)0ASJROBD)U4)+;1RRS!KT, M#++:LZ#8,USW#/%?&!)R)X6I-;D5)91/\0%Z,[@4'URZCL\2WE$U(4GDDSB, MTS-\R1!BXOB2?PQQ\E*,/47Z,H6]&9>ZI06L/&Q]#>H!O/7K5]$L?'O&P71P M,#W'_D\U.,\PGY#G).3UJT4<)F^' S@<%!*OE#8HDA4Q-9!*00%-#NJ)T%9VO$D&+UNZ4^@.H:+$.\^I=1.:ELL=P#&$"[+P MHW2&:Q3Y:1(=@SRHMJ#;DMH>IP;RACR- Y"?S M^1&>+09["G)T<:PY3<.3K,1^%F7DAK;,4,Y^(PYK8!2^2/BAC;9F:<[A2#-% M%T]Y[!K%QY(R80#;T0P*69:=@&;^(@G)3:<4"$/P-5?48*U=ABLF,$-VQP&? M-L(9S1EGAHU"FOM1-CUAG?M)=$R#KJD"3$;;8?GI.->IGX;I*3I)R"=L/35( M%OX49<_UIOXLG).O$M.&[_>S/KX@:>:CVJ!]09*IOQ@)>A,G0*IMYQ];U7:C M[_+QI%EM7_JCV](JAG.+\9U%5U!B(CF6H) -.+"F',FQ&PO=V]R:W-H965TQ#=B^-VV O& GO>A':I>2V'#)O217LOOK>X;[7KL2BMX'A85 M:CR;3!;C@DL]NKH(8U_MU86IO)):?+7,547![>.-4&9W.9J.FH$[N=YX&AA? M791\+>Z%_UY^M7@;MU)R60CMI-',BM7EZ'KZ]N:$YH<)_Y!BYWK/C"Q9&O.# M7C[DEZ,)*224R#Q)X/C9BENA% F"&G_4,D?MEK2P_]Q(?Q]LARU+[L2M4;_+ MW&\N1^4Y*7&>7"?[:++$63"K%\R"WG&CH.6OW/.K"VMVS-)L2*.'8&I8#>6D)J?<>XNO$NO\ MU4>CUZ^_"5NP7\727XP]9-*7<5:OOXGK9\^LG[-/1ON-8[_I7.3#]6/HTBHT M:Q2ZF;TH\!.W*9M/$S:;S$Y>D#=O#9P'>?.?,C ]9&$4<')8 &7%6U?R3%R. M$/9.V*T87?WU+]/%Y-T+ZIVTZIV\)/TG\']Q_7/:G<\F\W?L/&5#^:SYOVV ME?__^NTT'.BU/XW4[[_,V;W0TECVV7CAV/'T5?OUB,T69\GYF[,#(]\U+XSU M\M^P#9DMK,7#2FJN,U@'PYUW[;+C67)ZUA.,]S>3R2OVS7BN]C%[HO#B-)G/ M%@?&3Y(WT.2C< [I#P6T1[K[RDHOA3N(TW1V&#\:_SA0(V$:- ^OO2#YZ(EN M1ZU6A.,W.'P [E)PRZ3&)L)YQO$'R!X G.5>T&;GZ6)V^@M+A\N^Z-JYT],0 M9_ JQ=*M*4JN'X%U42I!0<8UA, 7Y('E(Y-PP6Z#B'M\;78:WUVU=#*7J"@) MN_WZ@=W^C7W069K0UD?SZ22=@#>5"B5@O;9B36J5$)?)$HZ"QROM>WK66MX+ M@ 3Q4=N\$J3D@AV3DH3,;/*N;T\8FKY[%7+("L5)]77%+08B6B MG6M=%4%H\!4^[^&V2&%N+40Z5O)'OE1AFM_?L;A'%FC MDG8V=PY![[@" F0UU?"S-E!7VW\"_/FG:\/*83&%@E'\8/D01/G4,BB*90#C@GJ M:)[6P[ Y'F84W:X4H:U4CRF[OOG([L36J"UF_PF]D8R!'V',TE@T#\(FV)D2 M.B=V, CN6SQ+SZY!7@&OZ)W?T39YWJR)3()?GB$V4;C)["]^M M21BI@BZ2&,L2'])@ G>;K0S)1:#P.HU>!T 3YF*2NYHC;; ZE,BHZHIG4E$^ M]^FRCT]#ES&[!LA%GG.-U^ *)8G< $6@@R?YL0@FT%Q*H9A?B)\W$[P_.J)Z M8YLL;(FF#M(^6Z6=T^9)[>$7?#;TTC4A08WS(O._/CAYLL=DEUG&YPD?\1\J,K(H-UP3TSE MR/# CW7,&EBJZDN8N=MZ171%: MGW$:_2=.HR&DOF3>A"([_1^C:O9<5/U9W- ZGO\+W-X6GH).;0H%UV15V" 7 M"IR JA$+54@IPS+%K5Q%8SU"P(>YO5HL-15C8\%_-TV N5Y@-2H-U'FN]>D: M'G Z8*W-Y66I9!:".+2RY)G:'NK/B9\:XHDW$Z O5;G 6MW288@A0-92#QN= M BU,O"^ 0*,%.0H(,V(Z^? Z0-9IT( NW8NZ$%B3=#KYA:R9I',\Y*($*!1P M-<<%F7%GD9-.UE3KS?!X-D_VL3AD$)[1!^4QYZ;I:=QVFIZ='MB6PQ>@^Z:K MJ:DB$G=SM&N(O"F-A:$-41.U5_TN'?ZROF&H2E>4V"6=I8QN9 U"(#)(B"90 MB*V(2MJ@K-?361>T C],@B5=>/AG$"I0QB4 ZC*T:_F[1O^ $E0C 4$?E796 MY>@UKVQ#(;(HX&#(A*HE81% #@*]-2AIV#7 M8#O%.O=3?^-W0F@XE,X')#&Z]OC0CO$L@I [J^=&%(_WE$ -_K4YZ[YOJ? V MG'7#A8!T64#NMD[YK/V4UY]"+UX%"8&*EQT3<%0$*U8QM .-XC6OXI5,;-45 H")V;>?@"(;V3J \IHON3$I] M?0")TN6_Q&AP7&CN<5Y2F,[_C=>B"P]84"L^R-?^L;:K2M&<2?KF@#DU"J1A MZ$]" ^G8<7/W0#-;JUXUF]+EDE&R+N6UE?%Z^K"MA^[@QKW[T$+8=;CUQ;&- MK(Y7H^UH>[%\'>]3N^GQ5OI32"6BAQ663I!M(V;C36]\\:8,MZM+X[TIPN,& MM"\L3<#WE8'CZQ?:H+UNO_H/4$L#!!0 ( /@YIUCY('0'9P, )\( 9 M >&PO=V]R:W-H965T9J>)2WC M,EHMO.U&KQ:JMX)+O-%@^K9E>GN%0@W+*(OVAF]\W5AG2%:+CJWQ%NV/[D:3 MEHQ1*MZB-%Q)T%@OH_?9Q=7,^7N'GQP',Y'!57*GU"^G?*F64>H(H<#2N@B, M/O=XC4*X0$3C]RYF-*9TP*F\C_[)UTZUW#&#UTK\S2O;+*-Y!!76K!?VFQH^ MXZZ>4Q>O5,+X7QB";U9$4/;&JG8')@8ME^'+-KM]F #FZ3. ? ?(/>^0R+/\ MP"Q;+;0:0#MOBN8$7ZI'$SDN75-NK:953CB[^B)+U2)\9QLTB\121&=/RAWZ M*J#S9] %?%72-@8^R@JK?^,38C+2R?=TKO*C ;\R'4.1G4">YK,C\8JQO,+' M*UY87D#/GD:["W%A.E;B,J(3;U#?8[1Z\RH[2R^/<)N-W&;'HO\GM^/H/V.8 M!H#O#<*U:CLFMV]>S?/L_-( UC7Z4P^6;4 S2WYT$ZB6/YR!!_R &B&?Q^>O M@@DOJ !/AX&Q)(\; M+]@ 9V^L2..ZJZ5 M*\I<@..8%I59G,+K!V10;]V&NA+0G("D MZ7069P\2I05NL350$(''B"S.1_E# M.#AW7'"[!<%;;GUB?[EP4Z(Q_K#2Z J$WF;Q_-U!R'12T%_434V6V2'5+,X> ML!_'0_&XQ^X"3W&ULI59M;]LV$/XK!RU85T"09%E)W<0VD)<6#;!N1MQVGVGI9'&A M2)6D[&2_OD=*5N4A,0;L2TQ2=\\]=_?PF/E>Z4=3(5IXJH4TBZ"RMKF,8Y-7 M6#,3J08E?2F5KIFEK=[&IM'("N]4BSA-DHNX9EP&R[D_6^GE7+56<(DK#::M M:Z:?;U"H_2*8!(>#![ZMK#N(E_.&;7&-]FNSTK2+!Y2"UR@-5Q(TEHO@>G)Y MDSE[;_"-X]Z,UN RV2CUZ#;WQ2)('"$4F%N'P.AGA[ M&JOJWID8U%QVO^RIK\/(89:\XI#V#JGGW07R+.^89N*6NKZ2LG/[M<6Y4_5DH4J,T;N,.2Y]S.8TO0SB#.>YB;#B9]!68*GY6T ME8$/LL#BV#\F2@.O],#K)CT)^)GI"*:3$-(DS4[@38<\IQYO^G_S[&"REV'< M%;DT#":KIO2!EC3:/(J@('QD'J A$8PNH^MK93F_W"Y':.!56/3MG$'9VD2 M)21_(=Q-ICC'X7-5UW1N7%HA-$S#CHD6X8R\D@DT1-QSB.!+QGVTEZ11^^]C* NZ_O86OZQ!^7X6PKSA5WP61^"]1]*HV-"K_ MIE;;YZ[,O>:IU*3+LN2">VH^,"#/\9+'\ 4$L#!!0 ( M /@YIUB7;%M(M , -X) 9 >&PO=V]R:W-H965TR:4[W8=V,DVW^TQ+L,4I16I)*D[^?D'* M5MUUXB:[+Q(OP,$!"("<;Y7^;AI$"P^MD&81--9V%U%DJ@9;9B:J0TD[:Z5; M9FFJ-Y'I-++:*[4B2N.XB%K&9;"<^[5;O9RKW@HN\5:#Z=N6Z<K:1:-*#5O41JN)&A<+X++Y.(J=_)>X!O'K3D8 M@_-DI=1W-_FC7@2Q(X0"*^L0&/WN\1J%<$!$X^\=9C":=(J'XSWZ[]YW\F7% M#%XK\1>O;;,(9@'4N&:]L%_4]B/N_)DZO$H)X[^P'623,H"J-U:U.V5BT'(Y M_-G#+@X'"K/X&85TIY!ZWH,AS_*&6;:<:[4%[:0)S0V\JUZ;R''I#N7.:MKE MI&>7'YB67&X,=*CAKF$:YY$E7+<;53N,JP$C?08C@T]*VL; !UEC_;-^1'Q& M4NF>U%5Z$O 3TQ/(DA#2.,U/X&6CDYG'R_Z7DP-&_C2&*XX+T[$*%P%EOT%] MC\'R[9NDB-^?8)B/#/-3Z"]D>!HC229PC -7S/ *F*RAYJ*W6 ,>"ADOQ U4 MJNW\]NJ1).]Y32(@J2UP25OHEFV#L/5YCO4[=H^:RA9DWZX(1ZT=0DN%YA$- M4 ET1$L):JQ9NF69"H,A+ M\AHN.\V%S\')$$L#^%")GI)\$'?0_V)^(L8KK%A/EDB+:Q=5T?O6ME6](/9( M9V3Y.P] C8IB0#I9&999YD\OG86S+ 'JP]ZN;30BM$/AH2L\H+*IFK%N!J4X MS4)RTW3HVY]X'"*_5H+:L3\3MA(47[3&0=MF<,KGPNC4Z@4I= %OW\S2.'O_ MG_]?O4>'K>3 H[V0]\QY!9_[EG+#*OURRY]_9/,93,-\.AVWSB")P]EY]FK6 M-R@5]>77$1EJ\BC+GR^@) G3H@B+LAPQ:"DK\[!,2KC9Y\Q.:)VSB">Y+.#TXHG MY;%?OSRKYXO3&RA^-C#R?ZK!1P=W+B7BQK\L7!?MI1VNWW%U?+Q<#G?V#_'A MY4-9ON'2@, UJ<:3\VD >GA-#!.K.G^#KY2E]X ?-O0 0^T$:'^ME-U/G('Q M2;?\!U!+ P04 " #X.:=8NKFA2$8( #'$P &0 'AL+W=OY!?IBKR1R>&;FS)F1+A]]>(@;HJ2^M-;% MJ]DFI>[U?![K#;4Z'ON.')ZL?&AUPF58SV,72#>RJ;7SQ[OI1[ MRW!]Z?MDC:-E4+%O6QUV;\CZQZO9Z6RX\<&L-XEOS*\O.[VF>TJ?NF7 U7RT MTIB67#3>J4"KJ]G-Z>LWY[Q>%OQAZ#$>_%;L2>7] U_<-5>S$P9$ENK$%C3^ M;>F6K&5#@/&YV)R-1_+&P]^#]7?B.WRI=*1;;_\T3=I##:^^M6%1-BP$=SY( M4+[525]?!O^H J^&-?XAKLIN@#..DW*? IX:[$O7M[YM34*44U3:->K6NV3< MFEQM*%[.$X[@A?.ZF'N3S2V^8>Y,O8>!353_=@TUT_US0!OQ+09\;Q8O&GRO MP[$Z.SU2BY/%^0OVSD9_S\3>V3_E;S9W_KPY+IG7L=,U7PYR]9__M@7S9WNIA:4'=<%;4/C78U@7AIHW3765/KRI(\ZF6Y M6O=&UARIM"$8:3OM=HIBPD(#\C$\7A]Z:A1]@6)$V-N04];'J.K)J3J0JCS. MZH*O\DGP#<9,RU?'#"OV]4;5J+8H1V)'JW>JXJ5LW\<>MY+/Y@W?JPF__$HQ M,-TR\#@@.E8W^ T+*5% R6XA15V<^'+$1@#SK]YEM+C_]J)S8U1"V2@-A4+X9YFLI'8^T^G\]EDS<'8K( ,OX!?^==PU[F M<'/PR^)C]?&0)OFF^+-"EA!>;=6*F HQ^MH@<$T.N#7)K+4DH+;:M)GV6(5M MI0PXW76/XY'6>_21I):Z?M!K!G+O;<^;H[J_4=MC=;N\4[<:B/\3?-^!5S4' M3]UTP5@(BH@*I.6;9H[8SD\__O!JL3BYN%_>RZ_3BY_5RECB.'2 #L^-6P5. M 4-45C_&WB2EUVB),4W"#)+QY2=GV.7[))1Y:V(*IDY8U0,'&JTL&F\CKF\) M5KEN(M&#A-PIT+&CVJP,(QDST.@6O33'C3X#AV0^D#6TDLIBTS7@(+PNP<'E MO=+6$N\1WDWA9K\:@.I#\;:LXXT;9 .59_N(SFIW2%_-F<;RX%OUCHPS=50W MK?Y(8/Y'\D&[I#,[!F,XG.'ABCF+Y^2<5@D;G+=^O3O^'D1PL8/A)$\'NUP! MHPDL@FF3A(%-7P\N])&D>C 96))*:ML>D(6 4PXW'N:=3\4"#4#C!>RJK@_U MAL5*U102 CL\_E?VK)&(>R<.2VS$)Z:VNE.N!/8V)K8IPFE!5 JL,EY -UQP4*_6L:DZ3N+*0.X=T85$4'VN/RSJW0 M*+P[*K0.X VD( H3[QRKU1(K6;H_T)8'K:$D[I8?QI) 8&HB/DXD"8%P3%32 MR#R<8Y2')"J:#!7!^)2U:"3YDX* *NTXG^PG@CQXQ7M+H0X'3) 'P9JC."VX M9:[:WUC+H0*_T'N%!:%2;91U6Z230DT51IR\6+;+SMPS"11N+TJ<\]%#NW%Y/DT:SAGCYJ6-F-IT>VGRD5K"@O/G@C69,0=9@^ ML"CEKQZ9.!5(N#+IB<@8GE$:(21_.6%K:^]9W1D#[@HD2B0**HT?T1+5\/XA M'KP13+3]>S7>[,DZE%.I<&:X1":7+8<+8P*0=IZ[ 6L3O_$W_6P42$<,1&AB!Z]6S[VSSP\^KK04UO()*JF_QQ9K\\?^)ZKP->,"*J;H6M)\>__3)3(7\VRA?)=_*I!N]MR;?R$U*" MF/ "/%]Y1*)<\ 'CM[OK_P%02P,$% @ ^#FG6+S+"MX8!P Y1$ !D M !X;"]W;W)K&ULK5CO<]LV$OU7=M2[3CM#ZP=E MV4IB>\9QTUXZT\93-W>?(1(2<28!!@"M^/[ZO@5 FDHM7SK3#[9$$EB\W7W[ M=JF+O;'WKI+2T^>FUNYR4GG?OI[-7%')1KBI::7&DZVQC?"XM+N9:ZT49=C4 MU+-\/C^;-4+IR=5%N'=KKRY,YVNEY:TEUS6-L(]O96WVEY/%I+_QF]I5GF_, MKBY:L9-WTG]L;RVN9H.54C52.V4T6;F]G%PO7K\]Y?5AP;^5W+O1=V)/-L;< M\\7[\G(R9T"REH5G"P(?#_)&UC4; HQ/R>9D.)(WCK_WUG\,OL.7C7#RQM3_ M4:6O+B?K"95R*[K:_V;V_Y+)GQ7;*TSMPG_:Q[7Y:D)%Y[QITF8@:)2.G^)S MBL-HPWI^9$.>-N0!=SPHH/Q!>'%U8+*^&-?X27 V[ 4YI3LJ=MWBJL,]? MW7E3W)^\A5\EW9@&N7:"PW4Q\[#.:V9%LO0V6LJ/6%K2+T;[RM$[70_M;?ZBP5^$G=)RD5$^ST]?L+<<7%T&>\N_P=5HZ?1Y2UPHKUTK"GDY M024X:1_DY.K;;Q9G\SMK7$#=B*!WS[S3K/YV_Z_;PKW%J\^9[:SKI.:$_>T+Y2146% M<%4P)#]URC^>;((;JC_4H1(>:2-I9X4.< VUPGI5J!9.ZAW)IJW-HY0N@TL/ MRAG+WV"P5!:Z@,LIO=MN9= &^EGH#LI$RWDDW4%,&.;B_(TCQQ&M3%U*"V_; MUIJ'X&[TG)UE'+QS["7? W (IY/AH3=>U*2[AC-@MN0J 2[QM^<.Q76#I(5L M4N)/F[>?2#A8_K0FHCIKI_XR,NLY%;8$Z_DX(]A M^@I%M*OH1[FQ@6OY.D9L2K]CV599Y\G PQ-?*5OV= @..=KCP)[KZD^A<+(P M<&.T^XOUU]T.'27M8(]Y5P3,X?YB]:_@=1/E(8>07-=U0N.>\"C<1!UZLF@^ MF_J1L,>8":2OE>HBC '+<" S$ @ ?DA6+0M3.4&/*2,87O$^+BJC:&\DE M.XK F ;/^!]\_Z&SO"L6)APHNJB>(7VP)=EW0:@-ZZ5%%I^M@E2:J:K8()AV MLC6=!?:>IQH*6A^1Z[ 5>W2?!663[A2CQA0+X4^Z&,(;(@7,($$I 14#$9,@ M',,C'CV(NN/:'$A 3 M#+]@M2[Y',B%P"H>#EF;$HHG%O4P_K%83]?G-$79#7:"\9Y094QBT)[*RN29 MH]AM#]&A02<3%4ZD\UB+'+"H=(AHT/4GYHWA.,X?LI(BN!7($R;V>[PBQ/A^ M1=0X';PFQV#]*CM=Y<=$^OE0/R&(G@PN<,3S511"\?]2 M?+X^R\[.EP>I_9M@Y//I:A5;6YH_C@?@++9F:$]X'^-&/S[ZN]N[C]^S)* 1 MZ/3>$Q(<:K-MC=*^2?67^ED6%X@7 ,ZGK_#J4==LK0O%(\*L+WDLK TYU71U ME"=HE:QC!0-*ZL-#E\@P$&[^"UQ,+4#$^-$9:/]3-\@8?&0?MS'N.5%+>GEE MYL:=._:#(;#2JO&M9!L),!A.I.XS5)9!4>2^/LGAC1.R[PXB8$12<&<)\ MV"?M#T;*HX/*[^/1I"@PFOC8*D*ZDC(> !M/O]=W-W2^0.^Z8_%+T_NM""'" MQ-I@B.PLD\N/QV+DR0@3!S1IAPVML4%(XF9A2H^'P2,9I M"W(9]KS@%_ZV4ODN:'4P@V&@*#H;8%D). Z/\+[TH)#ST&2&)M9W/C;$ #K- MY^)!:VP(3LI5.H0++G2%*7ULD] ,$L8M8SS:9:.Y\T"A1B*XM:8AT?G*V("G M7Y<.86[,E\^^V\U&K]Z-M+OP P-+(0(3W\*'N\-O&-?QU?UI>?P!!.JS4Y#L M6FZQ=3X]7TW(QA\5XH4W;7B1WQCO31.^5E* ?[P S[?&^/Z"#QA^V;GZ U!+ M P04 " #X.:=8LO$6&_P( !E( &0 'AL+W=O19H<\'2V-6;X9# MG2Q%SO5)N1(%=N:ERKG!HUH,]4H)GMI#>38,?7\\S+DL!A=G=NU&79R5E<_5X);)R?3X(!LW"9[E8&EH87IRM^$+<"O/[ZD;A:=AR264N"BW+ M@BDQ/Q]T:6W)7E5WKXD)X/?%)(9"(QQ('C-:7)?9OV5JEN>#Z8"E8LZKS'PNU[^*VIX1 M\4O*3-M?MG:T 8B32ILRKP]#@UP6[LH?:C_T#DS]/0?"^D!H]7:"K)9ON>$7 M9ZI<,T74X$8WUE1[&LK)@H)R:Q1V)%A'[6!9FJ=F[(A7IYODAU&EU"AN=KL*###]R=<*BP&.A'\8'^$6M MC9'E%_T3&QV+>#<+*HTW>L43<3Y [FNA[L7@XN>?@K%_>D#!N%4P/L3]90H> M9A'$)VR+#?NR%.RZS%>\>&1+KIE,L2_G4J0H*"+B=YE@VIW3S"RYH0VR$'P" M_U^L5"POE6#EG$E0%( )S3.A/?;NZL.7MY?L"&Q1!5 G97=4XZ_IC"D-SQC7 M6AB08F&]% 7X=^J 5HI[ 9T*!RVV1N^ &Y:LU@DU767$F%5:S*L,C.TVX8]0 MFM2B1XCG12(A4AMNA+7FI&_]SS]-PV!RJEFRE&+.@&F*6P^E(I$68'+^52@F MM37SVE*]>Q!)1:#!/LWG,A'*@QDET21+KA8P>"W-$B<+P)?5ME:GL9$7*5'# MG:L2,$:^GI-S0"+N>58YH\N^/KBQ[B@288_W]:/]SD,\R\JDY0 99:42^!,> MZMBUH27D2AGQ$5Q7B@*HJV2)$'4QM0)=6$^:\$IMA:V4),QN3E,T$)7'OK4O M=3'TJXWOHKS3_A-VJ3?<":%NP0B5>XP$AOZI4]0^!*>D;Y.-E.]%4N8"Z3.G M')8%#@IMF'A 3]/":_8-?R"'I)3YR"*7BO %SZF._K(+?RN=VB3OO,G)AP5H M*9L;=]:)4N>58EQ24JN1!+0:?/H,?%G)5=6-](\@UYB6:).90Z: M>Z<)6H2XS9[U7>UK>$TAF'##"$A/D 84QD(M M$EU*:I[7SR@H2T&YT!'=0#=^=)^SX YFI#743 MQNL/*.>D4A+&WK:[UV6%#,XH^7.\ATBTC-T1WP20/C!L[NQ$A:V"7]5G-OQ, M:+K)S&I0GU?/U70_3(;G\->QN+>@#0FUX9C O_(%*/9DQ6'X^N9"Z>JLAI"T MT?RP@DUR[';M_UAF4!-15EUWUZA9FPRL*Q5:&"%1/3?A4--R;GI#Q,=F/(%B MG[NN=]MTO=]VS)G[QI0=7=.CCKD&D+KY")-:20;*ME^[=XY&_6YVJ(>\N2KS M#6=3)Q"FW:X'<[-40N"=Q[[1"GJC?=+F[4'<1-ZN/N[<\J.O7ZP1_=?RIT;L MG1G:R#Z9.-RJ2Y'FZ0,-U*W#,YFC\)QS6T5L3+K(OV+3B3>;1"W!*X;!*9A- M>PLV"<+3WLI1&(U>]YZ#(/!FT1A9H^T[E^/=[(_&7CR9;ODD@)S):*?+^M*: MZZ;,YCKQO3B8LE]4J>WH,>_Y!KZ-9]L" M]#LKQ8[K[U./!&D/RIG6Z;8FPI MIMXD#K;%>^$N9TR\:!2_6'@(<@3M@RN5HPS6O]XJ*(0R]"8]KJ^L2J/>\Y&3 MVX_E=K0I4/'N0'V/:PT3[82;S<8O M3VK/#R8UJ-0X?%3G=:?[T3C<+L2C8,?:#KJ]Y3U&==>AMA@TC<.>;V;>.-AT MZ-B+QOXS#IUZ_FSRP\'_1UV?:SH=!G[WIA/X:!C3?D"#F1=$?F]A.YQ'X3C: MZ#JA[TU'X9ZN,XZ\J;\#?F,O#+<+9V]:;LALKI,)ZGU?UYEZP70;R6-O%KQ< M[-[ZC)#1\>&F$XQVM!X!&,GMQ9E&IQL^UG6\8 M%8-@]@V=)PCB7NN)8.2LWWIB+^KA"+DU],)GW0J8F?ZX]/VGUX.MH\T&>F^Q M?>2W[K7M%1MY\6@#V8'2=E9U?^SW[$M>FSM>'&X'=NQ-ID%3 (8_-##'R/,= MBH;>%"WC<.JZB68ST=I8/QD0OC5LN[XT#GN??G.A%O8#-[VS5X5Q7X';U?8; M^J7[=-R1NP_P\/A"HM0S,<=1_V0R&C#E/FJ[!U.N[(?DN]*8,K>W2_L=C@BP M/R]+TSR0@/8_"R[^ U!+ P04 " #X.:=8UM+.V6<& #<$0 &0 'AL M+W=OC:%+^KU.>7G=..2&DN MZ\+?F>6/U,1SQ/824[CP*Y91]N2X(Y+:>5,VRO"@5#K^RXZ4S\CD#::T2J:J]%.@^^E[8F#85>,!J/#'?8. MVNP;A-[W3B -E;110"+%-H4,H4U\'M9-RBL+ M2ZHJ8#LC3388QW.J?-3U.8E[K7@U9>LA@$E)%M43>R]?G(Y&@_,?)I/;<#D\ MWQ>Y7)"8$6F1& !4.Z@:*TRI/%NI:NMJ+KPW@AE"# >O?@T13ZQ724'BE+>X MHZPN8C:FK_[HB9OHBJF4YGN0**4&_W&T77[D:'LB0%?,90*1"9E^!#?$^WOP M#O4(68"UF%E()[6U?&]#=E\$V90XGYH20)N!C'H%G^92V?6.;(SOHER@.+=: M*NV1LU)4^#5IJ ]C@-*>^(#'ZU3Q5NB#5'*R9K((98N31@9K;^! .2.[ZM@# M 53!-] T4&--&?:3=1J*MC4GLG%+>L'[1!<8%64E]2-'_XP_6ZVYW-0%?.68 M90 -=#[6.@Z0@#@?0_R*(0:!I2((,/3=$YBSC>OH(6-M>'+NQ$3K&C;NJ#(6 MF=CG5U]#^ AF6^!I)+[8QLO?)L%\;Y% MMJ@=UM0^X0Q)AZ- Q;EU,5M<+S13!!TGHH$T!*G):J'D3!7*\^A!T5F4Z[ " MY[9J=#<,$M=E0;IN7*"'BL'!^R<&5/XG!-(ZM,U3+R+:NT$I:8ANRV9/.*XI M=22PR "-F]\ RMZ3&8-.*('3>O:1F0"YE\3(^=DL(F,P6\2.>->B M;4,3HU>H+7KPS^P,C1]O0^:+X:G'3%E+* ];NV._8^8)PE8G0ZV#\3-R5@ MM6BV!D2CF&3\K#3?K+ND*Y:Y H8#W"QCT*)$.FLYS")V)E5'2@_4UJ'YIACO*T)=GC4$&R8+"O] M'',GO%A$?N-@W4T(W"@R0TIOPRQ#:NT$TFG* P1V$? MAQXFP# #P[RL*AP^6[K9J%S,<3C52,$=8+GXJTVWSZ5G^&G5==W-TP%S2=@7 M146"$^ER,0[?]=#&);^QK\?C= ^^L*)_# M3)U#== [P1G+QF\)<>%-%=[?9\9[4X;+',=3LBR Y_Q^M5KP!NT'G?%?4$L# M!!0 ( /@YIUB+G...Z0( "\( 9 >&PO=V]R:W-H965T&R,VW1BN0TA*"'1#0+'X0FNH2P;(*3Q0N0>2*#;!&IXMQL9EC=<\W@LQ8;()AK1FHDIU60C MN:)N1)EKB:L%YNGX"^H^YR4HCQV-N,VJDVPQIBT&/8#!R)VH=:[( MQSJ%]'6^@WPZ4G1':DJ/ MYQ.2#,LPEUZ? ('NN*9 :/_:G(P5O%M;G#MW.; M2W&A5CR!B85?O0+Y!%9\^L$+W,LCS(8=L^$Q]'B.ERQ=ET#$DJ2%XEDF(>/F M>T5/C;R5$6?Q@J+_$'B;Q%HF\%89QS M(PKM4/6/#?Y6'O(4\8V"[KJT%]>^2S?GDN MEA?Y_ZB/-[(]YAYR_XT^PU>2>'TC8'M]0M\.1VZ/[]"WW:!?D4==._+I>^GR MULOA]![Q"F1F6I4BB5C7NGW/.V_7#:_:)K /;ULI2IP5>! E+#'5'82^163; MGEI#BY5I"0NAL<&8:8X='603@.M+(?3.:#;H_B/$OP!02P,$% @ ^#FG M6.6SXU2 @ +@8 !D !X;"]W;W)K&ULI55M M;YLP$/XK%JVJ5HH* 1)(FR U[:9.6J6H+]MG!R[!JK&9[33=O]_9$)JN-)JT M+]CW]MQS''=,MU(]ZQ+ D->*"SWS2F/J"]_7>0D5U>>R!H&6E505-2BJM:]K M!;1P017WPR 8^Q5EPLNF3K=0V51N#&<"%HKH3551]7L.7&YGWM#;*>[9NC16 MX6?3FJ[A E](&[M]WZ%]=[5C+DFJXEOPG*TPY M\U*/%+"B&V[NY?86VGI&%B^77+LGV3:^4>B1?*.-K-I@9% QT9STM7T/>P%I M\$E V :$CG>3R+&\H89F4R6W1%EO1+,75ZJ+1G),V*8\&(56AG$FN\ISN1%& MDWO(@;W0)0=R^F@/?3;U#6:P?G[>HLT;M/ 3M(C<26%*3;Z( HKW\3XRZ^B% M.WKS\"#@'57G)!H.2!B$\0&\J"LW#V#FYT#7-8>;A(&A0 M+^!E)T?#<7!Y@&+<48P/H6H^U^VQ33**)GL*3).\O8:^K\3?F^$*U-IM*DUTK*%LAE.P^28.MX9.O*.$>4SQJZQB+D93M%^SK&3N^0G+MO]!VN604 M0+'11M8]V"JHF>A6^MK?PPX@BS\ D!Y O.[N(*_RAAJ:SY1L0;ELR^8VOE2/ MMN*8<(_R9)2-,HLS^9UX06&D8JCA]"M=%3W+HF,A'["D<"^% MJ31\%B66O^,CJVB01;:R%N0@X3U59Y F(9"8C [PI4.9J>=+_UWFONHZ\&@_ MV/7%A6YH@?/ _O@:U0L&^4O_\_(#198+U'M#;J7VN=,X9&V]IAYF9&PW MDTE(DAANF6#V#RYA+66I!^PD'*?)8$W#9$)@^XYOT#_$$#\EX?ET_.DO!=8_ MG6;O_F/(TC#-$JFSP#A/JJFO,]_1N MO-E;73.A@>/*0N.SZ3@ U8V,SC"R\6VZE,8VO=]6=LJB<@DVOI+2; UWP#"W M\U]02P,$% @ ^#FG6$61P6,E P ! @ !D !X;"]W;W)K&ULO55M;],P$/XK5D 32-F2)FG2CK;2-IA 8F+:&'QVDTMC MD=C!=M:-7\_9:5[8N@H)B2_)W?E>GN=\MA=;(7^H D"3AZKD:ND46M>GGJ?2 M BJJ3D0-'%=R(2NJ494;3]42:&:#JM(+?#_V*LJXLUI8V[5<+42C2\;A6A+5 M5!65C^=0BNW2F3B=X89M"FT,WFI1TPW<@KZKKR5J7I\E8Q5PQ00G$O*E'OPD(=@&!Q=T6LBC?4TU7"RFV1!IOS&8$2]5&(SC& MS:;<:HFK#./TZKJD7+ODP\^&U=AK%#\#DBQ$F9%/52W%/1BS(I1GY$L-DFK& M-ZT3L5MX+/+C.U3.E +T>_.5KDM0;Q>>1GBFB)?NH)RW4((7H(3D2G!=*/*! M9Y#]&>\AK9Y;T'$[#PXFO*+RA(03EP1^$!W(%_:]"FV^\#_U:E^+6@31?@3F MA)ZJFJ:P=/ (*I#WX*R.7DUB_]T!?E'/+SJ4?76+)SYK2B B)W7+%0:N9<^5 M/>4J>J[6B4C+58OC!A7Z(M?#:(Y>S0(_?$?^]8]3D!9V#)ZNO(<4JC7(O8MF M9O89<4II6B!6^6BY]QTBKTD\Y?$C2;S4;0; MAE-R(;C2LFDO4\8)!FZP]BC,#>)HI"7);'0*QI.!IV"8C"%B[LYG\V>T7S+C MIOE)\-P>S-T(_3\;:#1-FZHIJ88,KVH\,BFC[6. #:.5D)K]:@U=^)O$=_UP M_G8PQ+$;A?%@P-W%RF%HA-#UIV&WLN\$>J.;N0*YL>^/PKUJN&XOZ=[:/W%G M[_ 5!+ P04 " #X.:=87C=[:R # #3"@ &0 'AL+W=O*:#W/K%&&_.V)#O$%[-[K2)(4-2L8+E(8K"1H' MO>"@O7?8X9[CQ,SMP662*/7@A/.L%[0<(1286H? :!GC$0KA@(C&8XT9 M-$>ZP/G]%/W4YTZY),S@D1(_>&;S7K ;0(8#5@I[K29G6.>SY?!2)8S_A4GM MVPH@+8U511U,# HNJY4]U=_A/0%1'1!YWM5!GN4QLZS?U6H"VGD3FMOX5'TT MD>/27B1% #..62R90S >?26%W2U[<&UFY9(M"L=T-+ M)[JX,*W1#ROTZ WT&"Z5M+F!$YEA]C(^)*8-W6A*]S!:"GC)]";$[0V(6E%G M"5[8]!?76EOM_:74.XTE#O+ MT/LWU)=9*3SA04.8&8-T54QF(#A+N."6HZ%>2WY2_8-5,'"ICGVJ!3)3:GPS MO:4$%J=WFR,8WOA&C_CWP^>_W_ZO(84RP2U-/2C)N8%Y:ERO<6 M:+Q8^)<+U.W:&[OQK)UF1;?,MNBO*IP;- K40S].&7J 2VFKF:/1-A/;036H MS-RK<8\>B2&7!@0.*+2UN;,5@*Y&J$JP:N3'ED19&H+\-J>I$[5S(/M 4:*U MX YHYMC^+U!+ P04 " #X.:=8O7R,'!4# !9!P &0 'AL+W=OW0LE^_<]*Z885JVI?8Y]SSW'-G^SQ92_6D2P!#-A47>NJ5QM3G M0:#S$BJJSV0- O\LI:JH05.M ETKH$4+JG@0A^$PJ"@3WFS2KMVIV40VAC,! M=XKHIJJH>ID#E^NI%WF[A7NV*HU="&:3FJ[@ F./%+"D#3?W4T-G$R771%EO9+.3 M-M46C>*8L)OR8!3^98@SL\L\5PT4Y&:#VZQ!DX^/=,%!?YH$!NFM4Y!OJ>8= M5?P.54)NI3"E)C>B@.(U/D!93EN\TS:/CQ+>4G5&DL@G<1BG1_@2EVO2\B7_ MF.O96SEV%.G;%/:*G.N:YC#U\ YH4,_@S4X_1,/PXHC U E,C['/'O#*%0T' M(I=X7#NQL!7[EM;C;*=G6?[=R#3E4"U"O%NWF](V$[.I< MTQ2G2>3@SK4&U78?D0-92-%8 ME OHAV'FK.%P1&XZF'+A#=WT )&?C$9[>#9V\10L4&+?87?!B3;:AK4W:$\S0(F'/':,X@L7G0D#>**,<\BR[ T],=) M2*X:I4 8@IU94JG87J(3A+RS918\-W*V!_@VM]^ W\8CLBCQ+(='&[<_#3S MT5OA.DZGUMU[\9EUR[W[MVC@V=\Q83& MDBT1&IZ-!AY172/O#"/KMGDNI,%6W$Y+?/M 60?\OY32[ P;P+VFLS]02P,$ M% @ ^#FG6%F,(%"_ @ J@8 !D !X;"]W;W)K&ULK55M3]LP$/XK5F (I*Y)G;X!;20*FS8))D3+]ME-KHU%8G?VE;+] M^IV=DA4(U3Y,JFK?^9['SYWMRVBCS8/- 9 ]E86RXR!'7)V%H4US*(5MZQ4H M6EEH4PHDTRQ#NS(@,@\JBY!'43\LA51!,O*^6Y.,]!H+J>#6,+LN2V%^3:#0 MFW'0"9X==W*9HW.$R6@EEC %O%_=&K+"FB63)2@KM6(&%N/@HG,VZ;IX'_!= MPL;NS)G+9*[U@S.^9N,@;C8!BP#!9B7>"=WGR!;3X]QY?JPOI_MJEB^2!@Z=JB+K=@ M4E!*58WB:5N''< P>@? MP#N=5<;>957 D4R,GK#C(LF-C?QJ7HTB9/*'

M9W8E4A@'=/\MF$<(DJ.#3C\ZWR.O6\OK[F-/IO3\/6L/308/G7HE2&Y2_(7/O"XRAR4(JH5*IEBS5%FT-.^:MWF"'F.S3*#IA M,XVB>%7(MX+[O5;,^PW^;NN4E%R#M?0(28!">G2X-A(EV,8Z=7AS_9S_^H6, M%E/4;.F8]S ?OM%V6*MR=9SE\+*XZ+"&8'^3@W;?=[[ MP-I-5S7:\MD:;H/Z\Y3\ 5!+ P04 " #X M.:=8)(_8-;L" "8!@ &0 'AL+W=O@Z*=BIM&HYDFEED MYP9XZ4&-C-(X/H\:+E20#_W:V.1#O4 I%(P-LXNFX>;M&J1>CH(DV"P\BEF- M;B'*AW,^@PG@S_G8D!5U+*5H0%FA%3-0C8*KY.*ZY_R]P[. I=V:,Y?)5.L7 M9]R7HR!V@D!"@8Z!T_ *-R"E(R(9O]><01?2 ;?G&_9O/G?*9 U.MN WF5MQQY/C1ZR8SS)C8W\:EZ-(D3RA5E@H9V!>$POU>%;H ] M\158=O+$IQ+LZ3!"HG8.4;&FN6YITD]H,O:@%=:6W:D2RK_Q$4GJ=*4;7=?I M0<(';D*6)6 ;ZLRS/S?-D_Y+DOO1;=VX]V+^/"SGD!HX"NO@7S"D%^ M?)2U+\G''E6C;R#J#CIMQ9!648+AD%CDN4)NW-J,T M"6/VY1W9FA-T>^@*=<84M:7S,-D)V0N_=O-G+A>\?>*2>@Q7!?B])-U-XJ0? MIJ>=-09ZUPH4,H'06):1@(^()$R[^2V5B8HSI2+@&Y.B$>@#6T;!856 M8R* M1@W3MH).DG!PND,9;R7T VLPM-+;E9J$R3OV[M-[D0[H++9.,=XV]]W.:*M; M-&!FOB/H5KNV>]5VFW?WMF?3G9@)2E]"15"*W ^8:?M@:Z">^]XS MU4B=S$]K^G6 <0ZT7VF-&\,%Z'Y&^1]02P,$% @ ^#FG6'P-;*;1 @ M@ < !D !X;"]W;W)K&ULG55M3]LP$/XK5D!H MD[+F/32EC41AT_8!A(!MG]WDVD0D=F8[E/W[G9TF*RKMZ+XD?KE[[KE[[/-T MS<63+ 4>:DK)F=6H50S<1R9%5!3.>(-,-Q969[5+]R7JT+I!2>=-G0%#Z"^ M-W<"9\Z DIRX/Q)3[[E,\O5A*"" M3&D$BK]GN(*JTD!(X]<&TQI":L?M<8_^Q>2.N2RHA"M>_2QS5@?E[P )RPYDJ)/G, O&+(-#%[P[FS?2K+#"-_&T+=D(AN:PT<7LZO+[F%$>=Q1.-Y2RQTENWG]4ZN]I[T+$+\. MX+UU\YRMKH@'<&5ZO\2*M4QU#7)8'9Z7RZZK_C7OWB8\W:N225+!$EW=T7ED M$='U^VZB>&-Z[((K[-AF6. 3"4(;X/Z2<]5/=(#AT4W_ %!+ P04 " #X M.:=8<^ZHRW(E M.PY:).B+>6@X]\QG%DM&(+_L#U;ZL[":MAPR5.,IZK1.1(\OG8NB3G5YZA+PA^ M3_A&M>;(6#(5XH=9W,9CRS8*\93/M.' 8'CBUSQ-#2-0X\^*I]6(- ?;\YK[ MU\)VL&7*%+\6Z1])K)=C*[10S.=LG>I[L?F%5_84"LY$JHI?M"EI ]="L[72 M(JL.@P99DIZ[\T#H0VGL.T.H +?0N!15:WC#-)B,I-D@::N!F)H6IQ6E0 M+LE-4!ZTA*\)G-.3![X %VMTSU="ZB1?H,$CFZ9#GHF\CU4J$O>88<@A&UJ7N G],8ZQ3\G&.- M[;.Q9.'VLS U/-I=G52XYF(ENQ_.4G!33&$!,OI$K;5)])AX5^_A12 MV[E 'ST^+B7G.RF$( %FRR8#&LH;/DUTX9AKR6.8UA_NP"$LB2N">O<[.$TV MJ]M<*>M-2$$1XZ/KH72)I(E[_J[YV,W"#L^(2 G\'I=UI96C[LRZS&P ML4M"]+,42J&5%/.6;\"W;M050&QL4^=HN?OV78(]D/Q]Q24KF@M_!C11+;M# M'+BD*Q[3/F<$V/'@W>90+QP-4K#^%,VER) H]3$QAU!2'+2XGA0J M>:WUH)3;CF4WVB90;G^@WF.L&L3TI>X#Y^^NPKOZ^89#]YTEK$1V: 0L,QW] MKW*CR0!,/+NC:!AT$RZ*_..3&MLDJ)I*4AE=Y?56]X%/NX4X(#U[/71[R]N' MZJY"7?2@T*4MWT38)[L.];'CVZ\X-,1V%'QX\_^H\370V?; =P<=8@-@A.V MD@@3QVYM=,,YH+ZS@SK4QJ%']Z".[^#0[FF_+J:T6SA[TW)'9CT& =3[/M0) M,0F[G=S%$3E>[-[Z=""CW<.@0[P>>,'4Z4(><3"QCT=@Z'(N])+7FJ%C\-5O MQ0]QK_!Z#SG_KY:-#QNR7ETVZZ$P"2Z.C,,J7J MO@8[;_BK2$CT!N0AQ&U!CP-&1FWH<;'3ZB/&K1335]T*;2;\L/0]<%WSFNN: M]X;KVDSDLR2MTL-""ND8UZK)\A-F2ET]9X,E% OTGY7,X:I\%$$M9/@^5"RU6Q9/,5&@MLF*ZY"SF MTA# ][D0NEX8 1O4$L#!!0 ( /@YIUB@8@^LR00 %X? 9 M>&PO=V]R:W-H965TPSWV"3[X3H^4 M?>5;0@3XEJ4YGUE;(79WMLU76Y)%_);N2"Y_65.614*>LHW-=XQ$<9F4I39R M'-_.HB2WYM/RVA.;3^E>I$E.GAC@^RR+V#_W)*7'F06MTX7G9+,5Q05[/MU% M&[(DXLONB64U1$4K(2!40DOPYD0=*T0))U_%V#6LT]B\3V\0G]4TE>DGF).%G0]*\D M%MN9-;% 3-;1/A7/]/@KJ0EY!=Z*IKS\!,1WG, MI[:0=RSR[%6-?E^AHPOH&#S27&PY^"6/2=S-MV6E3;GH5.X]T@(^1NP68/@3 M0 YR!^I9_/]TK"D'-Z.'2SQ\ >\AX=%FP\@F*C5)U^"9'$B^)T-#54&YPU#% MW_6.[Z(5F5GR_\@).Q!K_N,/T'=^'N)I"*S#VFU8NSKT4C.\T,P0RRK5+U.+ M9\AA#B$,L3^U#^WZ!\*0,_%0$]:IS&LJ\[25_;XC3$Y%O@%+LI$/&\'!O^"! MO"0"2 &#!2-Q(H:JUL*.G1M#8)T1\)L1\,TITC?)VA!8AW70L Y>K\@JU6M) M;1*$ >X)\CP*.C"<>,."G#2%3<8+\HF1793$E3"'*M9BCIT70V =^F%#/S2G MQM D:T-@'=;048NJ\WH]UKEMJ2%72JTGR($P&$+L# L2MA9\J*WM!X6>$%XZ6&H? /4&X>3_.2J_&KOJ+_%Z,DRA-8= M$.57X,2@3(T:%5-H7>;*JD"M)[@BTW! ICB ?9F>AP6^@R^\U2#E)Y#>3[1D M.FKYUL..G2!3:-U!4,8%07/21$:-BRFT+G-E7)#6'NBE6>=V%V;8?[T9C'(O M"5,9"Z0W%DO)-5E=*,SHAHXU^2G[(62&\M3O+[GN5;?XO1D_46VR!(^1D4&)2I4>-B"JW+ M7!D7I-]ITG5#2(\_>J;>8G,$ M*S.#'8.;YD8=C"FT+G/E8+!^ZT6KT3KWVK;00)AF6P@KCX'U'J.ET5$64P\[ M>H+>8I\$M]HY)OLY9ALZ;^%OL/(W^#MZ.OB\6W.#^@_/P2#8DZ7=ZE1FA&W* M!BX'*[K/1=4%;*XV3>*/96NT=_T>WBVJ5J^"J3K/CQ';)#D'*5E+2.&UL MK95M;YLP%(7_BL6JJ97:0GA/1Y#:1-,F;5+5--MG!VZ"56,SVTFZ?S\;*$H" MR3II7X(-]QP_!^+K9,?%BRP %'HM*9,3JU"JNK-MF1508GG+*V#ZR8J+$BL] M%6M;5@)P7HM*:KN.$]HE)LQ*D_K>HT@3OE&4,'@42&[*$HO?#T#Y;F*-K+<; M3V1=*'/#3I,*KV$.:E$]"CVS.Y>+7 M]CWL"4;^"8';"MSW"KQ6X-5!&[(ZU@PKG":"[Y PU=K-#.IW4ZMU&L+,5YPK MH9\2K5/I?9;Q#5,2/4$&9(N7%-#E#!0F5%ZA&[28S]#EQ16Z0(2AYX)O)&:Y M3&REUS8.=M:N\]"LXYY8YSL6M\@;72/7>]/_90IL;$'S8Q&^Q.5CB#B:5WD 2Q!2O]^&$4.I^&$OXGLX.\7I?7.^>> M/@N<@]XS;6IQ-G5C%=96I@MLTV L'7=4!I]]Q^F0$F&JNS5F&2#=]U$F("<*40T+@[AA#^3&]<,CVK\4 M'4_:K(BTP'.L"T]QJH.;QTMUH3)A&%E=8Y MMY&.*9H#H9DH7M4]=&ULK55=3]LP%/TK5H8FD$;SG1261AJMT'B8A&!LSVYRVU@X=F:[#?S[V4X: ME39T/.PE\;7O.3['']=9R\6SK 4>JDIDS.G4JJY=EU95%!C.>$-,#VRXJ+& M2H=B[03TU]T)'[L!2DAJ8))PA :N9\\V_GB-/S^D,4QK@?GO'?FN]:R]++&'. MZ6]2JFKF3!U4P@IOJ'K@[7?H_<2&K^!4VB]JN]PH=5"QD8K7/5@KJ GK_OBE M7X<]@!^] PAZ0/!10-@#0FNT4V9M+;#">29XBX3)UFRF8=?&HK4;PLPN/BJA M1XG&J?R.;8$I+@A(=+X A0F5%^@2/3TNT/G9!3I#A*&?%=](S$J9N4K/:9!N MT?/?=/S!._P_L)B@T/^" B^(1N#ST_ %% ,\? MWM=/!;C#8#2Q?^&^[8UXZ M<#0.-A?J6C:X@)FC;XP$L04G__S)3[RO8\[^$]D;G^'@,SS%GC_@5I\2!8)@ M.NJT@R<6;F[Z-D^OID&&9RK_"U!+ P04 " #X M.:=83M6IX5,$ #)%P &0 'AL+W=O9&;(9([\ZF^=\?F4UJ*E.3XC@%>9AEBSY]P M2K^8%* MT!%_$[SEG6N@J#Q2^D,MOBYFCJJ1*[ MUSOTSYJ\)/.(.+ZBZ3]D(=8S9^R !5ZB,A7?Z/8+K@F-%%Y"4Z[_@FT=ZSD@ M*;F@69TL*\A(7GVBIUJ(3@(,#R3X=8+_VH2@3M#*N55EFM8U$F@^970+F(J6 M:.I":Z.S)1N2JVV\%TQ^2V2>F-^E*!=GX,^?)2GD[LC+&RQ56=-T ;YF!:,; MK&YS@/(%^*O # F2KZH@H#?]G"[/'^3B(^=8QKV_Q@*1E'\ Y^#A_AJ\?_3NLA/59'^@2)O$;L 3P#ON>'AO0K>_HU3IKT MH)_N2KD:S?Q&,U_C!:_43&MCELW$M0(/S>#JM;WD!4KPS)'O)<=L@YWY[[_! MR/O#Q'P@L)X.0:-#8$/?Z8![.J2-#J2CPQE8,K$_ M=3==HH8P?Q*.)TU8CT+84 BM%&XPEZV=)&56IDC@A3P!I% )0=49(_F@C#)! M_M4W3.57^*-.7>>QYP63O?(-85$4!I&Y_%%3_LA:_G MY[CA')_R%(F'U&$@L)X.XT:'\1N<(N.7;3D.HVBO>0U1\<@[\!).&@*3_].\ MH,P7F($ER5&>J/^9FI.Q>"O^L7LY$%A/"NBU=L([95?7Z -),11:7XN.M8)O MT-GU0[I-ZP=Q'.ZU]B_#^B1:KP.M%F+^N60Y$27#9[*5G]1%Y043FA6ED UN M/:WMX$?OYRG<#FSM#@Q.VMM6-W6T%@.A];5H?1.T&Z>!>ONE+9(5[G>V(N>H-T^7=&<"U960Q'Y,UO6O))BF4NU0AV]>P.A M]8FWK@M.3MK)@YJNH=#Z\XC6=?E6)S-0)]RW9LFW MFZ5VMJ3K!FPW6RKE NG9DK%F*^K1TY2!T/H:=.9*IQTL#3M9.H79\ENSY;_% M<,DWC(TFD_'^X?S+L(J$VYFSJB'W+6(KDG-9UE+F>1>Q?"E8-3>N%H(6>O3Z M2(6@F;Y<8R1_%JH ^?V24K%;J&EN,[V?_P=02P,$% @ ^#FG6/R^T"+L M @ I P !D !X;"]W;W)K&ULK5=K3]LP%/TK M5H8FD 9Y]KDVTB!#0V(3HH-]=M/;UL*Q.]MIX=_/3H+50(C*2#\T=G+/\3TG MN?'-9,?%@UP#*/2842:GSEJIS=AU9;J&#,LSO@&FKRRYR+#24[%RY48 7A2@ MC+J!Y_7=#!/FQ)/BW(V()SQ7E#"X$4CF68;%TSE0OILZOO-\XI:LULJ<<./) M!J]@!NINP([N3=&1LF<\PH8OY506_VA7Q7H.2G.I>%:!=0898>41/U8^[ '\Z U M4 &"0P%A!0@/!405("J<*:44/B18X7@B^ X)$ZW9S* PLT!K^829VSY30E\E M&J?B2TP$NL *IA8<-\.2 U?U> ??K<%?[:4T-K*E!P1>^P7=-\)Q0H@C(<9,7)3IJ M1IM"'\L-3F'JZ$J6(+;@Q)\_^7WO:Y,S79(E'9'57 NM:V$;>WR!A7@B;(5P MQG.FFHPK"?H%@7FA;>.@/QB.!A-WNV_)86')Z[#0]_3/AM5D1%9&U"KC&K9 M4="4?BOPO?>]2[*D([*:83UK6.]#U=+KTK4NR9*.R&JN]:UK_?;'C+/5J0*1 MZ5UNWE@L);Y7KP(_>EDL36'^,(Q>%$MK-O^I=6"U#EJU?I>*Z"V^W*+LAM6D MN97GO<]*EV1)1V0U_X;6O^&'*FS8I6M=DB4=D=5<&UG71A^LL%'3/O.ZPIK" M&BJL-9OW:G7W6D+3O^L69T681!26FMX[&^B"%V5/7$X4WQ1=XIPKW7,6P[7^ MC !A O3U)=A@5-NSW3\K%%E!(UDHZ3??H=2HJJ6+)@#'NQ2.EZDJ9G"J#JYN%+!=ZU0)U_>\ MV*T8KYU\U;Z[5_E*'HW@-=PKHH]5Q=3S!Q#RM':H\_+B,S^4QKYP\U7##O MYFMSKW#F#E%VO():;JAO'5J+/SF<]&A,K)2ME-_LY+?=VO$L M$0@HC W!\/$(&Q#"1D*.O_N@SI#3.H['+]$_M>)1S)9IV$CQ%]^9JX;7]&Q^,PJ\<_4S^OBC4 M$7;DXQ,N# V:O+T#P[C0[\C/Y.O#'7G[YAUY0WA-OI3RJ%F]TRO78&+K[A9] MD@]=$O]"DM^9NB$!_8GXGA_.N&^6W>^@&-R#U^XNRATT^X-FOXT77*GY9DY1 M%R*<#V$WUZUN6 %K!W>/!O4(3O[C#S3V?IG3]S\%>Z4V&-0&2]$'M0U[5E(( M@G\A[C_!#+Z#JA'R&8! 7XJY2G3AXS:\/14>\Y2&\H4> M#NCA5>@#9@.J/;GJ LA6UL<+Q%W4: 2#IUIV1CPUBN-DGC<:>*-%WH\=IQIJ M;=C3/&$T24Z#)#DCG!KY63I/& ^$\5455;#%!3"+%D_1HM [0YL:^1G-YMF2 M@2U99-NPAALF^#_(5\C:*#SB<:"-MO5D6P%SN,D,KN>=\RYF_H\;,!UTI5?5 MG-<&,+J94Y%.5&39^8*=VL1IX,W7/!O8LN6:'Y6"VA!L"Q0SO#ZTQ\.>U[C% M[$P 7I%$<+;E@AL^OV*R"5A"L^B,?L8HH!=6,_6^WU[>5;75)5. J[HYJJ)D M%XZ%/M:8(0R]\ QTQBH)@@N@HVN6+H+^84I0LU!TDBZ-1OEZJ*E5%'L7CBOZ M_2*DBS=/_D7BAL-6JC]F%RZ!/M#X@ \SWYMP3LV"*/7.R^>.&A;;+6*#<."U MQN6V1S_O)D&AJFO NHF13=O#;*7!CJ@=EMBT@K(&^'TOI7F9V+9H:(/S?P%0 M2P,$% @ ^#FG6,7(V:@< P <0P !D !X;"]W;W)K&ULK5=K;YLP%/TK%JNF5FK#&Y(N05J#IE7JIJIIM\\.W"16P6:V MDW3[];.!LB2E*.W(A^#'/<<^Q_;%C+>,/XH5@$1/>4;%Q%A)65R:IDA6D&,Q M8 50U;-@/,=25?G2% 4'G):@/#,=RPK,'!-J1..R[99'8[:6&:%PRY%8YSGF MOZ\@8]N)81O/#7=DN9*ZP8S&!5["#.1#<$&202,V U6,#4\@R3:2F\:OF-)HA-7"W M_,S^I=2NM,RQ@"G+?I)4KB;&T$ I+/ ZDW=L^Q5J/;[F2U@FRG^TK6*#T$#) M6DB6UV U@YS0ZHF?:A]V +;W"L"I /H M.Y/M2CO1;TT7?9+%/9'MN18VKH7_F6;#/GWKDRSNB6S/MV'CV[!SMUU391H( MB>ZP!'2*!<*H )ZH$W?6YF+%-MHY0-; &@:..D3_?@>'KG,&;S6K)[(]LT:- M6:,W9*@V>T8M:2@<'N:7Z7%A\ZVG]U@(+HD9HYI M[Z3]\? 7Y\&>O4KU)5L+H!+Z\^9!Y5?#AK*($I%F MD4R)$LOKP8W[@7EE0%GBKTB\9CO/2=&59RF_%!6>>>2;N9/QWM-#KZ\'E@"S$DF]C_2A? M?Q-UA\8%+Y1Q5OXEKU79R6A PFVF95('YRU(HK3ZS[_6 [$3X!X+H'4 W0\8 M'PGPZ@!O/V!R)&!4!XQ.;=*X#AB?6L.D#IB48U\-5CG2/M=\/E/RE:BB=$XK MGI1RE='Y $=I\IU-.C.'G[/BW"O#*==_;&' M^R*\(-[QVH,3:J_#1QWA[(1P=UR&NY:Q])J/@U?R1D=X3R*-I"*_2RVRCM;< M6J.++/@AV_!07 _R-)<)]2(&\Y]^<"?.KUVZ(&$^$A8@80P$,_0<-7J.2KIG MF][Z;7IW*3I"*HJ$^4A8@(0Q$,Q0=-PH.K;.T(]I+J?(4[3B6I!W/".<;(0* M1:J[LO&ME=977R3,1\(")(Q5L*L25BS-7N;.A7,YH:.KG<=L^-(AXZ21<6*5 ML9V8BR,3TQK?5S@DS*]@DYWAH9/IY=74<9QF4"I53B[)#DMZKE,]N@=ZV@ST MU#K0#TIL^+=\+:R)7!X=;"NC[V C8?[T8&#V!QE9'0/!#*DN&ZDNK5+E7U$1 MB;)LR]-0D%!FG5)9&7VE0L)\)"RH8&-CZIC3H1(,5*DAV%4CV)55L)O;3^11 MO,CX1:@NJ:S1?:5"PGPD+$#"& AFZ.DZ[=V@<^9ZL0: 1(72?"@M@-(8BF8* MNW.;[UJGZCW_&B7;A#Q+E<=&Z8J$/*\NOZWO%-D*ZRVR>_ =-AT['6O&]):6' M*[LCDB+K#: TUM$+=[\7IERMC^+:C933UC)V2&]1H(8*E!;4M-VAONI:SJ!J M-65K[1+7>N]NK&C(O^0^2HM)URD=U#B!TGPH+8#2&(IF"MRZ)^[XW 4.U#&! MTGPH+8#2&(IF"MOZ*:[=4/F<;K/\*['Z M?V\ED;0 2F,HFJED:]BX=L=F/P=7"Y].[:"V#93F0VD!E,90-%/@UN9Q+\_- MP5"3!TKSH;0 2F,HFBEL:P>Y=C_HNW-PA2UND8TD?)""3ROGVYO96R*HOX.B MF3^5MP8/M?H,^\GUZ0_V:%_GVGE]IR*4YD-I 93&4#13Y];OH>Z9.99"/1XH MS8?2 BB-H6BFL*T/1.T^T,UF$T[MV90HP=%,S5KS2!J-X..)-WC"UL[K_?3L641#-T^!*7Y4%H I3$4S3Q T#I,WKE;B#RHI02E^5!: *4Q%,T4 MMK64//L6HN]-QC7V_Q>]]OI[*PGUD* TAJ)52@YWCG\E0JW*@WI9+M0VU=5) ML.;5YC#@37D$;M@6KTX2WI=W-QF)Q3(/=2ZF^1I>58?SJ@LM-^5ALF>IM4S* MIVO!%T(5!?+WEU+JMXNB@N:(Y/P_4$L#!!0 ( /@YIUA,3^QR,P( ((% M 9 >&PO=V]R:W-H965T1,YSW.&_$F7PG MU8-N 0S:S*]NJ:R% M!Y::+X*LFT_Z)=B$WMC=5&&\E[L+4Y%6$E^[X.1P#+,PY(>D#R$I"] DA[0.J% MALR\K"MB2)DKN4/*15LVM_&U\6BKA@KW%^^-LJ?4XDQY(RK) ?TD>]#H,_IA M6E#HPQ480IG^F&-C[W"1N.KYYH$O>84O1;=2F%:C:U%#_1R/;6Y#@LDAP7ER MDO"6J E*IY]0$B?92#Z+M\/3$^FD0[U2SY>^H5YCU0GH;!SM6G*F.U)!$=F> MTZ"V$)7OWTW/XJ]CTOX3V3.AV2 T.\5>7C<-^!9#-$@V9(\4,3"F.E!-8\_E M!L>VC"?)Q7F.M\=ZQL/BI["0*3YZSAS4VG>Y1I7<"!,>SN =!LFE[Y\7_KD= M,&$>/-&$Z62?Q9H*C1@TEC*>G-OV5*'C@V%DYYMF)8UM0;]M[9 $Y0+L>2.E M.1CN@F'LEO\ 4$L#!!0 ( /@YIUC6"ZXL-P, '4* 9 >&PO=V]R M:W-H965T)O&!S0$ M&_MLDFMKX=B=?:7P[W=V0BA=&CII7]KXY9Y[GK/O?..5-@]V#H#LJ93*3H(Y MXN(X#&T^AY+;GEZ HI6I-B5'&II9:!<&>.&-2ADF430(2RY4D(W]W+7)QGJ) M4BBX-LPNRY*;YU.0>C4)XN!EXD;,YN@FPFR\X#.X!?RYN#8T"AN40I2@K-"* M&9A.@I/X^"R.G('?<2=@9=>^F9-RK_6#&UP6DR!RC$!"C@Z"T]\CG(&4#HEX M_*Y!@\:G,US_?D'_ZL63F'MNX4S+7Z+ ^208!:R *5]*O-&K;U +.G1XN9;6 M_[)5M7&T&R2U0;)IT-]BD-8&J1=:,?.R MSCGR;&STBAFWF]#!/8-EG=C&=@@\L M>UU@-QR!W4"N52ZDX#[\>^> 7$B[/PZ1:#BP,*]=GE8NDRTN4W:E%-)PFG8!7W/18&A^P)$KZ+7S.=C=/.^BD34A3CY=NP=LUAFV1 MJY#[[<@NI8_M@NQ.$?A.$?A=ZYC1S9%,H MP'#)+')AX_K"M_;]8;Z M84/]L)/Z+3J*Z#+B@"FJI.^SK0"IF*WSB :;=-NW]8?M? <-WT$GWSLNEU52 MLFN'?82Z*/^QVW:MA('78B70-5;D62F$ H[0XRAVTW M)$HW#F;8>C!QTGXPHX;MJ)/M.11+*@3WE/#XS*0H!?ISLHS."IYRL)91@: 7 MV=9%=5T./:*MBKI][L6]T5^QKD2.6D5&6[+EJ!%YU.GP.\[![' 01^W>^QLG MT>V,U,7=-RF.7A^^J!/KM4R+JDQ3QN]:G6KH#37):+BA9LN^:#/CP[4'O 0S M\WV-NQQ+A=4[V,PVO=.)[Q@VYD]=3^4;@U>8JB&C5VXFZ.I)F!)DU!M2,3)5 MCU,-4"]\FW"OD9H._SFGOA",VT#K4ZWQ9> <-)UF]@=02P,$% @ ^#FG M6%,WXF:/! M1L !D !X;"]W;W)K&ULK5EK M;^(X%/TK5G:TVTI=\B \V@6DEF2T(VU'J&R[G]W$$*M.G+4-=/;7K_,@$";U M@.9^:>/@,YR?0O*RY2 MK'13K&V9"X+C$I0RVW.$V61#WG"Z%;=L,2TY1DDO(,";*:6O?N7>B."D#9XX62 MG3QZ1L547CE_*QI?XJGE%",BC$2JH,#ZWY;,"6,%DQ['OS6IU<0L@,?/>_;/ MY>3U9%ZQ)'/._J&Q2J;6V$(Q6>$-4T]\]R>I)S0H^"+.9/D7[:J^HY&%HHU4 M/*W!>@0IS:K_^+T6X@C@^A\ O!K@G0(&'P#Z-:!_;@2_!OCG @8UH)RZ7/26 M4<%K1W7T>17=^R!Z'SWR3"42A5E,XC;>UC-IIN/MI_/@&0D#$O60,[Q!GN/U MN\9CAC]BT4-]MX3['?#@C.@UO"MZ:(9_Y5L]>*\+WA*CWWC;+_GZEWC;,:R' MBL;OIBE2U9W,<42FELY%DH@ML6:__N(.G3^Z%(8D"R#)0B"REA=^XX5O8I_- M>9KJO%@MH!N48X&VF&T(NM(+*.:,82%13D35X[K+)6. 2UVJR$8E6;&9;&=. MSW'K4$&S2"#8P?[Q/)-R)*]!Z %H*O!4Z[-!E :@))%D"2 MA4!D+2.&C1%#XY?[B-]INDGKSY6O]IL WJB$"_H?B9$^K^A#0^/71B?SUHN< MX:S+/6/@2]V#) L@R<**;'BT/CRG>W&,&D]&1D]>3KPX:!TCG,6ZK:@XW5 K MS8W$EVI>D;G>T=321" CAD!D+=7'C>ICH^KW6R+TX1E%7*H/Q#\_FQM# M7>I#138^MF'<\VY/C( ,&0*1M8RX;8RX/>_S%Z2HA6BV;I+25A];\2OK2$+[ M?(6+ J7+$6/,2QVY[5@9?N]T?X4,&0*1M1QQG4,=X1@]61HS4;DP*H\Z5X.9 M_%+Q:[;!D?C#L3<8GZ@/&C2$8FOK?U3'N><<,,LS?Z?"1OC%"D.R!:!L(11; MVPCO8(0'<'"M2:#L@&0+0-E"*+:V'8<:V#66=3^;ET!+XYKMAWD)M.J%8FOK M?ZA[77/A^[>@D2X/%CBB*QJA.ES?HKT6G M"Z"E+RA; ,H60K&US3K4W"Y$T>V"5MV@; $H6PC%UK;C4'F[YM(;M. PQ[K8 MM6%7R>'T3U,9:"$-Q=:VXU!TN^:J^R>WDM%WR=_S_;[KMR6;FP=Q\7H K;ZA MV"H#[*-KBY2(=7E?)/77OLE4=8/1O&WNI.[+FQC[T+VZT'K$8DTSB1A9::C3 M&VF9175'5#44S\M+D%>N%$_+QX1@72(6'?3O*\[5OE$$:&[J9O\#4$L#!!0 M ( /@YIUCMW\\MN@, "X- 9 >&PO=V]R:W-H965T$Y,^3P:++GXE&N"5'HJ2J9G#IKI39CUY7YFE187O,- M8?!FR46%%0S%RI4;07!AG*K2#3PO<2M,F3.;F+E;,9OPK2HI([<"R6U58?%[ M3DJ^GSJ^D+'4DP/%/$]1IU]2. MW>=#]"^&/)!YP)+<\/)O6JCUU$D=5) EWI;J)]]_)0VA6,?+>2G-+]K7MJ/, M0?E6*EXUSH"@HJS^QT]-(CH.$,?N$#0.0=\A.N$0-@XF;M[. G;',; MFGCAB7C?MQ416'$QMN6F]HWLOOKTCN4&YV3JP/&41.R(,WO_AY]X'VW$SA3L MB&;4THR&HL^^0[.A+.<5L=&L?1/CJWO*;A9'<3QQ=UWX+XU\+QV%K=41KKC% M%0^F?T$8AQ-SL@#Q.0MPIF!'1).6:#)8@#F6-$=[T[%(<85WL.M6!$%%*FB4 MS;&%%BX5G%,X[.B"'J8O;8FI5XN[U?"#)$FRK%9S0Q8!7:L:8LU?1TK*)D]O M3$3X(A%AEH5A/P\OS8(T#?L[V^TH3Q [*R/()2#;,E7KMG:V%?V?C-3MS<_U MQX!1M,]AZB\)4&4K"I4NR1)">M.W )5HW-[ .Z;[^S0U'6I7TQ[46"#]_S\+N#<]8;>^*!4&%!WD'PI<,E*N6- M&./GX!F-C_3"P_6#^\=0.]>R$0Z71OV0)56+Z%T$)6Y%J^C6]-Q$Q02[V_BONA#P>"Z?LG!.D@2 /W_D&!\DJ0R#-K>K ^ MF]W\(I0:U PGM7\I:[*\*UE'^=+4M23N,CD0NH2ET23U#G4AT<&;1_&K*R0A ME7O-.VM^B00K4=R)'6? VJC6-]K!^@*Z"2Q7-[ 4MH1/UK3-"=SH8L*R%>K2 MIW^6)'?""[*8N!"/$Q<#].4>.GT"^J*Q$TB3$_ZE4Y"$]9\>,3=A[$0Z=B(- MIK-_Z<0QQKW=_+B='Z9SUX@"%Q%/BT/;892_?#$]2SX\ SL;86?/N>=?*P3= MUANT8+;0" K84G=&=5CR I3H72OI&/C>^C18^Z'M\GD6=T=HYB/-_/_0 %6" MH!(=P@91^Q2A9,F"\ACH_"_0V2/0^.#+]X?(%V'Y8W2@<,N:9/*6Q78_F/N M3!.&86.(1RLL*S[+T/H$WM\:0P^!GZ_Q=,Q_ U!+ P04 " #X.:=8;531 MF1\& !T*P &0 'AL+W=OD@\_7Y'C-1>?Y8)2A9ZR-)?GO852R_>>)^,%S8@\X4N:ZU]F M7&1$Z5LQ]^124)+8H"SUL.\/O8RPO#<9VV?W8C+F*Y6RG-X+)%=91L3FDJ9\ M?=X+>ML'']A\HDCE]H.KC\E[H.Z]225A&<\EXC@2=G?,3HVO9N$:F*%/./YN;F^2\YYL>17M$T-4HZ'U]*T5Z5I@EL M7F_5?[6%UX69$DFO>/HW2]3BO#?JH83.R"I5'_CZ=UH6:&#T8IY*^S]:E^_Z M/12OI.)9&:QSD+&\^$N>2A"-@*!_( "7 7@W8' @("P#PN<&],N OB53%,5R MB(@BD['@:R3,VUK-7%B8-EH7G^6FWA^4T+\R':H%?(0W)!!)6( MY>ACSI1\JQ_JZUN6IEI.CCVE.>$]3JE#A+:I+[!3\@^0G*/3?(NSC?E=YGA,>' R/W.&W1!P*;Y4FK"H^ MM'K] WKW5-A10U M+DE,SWMZ3))4/-+>Y.>?@J'_2Q<^2+$(2*R%ME^A[5OU\%"?,CWAW72_3UT( M0?(YU<.F0M,-:KYW3S;V\<6:B 3]\Z>61#>*9O+?+NY]2.Z08A&06(O[H.(^ M<#;IWS1=I5F^UN/.RC3F-UWLG!K'LBO$!E;,3+&/DZ&O_XV]QR84H"1;4(85 ME*$3RO67%5.;@@>:%X2ZL#A5CL52B 6XP<4_.=NA I1BB\II1>742>43E8KE M6O53:E O$9BO64 MO1W_E2")8960C=2K$[4PZQ"6K;)BRD=+H:>'+GS.Q([%Y\[YF6^SUS4B >6B M!?2L GKVK&:VI(+QSF[GC#^6D3LS [2A1'0R LI%BU'@UTM0'W8IHG^Y+9O@ MUV+&E.BQ1!T31>=<;!#/.QNE.R_'$@=5BZ#4VO70L +!"Z];R@Q P8=4BZ#4 MVO!Q#1\[.\%#/9;:!4S"TY0(,W(4PVSG6L:M>33/0FW8F*'"P<[T!)5BFU)M M6@)@U_*LH4*M>2==4'L#JA9!J;7KH78XP4M;G #4XX"J15!J;?BUS0GXG='W#1:@UJU4:ZXKAGOKBA]ATX+:IP5N;[3]UFV^ M<'<" ?5IH&H1E%K[HWCMWK#_PKT;@UHV4+4(2JT-O[9LV.E*&E]L2)(P@YVD MVYT8LE(++MA_W=_[2N'F#![X_O['RRMW#H[F]2-<%JY=%G:[K)K7\R#A/4@A M[H0$:<0B*+4VI-ID8;?):@Z&>BE4+)[NENK /MZE6^[H_@GJDZ#4VBAKGX1? MVB=A4)\$JA9!J;7AUSX)NWW2?F=_)"PETY0B[0R*S9!.I*!6"50MPOO&ZVR( M\:A>3[5AU78)N^U2T4H9;-BM6B_&'1OH4& MU'F JD6E6JOO^?U^.#K IW8?V.T^KI^HB)GI/3JUXOSJ+=$S)F><%,ZTZ'^R:E.6Q1'/(L; MQ9?VT..4*\4S>[F@)*'"O*!_GW&NMCJ@[>1_4$L#!!0 ( /@YIUB% M#[(-DP( )T& 9 >&PO=V]R:W-H965TMSC%5>0D742-3 SX(I1[6>K6%C)+1:,9Y;"02#551>2?.3"QFWEC;[]P2S>EM@LX M2VNR@27HNWHAS0SW*@6M@"LJ.)*PGGD7X_-Y8NV=P4\*.W4P1C:3E1#W=O*C MF'F^!0(&N;8*Q+RV< F,62&#\;O3]/J0UO%PO%?_ZG(WN:R(@DO!?M%"ES-O MZJ$"UJ1A^E;LOD.73V3UZ)=9^M[*&^4%E7G; @JRMLW>>CJ<. 0!B\X M!)U#X+C;0([RBFB2I5+LD+361LT.7*K.V\!1;@]EJ:79I<9/9TLM\ONSNB,F>MB"O7&;H%I27-M=EQ5NB.4ZW0R15H0IDZ-28W%:>K1J$%(T\\E/-H MK$>*M0&UX7#>0SJGZ.]@%5K45BQR8O9^ M;[/IITD4I'@[P!#U#-&K&0K!&)$*U2 =C\5Y/)\AI%9[>H TGHZ":!@I[I'B MHT@WC5::\(+RS6M+$S\K33*-XR0_2K?>^]:%O.HWG;N,WEVE"N$(.U&PO=V]R:W-H965TU!]#D6U5RM0CV6M>W8:CR/51478D:N'FR%;*BVES*7:AJ M";1P1E49)E$T#2O*>+"2J$-54?FRAE*<%D$_%(HCL%T$)N;82U/P=80-E:97,=_S=B@:=3VMXV7Y5_\T%;X)YH@HV MHOR+%7J_"&X"4L"6'DK]($Z?H0WHVNKEHE3NEYR:=Z=10/*#TJ)JCT5^Y044 _:9WS[UV((57!UV5R2-?R9)E*0#W[/QF_]QX,8\>M<\\YO?4=EYGWBB2;N^ M3)W>Q->7Y$MMNTD-]8[7W,XPMZJF.2P",X4HD$<(EA]^B*?1+T-H,,4R)+$> MMDF';>+44R^V)Y<"^44*#!&<8!+$%,N0Q'H$KSN"U]Z!=P\R!Z[-.D'$EM 3 ME869,@@E=4D',7KEQF)LQ.)FAK/KW'$97277\_!XR0?)98_/M.,S]?)Y *4E MR[498,H-M@-G>C!#O3ICP6"*94AB/7ZSCM\,+4-GF 0QQ3(DL1[!FX[@#6Z& M>N7&8KP9RM#9VPQ%)AJV7>" M2\@+4*E\H)(SJ&1LNI)_R,JV%3FV%'.J82?DRWO)[//_2^=!@ -2< M !D !X;"]W;W)K&ULM9I;;]LV%,>_"N$50P,L MM7C1+7,,-$Z[Y:%;T+3;LV+3ME!)]"0Z:8=]^%&7B)9XL82J+XDD'Q[]#RGR M=X[$Q3/+OQ1[2CGXFB99<3W;@9G+Q<^ MQKL]+R_,EXM#M*,/E'\^W.?B;-YZV<0IS8J892"GV^O96WBUNHC$OR>ZHDE2>A(Z_FF3O>,/WU[-@!C9T&QT3_I$]_TZ;@-S2WYHE1?47/#>VS@RL MCP5G:=-8*$CCK/X??6TZXJ2!\*-O@)H&J-^ &!K@I@&N JV556'=1CQ:+G+V M#/+26G@K#ZJ^J5J+:.*L',8'GHM?8]&.+Q_H3@P*!Q_I@>4\SG;@4AP_T>Q( M091MP+N;NT^W;\$V9RE8L4Q8'$NC/P\TC\IQ*,#K6\JC."DN1,O/#[?@]:L+ M\ K$&?BT9\="^"@6;KQM5-[4J9%"%P0=QKWT!WF4;NNFVGXL(VS#1 M2Y@WR.KP0Y2_ 1C^ I"#B$;/:GAS;)&#VU['E3\\M-=U752[('H7Y?2^*@[1 MFE[/Q/PM:/Y$9\N??X*>\ZLNOHF<=:(E;;3$YGWYAUB-BBBAV@>A;NI53K7F"$G<%%KUE'FMLI)>M64KK58NU2Y5.9*#<'A)( MW)Y(U0HY;F@8X+ 5&5H7@69I??P&BGHYN-()#*=9V( M!_MBR. T_LZ-CL;,,CSP!(W0JO>6BFY8QU&=;P@81FFY6O];7=#JA>ILDJO:HP@-,F4Y(-6U#1/ MO5855D<[<$*E^U0S1%!@&FT)*6BGE%S4&CH7X#]P2Q]C7HW]*J<;_4)L]SMV MBD[EK=L+$HC0_?[,!%JI.CKBB;QU(Y:8A7;.6K,3J/(S\$,%8AHSZ, P< T/ MI00MM)/V;(("57ZZ'O'[:8#&S!.+#C3HDYR%=M">2U*@2DX,2:BL-1JS :F MQ482%EJ)-C!1:9QT!YG OD:-%30E>4A"$0V"X@ :(@WFD.^2GDZ-&78<9,BH MD*0A@A.D*\B*U+%+PU3>NB%+I"([4DU%F+5K35Z>C9.9&W;A=(-B+_^U,59.7K MZ(@G\M:-6-(6V6EK3560ID@E,.QG AHS&$+L&!Y(B5ID1^W93 6I_!3%G-]/ M!;1F"!GT8;-J?[4Z+$W!T[Y<_1%O5[$$ M*;:#='2:@E52Z@9(M;(,D$0JMB-U=)*"580&?C\[UQAYR% _8$E9?(:RPU,4 MK): EXK('P%,+(&)[<6D.9G!:GD8>E!Y(%0K@DTU))94PW:J:5.9JN>U4JW. M1L_4=$;ALHG4=6H?.EH$"OY3.Q\'L$\HD+WLE\ ZVR@ M4:4D,[&3V^]8&M92]1+B?56FM/$.YYDK0NG;0 MGM_:4+?W[.JT5HJZ^I-.>[7=^_6VVO'4NWX#KU;U M#B[IIMY0]B'*=W%6@(1NA4OGC2\Z+*_W:-4GG!VJ;4Z/C'.65H=[&FUH7AJ( MW[>,\9>3\@;M3KGE_U!+ P04 " #X.:=8A!&NV>T" [" &0 'AL M+W=O]$-NYY_B<&_M>AALA7U0&H,FV MR+D:.9G6YUW,+RK@3#^W: M@XR'8J5SQN%!$K4J"BI?QY"+S)C#1/( MIE3!1.1_V"ISD9.Y) 4%G25ZT>Q^0JUGZ[A M2T2N["_9U+&>0Y*5TJ*HP:B@8+QZTFV=AST \K0#_!K@'P+"=P!!#0BLT4J9 MM36EFL9#*39$FFAD,P.;&XM&-XR;KSC3$M\RQ.EX!DO\)IH\0BFD9GQ)/N$X M$3QA.:,VTV)!;L9W3]-KH@7A>+ 83T0!Y'P*FK)<72#D>38EYV<7Y Q?DJ=, MK!3EJ1JZ&B6:C=RDEC.NY/COR G(O> Z4^2&IY"^Q;MHK?'G[_R-_9.$]U1> MD:!S27S/#UOT3/X='IR0$S3I#BQ?\ Y?G6Z35L&[>[OV0O]06DM0/^JT M*^LURGI_46;OEJ9; ELLU:HU<[VCG7TLVP?R6H*BP&N7UV_D]4_*FP*>DJ0N M#'C%"2U,V?AE%]J4]H]$A%ZG?Z#T."B(O+!=:=0HC4XJ?1*:YKM;5A>P-H'1 M\?F*O,^'"H^C_-"/H@.)[EX=+D N;7M2)!$KKJN2U:PV'?#:%OZ#]3%VQJJ1 M_:&IVBH6I"7CBN2P0$KOJH]9DU6KJB9:E+;:SX7&WF&'&79WD"8 WR^$T+N) MV:#YOQ#_!E!+ P04 " #X.:=8XL+;ID<" "@!0 &0 'AL+W=OOZ2A&VV%$%\:W_F>Y^ZY^B[MN'B4%8!"3S5E,O,JI9IK MWY=%!366(]X TS=K+FJLM"DVOFP$X-*":NI'03#Q:TR8EZ?6MQ!YREM%"8.% M0+*M:RR>IT!YEWFAMW/X#P&"#J =%K0'($$/> V IUE5E9(6&B M-9LYV-Y8M%9#F/D7ETKH6Z)Q*E_@9[25: '"O@A6 )H365 N6P'H/7I8SM'Y MV04Z0X2A;Q5O)6:E3'VEZ$B>&-UQIBJ)/K(2RI=X7]<\%![M M"I]&)PGOL!BA.'R'HB!*#M0S^WMX?**<>.AC;/GB?^GCH78YNN0PG9G=:]G@ M C)/#Z<$L04O?_LFG 0?#FG]3V0OE">#\N04>_Y5KYI;5O :T/D7+N7%(;6. M8F(IS&+9YN-D/$[][;Z*/X/"X.HR'J)<>?[>8Z]!;.P.D*C@+5/N^0S>8.VQ6\:M[OTX]@0)A&%M:8,1I=Z>(7;!\Y0O+$CM>)*#Z@]5GJ% M@C !^G[-N=H9)L&PE/-?4$L#!!0 ( /@YIU@FVB\.1 ( (H& 9 M>&PO=V]R:W-H965TX_/=>1+W KYK$H C5XJ MQE7BE5K72]]760D55G>B!F[>Y$)66)NI+'Q52\#$)57,#X-@[E>8(A CANF=Z+]!GT],\O+!%/N M%[5=;/310UFCM*CZ9&-04=X]\4M_#B<)AG,^(>P30N?=;>0L/V.-TUB*%DD; M;6AVX$IUV4:.!#UC>H6AR@\(@G([PHJ'< MR/&B"[QS9=Z@_2O:<$(/E#28G:NZ@T[/0^V]6:H:9Y!XYF(HD ?PTO?O)O/@ MTXCR=%">CM'37<, 38+]['9RJHU61-3Z_T/N=,>!.68*1L1F@]ALE/-=\-LK MY,:A;\G-![GY5:?V!-+<(GS!;9SYEMMB<%M]R MP])\+$#: /,^%T(?)W:#X?.3_@%02P,$% @ ^#FG6,6$&U% P +!0 M T !X;"]S='EL97,N>&ULW5C1;MHP%/V5R%VG5IH:(&L@*R!M2)4F;5.E M]F%OE2$.6'+LS#$=].OG&X<$J"_J^K"6!;6Q[_$Y]]B^(6Z'I5D+=KM@S 2K M7,AR1!;&%)_"L)PM6$[+"U4P:9%,Z9P:V]7SL"PTHVD)I%R$O4XG#G/*)1D/ MY3*_SDT9S-12FA'I-Z' W;ZF(]*-/Y+ R4U4RD;D_NS]KZ4R5^\"=S_Y<'+2 MN3^_VH^?5< Y";VBE\\0O>AT<&$ ,?'X>>*'M#'I_JYT8^74BK7&3C'ZP$_? M8:/DQ$-NF1BMWWG6:AQ8C$HXK(ME/,R4;&LF(BY@,].#.JYUY>D)50WFV2J=,ITDZ9+ M-J'Q4+ ,[&@^7\#=J"($T!B5VT;*Z5Q)6GG8,.J&E9TQ(6[A(?^9[6BOLJT] MK794-DUKJ&XZ&=;#4IE9@-,D^"!:<-GVY'?FA9W M;&4VY;3*<,^](_3\;]=YSB335&R;MK7_EE?YQ8ZC_FM9KKY5]@U[/=9O[K=N M\O(83,;'8/(H:G)P#":3(S#9?[5OS8,FP_J4L764V3G(--$ #HPC\@..IJ)- M&DR77!@NZ]Z"IRF33\XS5M[0J?U3:$??CD]91I?"W#7@B+3M[RSERSQI1MW M0M2CVO8WF%XW;DZK-A>7*5NQ=%)W]7Q:-0/;L%GK"PC[R'5U^1&,XS _ AB6 M!W. <1P+R_,_S6> SL=AF+>!%QF@G '*<2P?,JD^6!X_)[&7?Z9)$D5QC*WH M9.)U,,'6+8[AQZ^&>0,&E@_ M/]A3$D5)XD< \SN((@R!IQ%', ?@ 4.BJ'H/[KV/PLU[*FS_/SC^ U!+ P04 M " #X.:=8EXJ[', 3 @ "P %]R96QS+RYR96QSG9*Y;L,P#$!_ MQ=">, ?0(8@S9?$6!/D!5J(/V!(%BD6=OZ_:I7&0"QEY/3P2W!YI0.TXI+:+ MJ1C]$%)I6M6X 4BV)8]ISI%"KM0L'C6'TD!$VV-#L%HL/D N&6:WO606IW.D M5XA-/E_G;@ M2=&A(E@6FD7)TZ(=I7\=Q_:0T^FO8R*T>EOH^7%H5 J.W&,EC'%BM/XU@LD/ M['X 4$L#!!0 ( /@YIUA9B<4)600 -$A / >&PO=V]R:V)O;VLN M>&ULQ9I=;^(X%$#_BL7+[DK#0C[HS%3#2&VANTC5%!74UY5)+L6J8[.V0]OY M]7,=Q*Q3,E?[8GB".(YS!G9K@)=V ^ J.4B'PXM!Q87J??UR:&MN!N&&=E XH146 M^H)' 2_VO_U^D^V$%2LAA7L;]YK_$GJL$DI4XCN4X]ZPQ^Q&O_RMC?BNE>-R M41@MY;B7['<\@G&B."I>>,@E7]FFQ/'5 T>0<>]BB VNA;&NJ=&TSY%Q!UAY MOU4[?2ND S/A#OXRNMX*]>2;P:L8!)?1Q.'PNP_BI?D_8=3KM2A@HHNZ N7V M<30@/:"R&[&U/:9X!>/>H0KCJF13Y3!(;*;V36%=?Z5XZEFYOVJ'N$$,S:7 M'696-N#Q(&^T*D%9*!G^LUJ*$CE*=LTE5P6P #(E(-,S0OZ3!I 9 9F=!7+A M$S +("P+R(B[D=6V% FO9_0[,SH^%_C%?U%7% MS1O3 >1' O)C7,AOV.Z"2[ !SB<"YU-TW;>4%I+(7FCZMG_-]\JO_"-ZE")3=D@BZV$!3TTB_P!;;7SXPK28DD0: M61)D$M)*YU)*$FED2?Q,0]CO2R]]^T=(1KY8Q/?"^XRDDY%R1!K9$4%RTLE& MF2*-; HR2VG?@)0\TLCR(+.4-B:ED32R1MYG*9W=3=DDC6R3=KK2B4=Y)(WL MD3!OZ82C)))&ELAQCM"%F%$ZR2+KY,ASG8242;+3F60"C@O91J-4DIU#)5V0 MY!S5*5W2!4?))#NK3,)YGXR22796F;0P*9ED)Y=)5W]3-LE.:Y,^^^7;<$99 M)8MLE2/,6[\ P>X$*';3>M/+*+]DT>>P OGUV;W;H&>Z^CRG%)-'5LP[RNEZ M#63G=.4478R4")L M(;6M6YH<40(:11>0%3BJLZ7AI8_DE3$<1Z-F? H9*?N,]E\3'#XA*%$/"LIO MV+[%\H++8FZ8_]FO>^0C/WNYKJ6\P;)[=:=Y>?@BX? UQ= : >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E M;'/-V;ENPD 4A>%707X AKN8+()4:=)&O(!%AD4LMCP3!=X^" IRK!1IHCF5 M-;9\_X_[)F_;8]ILNS0Z'?;'-*\V.7?/(:3E)AZ:-&Z[>+Q<6;7] MHL8=#*9AO[GC.IE]G/F:''NXE\FMJO5=AE?V^7G(1[S+X/# M5]OOTB;&7(T63;^.>5Z%T_Y^.H7K0<:7R=7H[6->]6\?4H7200I!6C[((,C* M!SD$>?F@&H+J\D%3")J6#WJ H(?R08\0]%@^Z F"GLH'R01EG! D#; FT%J0 M:R'P6A!L(1!;D&PA,%L0;2%06Y!M(7!;$&XAD%N0;B&P6Q!O(=!;46\ET%M1 M;R706PBOJK01Z*^JM!'HKZJT$>BOJK01Z*^JM!'H; MZFT$>AOJ;01Z&^IM!'K;8+.$0&]#O8U ;T.]C4!O0[V-0&]#O8U ;T.]C4!O M0[V-0&]'O9U ;T>]G4!O1[V=0&]'O9U ;Q]L=A/H[:BW$^CMJ+<3Z.VHMQ/H M[:BW$^CMJ+<3Z%VCWC6!WC7J7?^GWBF?]S'=>VYK?/Y_4ITO]\;[XZ_+V\G! M2[CB'."'],LW4$L#!!0 ( /@YIU@HM&@3PP$ (D> 3 6T-O;G1E M;G1?5'EP97-=+GAM;,W9R6[",!0%T%]!V5;$>( . C9MMRV+_H";/" BB2W; M4/C[.F&06M&HB$J]FT2)[7=?;.EL,G[;6?*];576?I(L0[ /C/EL297VJ;%4 MQY&Y<94.\=$MF-792B^(B<%@Q#)3!ZI#/S0UDNGXB>9Z78;>\S:^]H6I)XFC MTB>]Q_W$)FN2:&O+(M,ACK--G7]+Z1\2TKBRG>.7A?4W<4+"SB8T(S\''-:] M;LBY(J?>3+OPHJLXBVU+YL.N))]VESC3HYG/BXQRDZVKN"3UUI'._9(H5&6Z M+WK3G1SB#M/^RJ_.;\MT!<:9,V>LCR?FZ/*XXY$TJ_LV%B(7BNY//"7&TE=_ M'S6GG5/^R^RXO1_&K=KS\*R]7;_'7\_X5/_"/@1('Q*D#P72QQ"DCQ%('[<@ M?=R!]'$/T@&UL4$L! A0#% @ ^#FG6/&[:)G, M!0 U!X !@ ("!#@@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ^#FG6!CS+OX=!@ %1\ !@ M ("!\A< 'AL+W=O 8 " @44> !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0# M% @ ^#FG6&79*+^J" A@ !@ ("!UBL 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ ^#FG6$29;PMJ M @ Y 4 !D ("!ISX 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ^#FG6&5WA31R P 5@@ !D M ("!2$H 'AL+W=O.T( !Z%P &0 @('Q30 >&PO=V]R M:W-H965T&UL M4$L! A0#% @ ^#FG6.G^KSJ? P )0@ !D ("!LUH M 'AL+W=O"0 &0 @(&)7@ >&PO=V]R:W-H965T&UL4$L! A0#% @ M^#FG6+S+"MX8!P Y1$ !D ("!\6H 'AL+W=O&PO=V]R:W-H965TB' !X;"]W;W)K&UL4$L! A0#% @ ^#FG6$61P6,E P ! @ !D M ("!AHH 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ ^#FG6%F,(%"_ @ J@8 !D ("!A90 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ^#FG M6'/NG++/! KQ, !D ("!=9T 'AL+W=O'P &0 M @(%[H@ >&PO=V]R:W-H965T&UL4$L! A0#% @ ^#FG6)4CVW=H @ L@8 M !D ("!3JH 'AL+W=O&PO=V]R:W-H965TQ !X;"]W;W)K&UL4$L! A0#% @ ^#FG6!%K^99F P $@L !D M ("!FK0 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ ^#FG6$Q/['(S @ @@4 !D ("!^,$ 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ ^#FG6.W? MSRVZ P +@T !D ("!ELP 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ^#FG6(4/L@V3 @ G08 !D M ("!8MD 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ ^#FG6(01KMGM @ .P@ !D ("! M!^< 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ ^#FG6,6$&U% P +!0 T ( !).\ 'AL+W-T>6QE M&PO=V]R:V)O;VLN>&UL4$L! A0#% @ M^#FG6*&7ZI3) 0 H!X !H ( !_O< 'AL+U]R96QS+W=O M XML 64 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 65 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 67 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.1.u1 html 99 222 1 false 37 0 false 5 false false R1.htm 00090 - Document - Document and Entity Information Sheet http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 00100 - Statement - Condensed Consolidated Balance Sheets Sheet http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets Condensed Consolidated Balance Sheets Statements 2 false false R3.htm 00105 - Statement - Condensed Consolidated Balance Sheets (Parenthetical) Sheet http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical Condensed Consolidated Balance Sheets (Parenthetical) Statements 3 false false R4.htm 00200 - Statement - Condensed Consolidated Statements of Operations and Comprehensive Income Sheet http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome Condensed Consolidated Statements of Operations and Comprehensive Income Statements 4 false false R5.htm 00300 - Statement - Condensed Consolidated Statements of Stockholders' Deficit Sheet http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfStockholdersDeficit Condensed Consolidated Statements of Stockholders' Deficit Statements 5 false false R6.htm 00400 - Statement - Condensed Consolidated Statements of Cash Flows Sheet http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows Condensed Consolidated Statements of Cash Flows Statements 6 false false R7.htm 10101 - Disclosure - Business Overview and Summary of Significant Accounting Policies Sheet http://www.cpicardgroup.com/role/DisclosureBusinessOverviewAndSummaryOfSignificantAccountingPolicies Business Overview and Summary of Significant Accounting Policies Notes 7 false false R8.htm 10201 - Disclosure - Net Sales Sheet http://www.cpicardgroup.com/role/DisclosureNetSales Net Sales Notes 8 false false R9.htm 10301 - Disclosure - Accounts Receivable Sheet http://www.cpicardgroup.com/role/DisclosureAccountsReceivable Accounts Receivable Notes 9 false false R10.htm 10401 - Disclosure - Inventories Sheet http://www.cpicardgroup.com/role/DisclosureInventories Inventories Notes 10 false false R11.htm 10501 - Disclosure - Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets Sheet http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssets Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets Notes 11 false false R12.htm 10601 - Disclosure - Fair Value of Financial Instruments Sheet http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstruments Fair Value of Financial Instruments Notes 12 false false R13.htm 10701 - Disclosure - Accrued Expenses Sheet http://www.cpicardgroup.com/role/DisclosureAccruedExpenses Accrued Expenses Notes 13 false false R14.htm 10801 - Disclosure - Long-Term Debt Sheet http://www.cpicardgroup.com/role/DisclosureLongTermDebt Long-Term Debt Notes 14 false false R15.htm 10901 - Disclosure - Income Taxes Sheet http://www.cpicardgroup.com/role/DisclosureIncomeTaxes Income Taxes Notes 15 false false R16.htm 11001 - Disclosure - Stockholders' Deficit Sheet http://www.cpicardgroup.com/role/DisclosureStockholdersDeficit Stockholders' Deficit Notes 16 false false R17.htm 11101 - Disclosure - Earnings per Share Sheet http://www.cpicardgroup.com/role/DisclosureEarningsPerShare Earnings per Share Notes 17 false false R18.htm 11201 - Disclosure - Commitments and Contingencies Sheet http://www.cpicardgroup.com/role/DisclosureCommitmentsAndContingencies Commitments and Contingencies Notes 18 false false R19.htm 11301 - Disclosure - Stock-Based Compensation Sheet http://www.cpicardgroup.com/role/DisclosureStockBasedCompensation Stock-Based Compensation Notes 19 false false R20.htm 11401 - Disclosure - Segment Reporting Sheet http://www.cpicardgroup.com/role/DisclosureSegmentReporting Segment Reporting Notes 20 false false R21.htm 20102 - Disclosure - Business Overview and Summary of Significant Accounting Policies (Policies) Sheet http://www.cpicardgroup.com/role/DisclosureBusinessOverviewAndSummaryOfSignificantAccountingPoliciesPolicies Business Overview and Summary of Significant Accounting Policies (Policies) Policies http://www.cpicardgroup.com/role/DisclosureBusinessOverviewAndSummaryOfSignificantAccountingPolicies 21 false false R22.htm 30203 - Disclosure - Net Sales (Tables) Sheet http://www.cpicardgroup.com/role/DisclosureNetSalesTables Net Sales (Tables) Tables http://www.cpicardgroup.com/role/DisclosureNetSales 22 false false R23.htm 30303 - Disclosure - Accounts Receivable (Tables) Sheet http://www.cpicardgroup.com/role/DisclosureAccountsReceivableTables Accounts Receivable (Tables) Tables http://www.cpicardgroup.com/role/DisclosureAccountsReceivable 23 false false R24.htm 30403 - Disclosure - Inventories (Tables) Sheet http://www.cpicardgroup.com/role/DisclosureInventoriesTables Inventories (Tables) Tables http://www.cpicardgroup.com/role/DisclosureInventories 24 false false R25.htm 30503 - Disclosure - Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets (Tables) Sheet http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssetsTables Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets (Tables) Tables http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssets 25 false false R26.htm 30603 - Disclosure - Fair Value of Financial Instruments (Tables) Sheet http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstrumentsTables Fair Value of Financial Instruments (Tables) Tables http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstruments 26 false false R27.htm 30703 - Disclosure - Accrued Expenses (Tables) Sheet http://www.cpicardgroup.com/role/DisclosureAccruedExpensesTables Accrued Expenses (Tables) Tables http://www.cpicardgroup.com/role/DisclosureAccruedExpenses 27 false false R28.htm 30803 - Disclosure - Long-Term Debt (Tables) Sheet http://www.cpicardgroup.com/role/DisclosureLongTermDebtTables Long-Term Debt (Tables) Tables http://www.cpicardgroup.com/role/DisclosureLongTermDebt 28 false false R29.htm 30903 - Disclosure - Income Taxes (Tables) Sheet http://www.cpicardgroup.com/role/DisclosureIncomeTaxesTables Income Taxes (Tables) Tables http://www.cpicardgroup.com/role/DisclosureIncomeTaxes 29 false false R30.htm 31103 - Disclosure - Earnings per Share (Tables) Sheet http://www.cpicardgroup.com/role/DisclosureEarningsPerShareTables Earnings per Share (Tables) Tables http://www.cpicardgroup.com/role/DisclosureEarningsPerShare 30 false false R31.htm 31403 - Disclosure - Segment Reporting (Tables) Sheet http://www.cpicardgroup.com/role/DisclosureSegmentReportingTables Segment Reporting (Tables) Tables http://www.cpicardgroup.com/role/DisclosureSegmentReporting 31 false false R32.htm 40201 - Disclosure - Net Sales (Details) Sheet http://www.cpicardgroup.com/role/DisclosureNetSalesDetails Net Sales (Details) Details http://www.cpicardgroup.com/role/DisclosureNetSalesTables 32 false false R33.htm 40301 - Disclosure - Accounts Receivable (Details) Sheet http://www.cpicardgroup.com/role/DisclosureAccountsReceivableDetails Accounts Receivable (Details) Details http://www.cpicardgroup.com/role/DisclosureAccountsReceivableTables 33 false false R34.htm 40401 - Disclosure - Inventories (Details) Sheet http://www.cpicardgroup.com/role/DisclosureInventoriesDetails Inventories (Details) Details http://www.cpicardgroup.com/role/DisclosureInventoriesTables 34 false false R35.htm 40501 - Disclosure - Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets (Details) Sheet http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssetsDetails Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets (Details) Details http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssetsTables 35 false false R36.htm 40601 - Disclosure - Fair Value of Financial Instruments (Details) Sheet http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstrumentsDetails Fair Value of Financial Instruments (Details) Details http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstrumentsTables 36 false false R37.htm 40701 - Disclosure - Accrued Expenses (Details) Sheet http://www.cpicardgroup.com/role/DisclosureAccruedExpensesDetails Accrued Expenses (Details) Details http://www.cpicardgroup.com/role/DisclosureAccruedExpensesTables 37 false false R38.htm 40801 - Disclosure - Long-Term Debt - Long-Term Debt (Details) Sheet http://www.cpicardgroup.com/role/DisclosureLongTermDebtLongTermDebtDetails Long-Term Debt - Long-Term Debt (Details) Details 38 false false R39.htm 40802 - Disclosure - Long-Term Debt - First Lien Credit Facility (Details) Sheet http://www.cpicardgroup.com/role/DisclosureLongTermDebtFirstLienCreditFacilityDetails Long-Term Debt - First Lien Credit Facility (Details) Details 39 false false R40.htm 40901 - Disclosure - Income Taxes - Other (Details) Sheet http://www.cpicardgroup.com/role/DisclosureIncomeTaxesOtherDetails Income Taxes - Other (Details) Details 40 false false R41.htm 40902 - Disclosure - Income Taxes - Effective Income Tax Rate Reconciliation (Details) Sheet http://www.cpicardgroup.com/role/DisclosureIncomeTaxesEffectiveIncomeTaxRateReconciliationDetails Income Taxes - Effective Income Tax Rate Reconciliation (Details) Details 41 false false R42.htm 41001 - Disclosure - Stockholders' Deficit (Details) Sheet http://www.cpicardgroup.com/role/DisclosureStockholdersDeficitDetails Stockholders' Deficit (Details) Details http://www.cpicardgroup.com/role/DisclosureStockholdersDeficit 42 false false R43.htm 41101 - Disclosure - Earnings per Share (Details) Sheet http://www.cpicardgroup.com/role/DisclosureEarningsPerShareDetails Earnings per Share (Details) Details http://www.cpicardgroup.com/role/DisclosureEarningsPerShareTables 43 false false R44.htm 41201 - Disclosure - Commitments and Contingencies - Contingencies (Details) Sheet http://www.cpicardgroup.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails Commitments and Contingencies - Contingencies (Details) Details 44 false false R45.htm 41301 - Disclosure - Stock-Based Compensation - Omnibus Incentive Plan (Details) Sheet http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails Stock-Based Compensation - Omnibus Incentive Plan (Details) Details 45 false false R46.htm 41302 - Disclosure - Stock-Based Compensation - Restricted Stock Units (Details) Sheet http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails Stock-Based Compensation - Restricted Stock Units (Details) Details 46 false false R47.htm 41303 - Disclosure - Stock-Based Compensation - Additional information (Details) Sheet http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails Stock-Based Compensation - Additional information (Details) Details 47 false false R48.htm 41401 - Disclosure - Segment Reporting - Revenue and EBITDA from Continuing Operations (Details) Sheet http://www.cpicardgroup.com/role/DisclosureSegmentReportingRevenueAndEbitdaFromContinuingOperationsDetails Segment Reporting - Revenue and EBITDA from Continuing Operations (Details) Details 48 false false R49.htm 41402 - Disclosure - Segment Reporting - Reconciliation of EBITDA to net income (Details) Sheet http://www.cpicardgroup.com/role/DisclosureSegmentReportingReconciliationOfEbitdaToNetIncomeDetails Segment Reporting - Reconciliation of EBITDA to net income (Details) Details 49 false false R50.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Uncategorized 50 false false R51.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Cover 51 false false All Reports Book All Reports [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 8 fact(s) appearing in ix:hidden were eligible for transformation: pmts:ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfAwardGranted, us-gaap:CommonStockSharesIssued, us-gaap:CommonStockSharesOutstanding, us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage, us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod, us-gaap:TemporaryEquitySharesOutstanding - pmts-20240331x10q.htm 9 [ix-0514-Hidden-Fact-Not-Referenced] WARN: 2 fact(s) appearing in ix:hidden were not referenced by any -sec-ix-hidden style property: us-gaap:CommitmentsAndContingencies - pmts-20240331x10q.htm 9 [dq-0712-Presentation-Base-Set-Order] Role '41402 - Disclosure - Segment Reporting - Reconciliation of EBITDA to net income (Details)', a level 4, Detail role, appears before '995410 - Disclosure - Pay vs Performance Disclosure', a level 1, Note role. https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd 30, pmts-20240331.xsd 87 pmts-20240331.xsd pmts-20240331_cal.xml pmts-20240331_def.xml pmts-20240331_lab.xml pmts-20240331_pre.xml pmts-20240331x10q.htm http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 http://xbrl.sec.gov/ecd/2023 true true JSON 70 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "pmts-20240331x10q.htm": { "nsprefix": "pmts", "nsuri": "http://www.cpicardgroup.com/20240331", "dts": { "schema": { "local": [ "pmts-20240331.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/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-sub-2023.xsd" ] }, "calculationLink": { "local": [ "pmts-20240331_cal.xml" ] }, "definitionLink": { "local": [ "pmts-20240331_def.xml" ] }, "labelLink": { "local": [ "pmts-20240331_lab.xml" ] }, "presentationLink": { "local": [ "pmts-20240331_pre.xml" ] }, "inline": { "local": [ "pmts-20240331x10q.htm" ] } }, "keyStandard": 199, "keyCustom": 23, "axisStandard": 18, "axisCustom": 0, "memberStandard": 23, "memberCustom": 14, "hidden": { "total": 17, "http://fasb.org/us-gaap/2023": 10, "http://xbrl.sec.gov/dei/2023": 5, "http://www.cpicardgroup.com/20240331": 2 }, "contextCount": 99, "entityCount": 1, "segmentCount": 37, "elementCount": 443, "unitCount": 5, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 434, "http://xbrl.sec.gov/dei/2023": 29, "http://xbrl.sec.gov/ecd/2023": 4 }, "report": { "R1": { "role": "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation", "longName": "00090 - Document - Document and Entity Information", "shortName": "Document and Entity Information", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets", "longName": "00100 - Statement - Condensed Consolidated Balance Sheets", "shortName": "Condensed Consolidated Balance Sheets", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "As_Of_3_31_2024_zxgVv0-R00WG3yGJCyj8fw", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_zxgVv0-R00WG3yGJCyj8fw", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R3": { "role": "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "longName": "00105 - Statement - Condensed Consolidated Balance Sheets (Parenthetical)", "shortName": "Condensed Consolidated Balance Sheets (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "As_Of_3_31_2024_zxgVv0-R00WG3yGJCyj8fw", "name": "pmts:AccumulatedDepreciationPropertyPlantAndEquipmentAndOperatingLeaseRightOfUseAssets", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_zxgVv0-R00WG3yGJCyj8fw", "name": "us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "unique": true } }, "R4": { "role": "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome", "longName": "00200 - Statement - Condensed Consolidated Statements of Operations and Comprehensive Income", "shortName": "Condensed Consolidated Statements of Operations and Comprehensive Income", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:CostOfGoodsAndServicesSoldDepreciationAndAmortization", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "unique": true } }, "R5": { "role": "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfStockholdersDeficit", "longName": "00300 - Statement - Condensed Consolidated Statements of Stockholders' Deficit", "shortName": "Condensed Consolidated Statements of Stockholders' Deficit", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Jo9lXlg81k2KXdLbPJMUUg", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Jo9lXlg81k2KXdLbPJMUUg", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R6": { "role": "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "longName": "00400 - Statement - Condensed Consolidated Statements of Cash Flows", "shortName": "Condensed Consolidated Statements of Cash Flows", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R7": { "role": "http://www.cpicardgroup.com/role/DisclosureBusinessOverviewAndSummaryOfSignificantAccountingPolicies", "longName": "10101 - Disclosure - Business Overview and Summary of Significant Accounting Policies", "shortName": "Business Overview and Summary of Significant Accounting Policies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "7", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R8": { "role": "http://www.cpicardgroup.com/role/DisclosureNetSales", "longName": "10201 - Disclosure - Net Sales", "shortName": "Net Sales", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "8", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R9": { "role": "http://www.cpicardgroup.com/role/DisclosureAccountsReceivable", "longName": "10301 - Disclosure - Accounts Receivable", "shortName": "Accounts Receivable", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.cpicardgroup.com/role/DisclosureInventories", "longName": "10401 - Disclosure - Inventories", "shortName": "Inventories", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssets", "longName": "10501 - Disclosure - Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets", "shortName": "Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstruments", "longName": "10601 - Disclosure - Fair Value of Financial Instruments", "shortName": "Fair Value of Financial Instruments", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.cpicardgroup.com/role/DisclosureAccruedExpenses", "longName": "10701 - Disclosure - Accrued Expenses", "shortName": "Accrued Expenses", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.cpicardgroup.com/role/DisclosureLongTermDebt", "longName": "10801 - Disclosure - Long-Term Debt", "shortName": "Long-Term Debt", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.cpicardgroup.com/role/DisclosureIncomeTaxes", "longName": "10901 - Disclosure - Income Taxes", "shortName": "Income Taxes", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.cpicardgroup.com/role/DisclosureStockholdersDeficit", "longName": "11001 - Disclosure - Stockholders' Deficit", "shortName": "Stockholders' Deficit", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.cpicardgroup.com/role/DisclosureEarningsPerShare", "longName": "11101 - Disclosure - Earnings per Share", "shortName": "Earnings per Share", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.cpicardgroup.com/role/DisclosureCommitmentsAndContingencies", "longName": "11201 - Disclosure - Commitments and Contingencies", "shortName": "Commitments and Contingencies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensation", "longName": "11301 - Disclosure - Stock-Based Compensation", "shortName": "Stock-Based Compensation", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.cpicardgroup.com/role/DisclosureSegmentReporting", "longName": "11401 - Disclosure - Segment Reporting", "shortName": "Segment Reporting", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.cpicardgroup.com/role/DisclosureBusinessOverviewAndSummaryOfSignificantAccountingPoliciesPolicies", "longName": "20102 - Disclosure - Business Overview and Summary of Significant Accounting Policies (Policies)", "shortName": "Business Overview and Summary of Significant Accounting Policies (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "21", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.cpicardgroup.com/role/DisclosureNetSalesTables", "longName": "30203 - Disclosure - Net Sales (Tables)", "shortName": "Net Sales (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "22", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R23": { "role": "http://www.cpicardgroup.com/role/DisclosureAccountsReceivableTables", "longName": "30303 - Disclosure - Accounts Receivable (Tables)", "shortName": "Accounts Receivable (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "23", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.cpicardgroup.com/role/DisclosureInventoriesTables", "longName": "30403 - Disclosure - Inventories (Tables)", "shortName": "Inventories (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "24", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssetsTables", "longName": "30503 - Disclosure - Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets (Tables)", "shortName": "Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "25", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstrumentsTables", "longName": "30603 - Disclosure - Fair Value of Financial Instruments (Tables)", "shortName": "Fair Value of Financial Instruments (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "26", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:FairValueByBalanceSheetGroupingTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:FairValueByBalanceSheetGroupingTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.cpicardgroup.com/role/DisclosureAccruedExpensesTables", "longName": "30703 - Disclosure - Accrued Expenses (Tables)", "shortName": "Accrued Expenses (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "27", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.cpicardgroup.com/role/DisclosureLongTermDebtTables", "longName": "30803 - Disclosure - Long-Term Debt (Tables)", "shortName": "Long-Term Debt (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.cpicardgroup.com/role/DisclosureIncomeTaxesTables", "longName": "30903 - Disclosure - Income Taxes (Tables)", "shortName": "Income Taxes (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.cpicardgroup.com/role/DisclosureEarningsPerShareTables", "longName": "31103 - Disclosure - Earnings per Share (Tables)", "shortName": "Earnings per Share (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.cpicardgroup.com/role/DisclosureSegmentReportingTables", "longName": "31403 - Disclosure - Segment Reporting (Tables)", "shortName": "Segment Reporting (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "pmts:ReconciliationOfRevenueAndEbitdaFromSegmentsToConsolidatedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "pmts:ReconciliationOfRevenueAndEbitdaFromSegmentsToConsolidatedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.cpicardgroup.com/role/DisclosureNetSalesDetails", "longName": "40201 - Disclosure - Net Sales (Details)", "shortName": "Net Sales (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "32", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_srt_ProductOrServiceAxis_pmts_ProductsMember_us-gaap_StatementBusinessSegmentsAxis_pmts_USDebitAndCreditMember_p-vnSs11kUWPqF6EtYe4Dw", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "unique": true } }, "R33": { "role": "http://www.cpicardgroup.com/role/DisclosureAccountsReceivableDetails", "longName": "40301 - Disclosure - Accounts Receivable (Details)", "shortName": "Accounts Receivable (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "33", "firstAnchor": { "contextRef": "As_Of_3_31_2024_zxgVv0-R00WG3yGJCyj8fw", "name": "pmts:TradeReceivablesCurrent", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_zxgVv0-R00WG3yGJCyj8fw", "name": "pmts:TradeReceivablesCurrent", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R34": { "role": "http://www.cpicardgroup.com/role/DisclosureInventoriesDetails", "longName": "40401 - Disclosure - Inventories (Details)", "shortName": "Inventories (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "34", "firstAnchor": { "contextRef": "As_Of_3_31_2024_zxgVv0-R00WG3yGJCyj8fw", "name": "us-gaap:InventoryRawMaterials", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_zxgVv0-R00WG3yGJCyj8fw", "name": "us-gaap:InventoryRawMaterials", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R35": { "role": "http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssetsDetails", "longName": "40501 - Disclosure - Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets (Details)", "shortName": "Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "35", "firstAnchor": { "contextRef": "As_Of_3_31_2024_zxgVv0-R00WG3yGJCyj8fw", "name": "pmts:PropertyPlantAndEquipmentAndOperatingLeaseRightOfUseAssetsGross", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_zxgVv0-R00WG3yGJCyj8fw", "name": "pmts:PropertyPlantAndEquipmentAndOperatingLeaseRightOfUseAssetsGross", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R36": { "role": "http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstrumentsDetails", "longName": "40601 - Disclosure - Fair Value of Financial Instruments (Details)", "shortName": "Fair Value of Financial Instruments (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "36", "firstAnchor": { "contextRef": "As_Of_3_31_2024_us-gaap_LongtermDebtTypeAxis_us-gaap_SeniorNotesMember_9KyZdAp7YEuFzh0CP8pw-g", "name": "us-gaap:DebtInstrumentCarryingAmount", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:FairValueByBalanceSheetGroupingTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_LongtermDebtTypeAxis_us-gaap_SeniorNotesMember_3eKlzjH_-UyXzcS2GRVQ2g", "name": "us-gaap:DebtInstrumentFairValue", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:FairValueByBalanceSheetGroupingTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "unique": true } }, "R37": { "role": "http://www.cpicardgroup.com/role/DisclosureAccruedExpensesDetails", "longName": "40701 - Disclosure - Accrued Expenses (Details)", "shortName": "Accrued Expenses (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "As_Of_3_31_2024_zxgVv0-R00WG3yGJCyj8fw", "name": "pmts:AccruedPayrollAndRelatedEmployeeExpensesCurrent", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_zxgVv0-R00WG3yGJCyj8fw", "name": "pmts:AccruedPayrollAndRelatedEmployeeExpensesCurrent", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R38": { "role": "http://www.cpicardgroup.com/role/DisclosureLongTermDebtLongTermDebtDetails", "longName": "40801 - Disclosure - Long-Term Debt - Long-Term Debt (Details)", "shortName": "Long-Term Debt - Long-Term Debt (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "As_Of_3_31_2024_zxgVv0-R00WG3yGJCyj8fw", "name": "us-gaap:DeferredFinanceCostsNoncurrentNet", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtInstrumentsTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_zxgVv0-R00WG3yGJCyj8fw", "name": "us-gaap:DeferredFinanceCostsNoncurrentNet", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtInstrumentsTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R39": { "role": "http://www.cpicardgroup.com/role/DisclosureLongTermDebtFirstLienCreditFacilityDetails", "longName": "40802 - Disclosure - Long-Term Debt - First Lien Credit Facility (Details)", "shortName": "Long-Term Debt - First Lien Credit Facility (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "As_Of_3_15_2021_us-gaap_LongtermDebtTypeAxis_us-gaap_SeniorNotesMember_97_COpSCa0iOZQRa4jSw1Q", "name": "us-gaap:DebtInstrumentInterestRateStatedPercentage", "unitRef": "Unit_Standard_pure_wY1cODB6ckSVa6ZyTCws1g", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_15_2021_us-gaap_LongtermDebtTypeAxis_us-gaap_SeniorNotesMember_97_COpSCa0iOZQRa4jSw1Q", "name": "us-gaap:DebtInstrumentInterestRateStatedPercentage", "unitRef": "Unit_Standard_pure_wY1cODB6ckSVa6ZyTCws1g", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R40": { "role": "http://www.cpicardgroup.com/role/DisclosureIncomeTaxesOtherDetails", "longName": "40901 - Disclosure - Income Taxes - Other (Details)", "shortName": "Income Taxes - Other (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "unitRef": "Unit_Standard_pure_wY1cODB6ckSVa6ZyTCws1g", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true }, "uniqueAnchor": null }, "R41": { "role": "http://www.cpicardgroup.com/role/DisclosureIncomeTaxesEffectiveIncomeTaxRateReconciliationDetails", "longName": "40902 - Disclosure - Income Taxes - Effective Income Tax Rate Reconciliation (Details)", "shortName": "Income Taxes - Effective Income Tax Rate Reconciliation (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "unitRef": "Unit_Standard_pure_wY1cODB6ckSVa6ZyTCws1g", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "unitRef": "Unit_Standard_pure_wY1cODB6ckSVa6ZyTCws1g", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R42": { "role": "http://www.cpicardgroup.com/role/DisclosureStockholdersDeficitDetails", "longName": "41001 - Disclosure - Stockholders' Deficit (Details)", "shortName": "Stockholders' Deficit (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "As_Of_3_31_2024_zxgVv0-R00WG3yGJCyj8fw", "name": "us-gaap:CommonStockParOrStatedValuePerShare", "unitRef": "Unit_Divide_USD_shares_YemhvsfzKE2WPOXarmgfEQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_11_2_2023_34QdyZTbJUaXRIcsv3JmYQ", "name": "us-gaap:CommonStockParOrStatedValuePerShare", "unitRef": "Unit_Divide_USD_shares_YemhvsfzKE2WPOXarmgfEQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "unique": true } }, "R43": { "role": "http://www.cpicardgroup.com/role/DisclosureEarningsPerShareDetails", "longName": "41101 - Disclosure - Earnings per Share (Details)", "shortName": "Earnings per Share (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment", "unitRef": "Unit_Standard_shares_F4PGSniankWALpqICIVl4w", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "unique": true } }, "R44": { "role": "http://www.cpicardgroup.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails", "longName": "41201 - Disclosure - Commitments and Contingencies - Contingencies (Details)", "shortName": "Commitments and Contingencies - Contingencies (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "As_Of_4_20_2021_srt_LitigationCaseAxis_pmts_SmartPackagingSolutionsSVCpiCardGroupIncMember_us-gaap_LitigationStatusAxis_us-gaap_PendingLitigationMember_JjDNypG290OcRlesZTZyBg", "name": "pmts:LossContingencyNumberOfPatentInvolvedInLawsuit", "unitRef": "Unit_Standard_item_TssCHC23pEqjqWbb8VFRiw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "span", "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_4_20_2021_srt_LitigationCaseAxis_pmts_SmartPackagingSolutionsSVCpiCardGroupIncMember_us-gaap_LitigationStatusAxis_us-gaap_PendingLitigationMember_JjDNypG290OcRlesZTZyBg", "name": "pmts:LossContingencyNumberOfPatentInvolvedInLawsuit", "unitRef": "Unit_Standard_item_TssCHC23pEqjqWbb8VFRiw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "span", "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R45": { "role": "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails", "longName": "41301 - Disclosure - Stock-Based Compensation - Omnibus Incentive Plan (Details)", "shortName": "Stock-Based Compensation - Omnibus Incentive Plan (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_1_31_2024_srt_TitleOfIndividualAxis_srt_ChiefExecutiveOfficerMember_us-gaap_AwardTypeAxis_us-gaap_PerformanceSharesMember_cg-T_P4FIEKfpI6_2Y6JtA", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "unitRef": "Unit_Standard_shares_F4PGSniankWALpqICIVl4w", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_1_31_2024_srt_TitleOfIndividualAxis_srt_ChiefExecutiveOfficerMember_us-gaap_AwardTypeAxis_us-gaap_PerformanceSharesMember_cg-T_P4FIEKfpI6_2Y6JtA", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "unitRef": "Unit_Standard_shares_F4PGSniankWALpqICIVl4w", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R46": { "role": "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "longName": "41302 - Disclosure - Stock-Based Compensation - Restricted Stock Units (Details)", "shortName": "Stock-Based Compensation - Restricted Stock Units (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_pmts_CPICardGroupInc.OmnibusPlanMember__ryNizWCNUynds5RD4fZxg", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "unitRef": "Unit_Standard_shares_F4PGSniankWALpqICIVl4w", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_pmts_CPICardGroupInc.OmnibusPlanMember__ryNizWCNUynds5RD4fZxg", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "unitRef": "Unit_Divide_USD_shares_YemhvsfzKE2WPOXarmgfEQ", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "unique": true } }, "R47": { "role": "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "longName": "41303 - Disclosure - Stock-Based Compensation - Additional information (Details)", "shortName": "Stock-Based Compensation - Additional information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "Duration_6_1_2023_To_6_30_2023_us-gaap_AwardTypeAxis_pmts_StockOptionsEmployeesDirectorsConsultantsMember_VYfyIlV54UucTstvjbcZpQ", "name": "pmts:ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfAwardInPlan", "unitRef": "Unit_Standard_pure_wY1cODB6ckSVa6ZyTCws1g", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "span", "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_6_1_2023_To_6_30_2023_us-gaap_AwardTypeAxis_pmts_StockOptionsEmployeesDirectorsConsultantsMember_VYfyIlV54UucTstvjbcZpQ", "name": "pmts:ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfAwardInPlan", "unitRef": "Unit_Standard_pure_wY1cODB6ckSVa6ZyTCws1g", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "span", "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } }, "R48": { "role": "http://www.cpicardgroup.com/role/DisclosureSegmentReportingRevenueAndEbitdaFromContinuingOperationsDetails", "longName": "41401 - Disclosure - Segment Reporting - Revenue and EBITDA from Continuing Operations (Details)", "shortName": "Segment Reporting - Revenue and EBITDA from Continuing Operations (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_pmts_USDebitAndCreditMember_LHVhvbjJnkCFUJ7s_O58bg", "name": "us-gaap:CostOfGoodsAndServicesSold", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "pmts:ReconciliationOfRevenueAndEbitdaFromSegmentsToConsolidatedTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "unique": true } }, "R49": { "role": "http://www.cpicardgroup.com/role/DisclosureSegmentReportingReconciliationOfEbitdaToNetIncomeDetails", "longName": "41402 - Disclosure - Segment Reporting - Reconciliation of EBITDA to net income (Details)", "shortName": "Segment Reporting - Reconciliation of EBITDA to net income (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true }, "uniqueAnchor": null }, "R50": { "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure", "longName": "995410 - Disclosure - Pay vs Performance Disclosure", "shortName": "Pay vs Performance Disclosure", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Uncategorized", "order": "50", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_sa1QtLPHcU-X64WoMwn7_A", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true }, "uniqueAnchor": null }, "R51": { "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "longName": "995445 - Disclosure - Insider Trading Arrangements", "shortName": "Insider Trading Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Cover", "order": "51", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_CyuXb6nnNEGMCFtztSo9lQ", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "pmts-20240331x10q.htm", "first": true, "unique": true } } }, "tag": { "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountingPoliciesAbstract", "lang": { "en-us": { "role": { "label": "Business Overview and Summary of Significant Accounting Policies" } } }, "auth_ref": [] }, "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureAccruedExpenses" ], "lang": { "en-us": { "role": { "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]", "terseLabel": "Accrued Expenses", "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period." } } }, "auth_ref": [ "r11" ] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accounts Payable, Current", "terseLabel": "Accounts payable", "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)." } } }, "auth_ref": [ "r10", "r581" ] }, "us-gaap_AccountsReceivableGrossCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableGrossCurrent", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/DisclosureAccountsReceivableDetails": { "parentTag": "us-gaap_AccountsReceivableNetCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureAccountsReceivableDetails" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, Gross, Current", "totalLabel": "Accounts receivable, gross", "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current." } } }, "auth_ref": [ "r139", "r228", "r229", "r549" ] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 }, "http://www.cpicardgroup.com/role/DisclosureAccountsReceivableDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureAccountsReceivableDetails", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, Net, Current", "totalLabel": "Accounts receivable, net", "verboseLabel": "Accounts receivable, net", "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." } } }, "auth_ref": [ "r228", "r229" ] }, "us-gaap_AccruedBonusesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedBonusesCurrent", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/DisclosureAccruedExpensesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureAccruedExpensesDetails" ], "lang": { "en-us": { "role": { "label": "Accrued Bonuses, Current", "terseLabel": "Accrued employee performance bonuses", "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for incentive compensation awarded to employees and directors or earned by them based on the terms of one or more relevant arrangements. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r14" ] }, "pmts_AccruedCapitalizedContractCostsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "AccruedCapitalizedContractCostsPayableCurrent", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/DisclosureAccruedExpensesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureAccruedExpensesDetails" ], "lang": { "en-us": { "role": { "documentation": "The carrying balance as of the balance sheet date of accrued capitalized contract costs payable, current.", "label": "Accrued Capitalized Contract Costs Payable Current", "terseLabel": "Capitalized contract costs payable" } } }, "auth_ref": [] }, "us-gaap_AccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 }, "http://www.cpicardgroup.com/role/DisclosureAccruedExpensesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureAccruedExpensesDetails", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accrued Liabilities, Current", "terseLabel": "Accrued expenses", "totalLabel": "Total accrued expenses", "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)." } } }, "auth_ref": [ "r14" ] }, "pmts_AccruedOperatingAndFinancingLeaseExpenseCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "AccruedOperatingAndFinancingLeaseExpenseCurrent", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/DisclosureAccruedExpensesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureAccruedExpensesDetails" ], "lang": { "en-us": { "role": { "documentation": "The carrying balance as of the balance sheet date of accrued operating and financing lease expenses.", "label": "Accrued Operating And Financing Lease Expense Current", "terseLabel": "Current operating and financing lease liabilities" } } }, "auth_ref": [] }, "pmts_AccruedPayrollAndRelatedEmployeeExpensesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "AccruedPayrollAndRelatedEmployeeExpensesCurrent", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/DisclosureAccruedExpensesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureAccruedExpensesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of obligations incurred for payroll and related employee expenses, payable within one year or the normal operating cycle, if longer.", "label": "Accrued payroll and related employee expenses current", "terseLabel": "Accrued payroll and related employee expenses" } } }, "auth_ref": [] }, "us-gaap_AccruedPayrollTaxesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedPayrollTaxesCurrent", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/DisclosureAccruedExpensesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureAccruedExpensesDetails" ], "lang": { "en-us": { "role": { "label": "Accrued Payroll Taxes, Current", "terseLabel": "Employer payroll taxes", "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory payroll taxes incurred through that date and withheld from employees pertaining to services received from them, including entity's matching share of the employees FICA taxes and contributions to the state and federal unemployment insurance programs. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r14" ] }, "pmts_AccruedRebatesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "AccruedRebatesCurrent", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/DisclosureAccruedExpensesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureAccruedExpensesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the amount of accrued rebates current.", "label": "Accrued Rebates Current", "terseLabel": "Accrued rebates" } } }, "auth_ref": [] }, "pmts_AccruedShareRepurchasesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "AccruedShareRepurchasesCurrent", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/DisclosureAccruedExpensesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureAccruedExpensesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of obligations incurred for share repurchases, payable within one year or the normal operating cycle, if longer.", "label": "Accrued Share Repurchases Current", "terseLabel": "Accrued share repurchases" } } }, "auth_ref": [] }, "pmts_AccumulatedDepreciationPropertyPlantAndEquipmentAndOperatingLeaseRightOfUseAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "AccumulatedDepreciationPropertyPlantAndEquipmentAndOperatingLeaseRightOfUseAssets", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssetsDetails": { "parentTag": "pmts_PropertyPlantAndEquipmentAndOperatingLeaseRightOfUseAssetsNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssetsDetails", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "documentation": "Amount of accumulated depreciation of property, plant and equipment and operating lease right of use assets.", "label": "Accumulated Depreciation, Property, Plant, and Equipment and Operating Lease Right of Use Assets", "negatedLabel": "Less accumulated depreciation and amortization", "verboseLabel": "Accumulated depreciation and amortization" } } }, "auth_ref": [] }, "ecd_Additional402vDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Additional402vDisclosureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Additional 402(v) Disclosure [Text Block]", "terseLabel": "Additional 402(v) Disclosure" } } }, "auth_ref": [ "r632" ] }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalCommonStock", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Additional Paid in Capital, Common Stock", "verboseLabel": "Capital deficiency", "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital." } } }, "auth_ref": [ "r77" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfStockholdersDeficit" ], "lang": { "en-us": { "role": { "label": "Capital deficiency", "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." } } }, "auth_ref": [ "r374", "r375", "r376", "r482", "r689", "r690", "r691", "r738", "r753" ] }, "ecd_AdjToCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation Amount", "terseLabel": "Adjustment to Compensation, Amount" } } }, "auth_ref": [ "r638" ] }, "ecd_AdjToCompAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation [Axis]", "terseLabel": "Adjustment to Compensation:" } } }, "auth_ref": [ "r638" ] }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToNonPeoNeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]", "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote" } } }, "auth_ref": [ "r638" ] }, "ecd_AdjToPeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToPeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment To PEO Compensation, Footnote [Text Block]", "terseLabel": "Adjustment To PEO Compensation, Footnote" } } }, "auth_ref": [ "r638" ] }, "us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Adjustments, Noncash Items, to Reconcile Net Income to Cash Provided by Operating Activities", "verboseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:" } } }, "auth_ref": [] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfStockholdersDeficit" ], "lang": { "en-us": { "role": { "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition", "terseLabel": "Stock-based compensation", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r61", "r62", "r341" ] }, "ecd_AggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Amount", "terseLabel": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r603", "r614", "r624", "r649" ] }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompNotYetDeterminedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]", "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined" } } }, "auth_ref": [ "r606", "r617", "r627", "r652" ] }, "ecd_AllAdjToCompMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllAdjToCompMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Adjustments to Compensation [Member]", "terseLabel": "All Adjustments to Compensation" } } }, "auth_ref": [ "r638" ] }, "ecd_AllExecutiveCategoriesMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllExecutiveCategoriesMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Executive Categories [Member]", "terseLabel": "All Executive Categories" } } }, "auth_ref": [ "r645" ] }, "ecd_AllIndividualsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllIndividualsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Individuals [Member]", "terseLabel": "All Individuals" } } }, "auth_ref": [ "r610", "r618", "r628", "r645", "r653", "r657", "r665" ] }, "us-gaap_AllOtherSegmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllOtherSegmentsMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureSegmentReportingRevenueAndEbitdaFromContinuingOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Other", "documentation": "Operating segments classified as other. Excludes intersegment elimination and reconciling items." } } }, "auth_ref": [ "r196", "r212", "r213", "r214", "r215", "r216" ] }, "ecd_AllTradingArrangementsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllTradingArrangementsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "All Trading Arrangements [Member]", "terseLabel": "All Trading Arrangements" } } }, "auth_ref": [ "r663" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/DisclosureAccountsReceivableDetails": { "parentTag": "us-gaap_AccountsReceivableNetCurrent", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureAccountsReceivableDetails" ], "lang": { "en-us": { "role": { "label": "Allowance for Doubtful Accounts Receivable, Current", "negatedLabel": "Less allowance for credit losses", "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current." } } }, "auth_ref": [ "r140", "r230", "r234" ] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AmendmentFlag", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "us-gaap_AmortizationOfFinancingCostsAndDiscounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfFinancingCostsAndDiscounts", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Amortization of Financing Costs and Discounts", "terseLabel": "Amortization of debt issuance costs and debt discount", "documentation": "Amount of amortization expense attributable to debt discount (premium) and debt issuance costs." } } }, "auth_ref": [ "r293", "r421", "r561", "r562", "r684" ] }, "us-gaap_AmortizationOfIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfIntangibleAssets", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Amortization of Intangible Assets", "verboseLabel": "Amortization expense", "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method." } } }, "auth_ref": [ "r3", "r43", "r45" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "terseLabel": "Potential antidilutive effect of share-based compensation excluded (in shares)", "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." } } }, "auth_ref": [ "r189" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets", "totalLabel": "Total assets", "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." } } }, "auth_ref": [ "r109", "r134", "r160", "r199", "r214", "r220", "r231", "r258", "r259", "r261", "r262", "r263", "r265", "r267", "r269", "r270", "r394", "r398", "r414", "r438", "r506", "r581", "r594", "r705", "r706", "r742" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsAbstract", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "Assets" } } }, "auth_ref": [] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets, Current", "totalLabel": "Total current assets", "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." } } }, "auth_ref": [ "r128", "r142", "r160", "r231", "r258", "r259", "r261", "r262", "r263", "r265", "r267", "r269", "r270", "r394", "r398", "r414", "r581", "r705", "r706", "r742" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets:" } } }, "auth_ref": [] }, "ecd_AwardExrcPrice": { "xbrltype": "perShareItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardExrcPrice", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Exercise Price", "terseLabel": "Exercise Price" } } }, "auth_ref": [ "r660" ] }, "ecd_AwardGrantDateFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardGrantDateFairValue", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Grant Date Fair Value", "terseLabel": "Fair Value as of Grant Date" } } }, "auth_ref": [ "r661" ] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]", "terseLabel": "Award Timing Disclosures" } } }, "auth_ref": [ "r656" ] }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing, How MNPI Considered [Text Block]", "terseLabel": "Award Timing, How MNPI Considered" } } }, "auth_ref": [ "r656" ] }, "ecd_AwardTmgMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Method [Text Block]", "terseLabel": "Award Timing Method" } } }, "auth_ref": [ "r656" ] }, "ecd_AwardTmgMnpiCnsdrdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiCnsdrdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Considered [Flag]", "terseLabel": "Award Timing MNPI Considered" } } }, "auth_ref": [ "r656" ] }, "ecd_AwardTmgMnpiDiscTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiDiscTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Disclosure [Text Block]", "terseLabel": "Award Timing MNPI Disclosure" } } }, "auth_ref": [ "r656" ] }, "ecd_AwardTmgPredtrmndFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgPredtrmndFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Predetermined [Flag]", "terseLabel": "Award Timing Predetermined" } } }, "auth_ref": [ "r656" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AwardTypeAxis", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails", "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Type [Axis]", "terseLabel": "Award Type", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370" ] }, "ecd_AwardUndrlygSecuritiesAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardUndrlygSecuritiesAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Underlying Securities Amount", "terseLabel": "Underlying Securities" } } }, "auth_ref": [ "r659" ] }, "ecd_AwardsCloseToMnpiDiscIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r658" ] }, "ecd_AwardsCloseToMnpiDiscTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table]", "terseLabel": "Awards Close in Time to MNPI Disclosures" } } }, "auth_ref": [ "r657" ] }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]", "terseLabel": "Awards Close in Time to MNPI Disclosures, Table" } } }, "auth_ref": [ "r657" ] }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BasisOfAccountingPolicyPolicyTextBlock", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureBusinessOverviewAndSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Basis of Accounting, Policy [Policy Text Block]", "terseLabel": "Basis of Presentation", "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)." } } }, "auth_ref": [] }, "pmts_CPICardGroupInc.OmnibusPlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "CPICardGroupInc.OmnibusPlanMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails", "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to the CPI Card Group Inc. Omnibus Plan.", "label": "Omnibus Plan" } } }, "auth_ref": [] }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalExpendituresIncurredButNotYetPaid", "crdr": "credit", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Capital Expenditures Incurred but Not yet Paid", "terseLabel": "Accounts payable and accrued expenses for capital expenditures for plant, equipment and leasehold improvements", "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred." } } }, "auth_ref": [ "r29", "r30", "r31" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Cash and cash equivalents", "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." } } }, "auth_ref": [ "r27", "r130", "r547" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "periodEndLabel": "Cash and cash equivalents, end of period", "periodStartLabel": "Cash and cash equivalents, beginning of period", "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." } } }, "auth_ref": [ "r27", "r92", "r157" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Net increase in cash and cash equivalents", "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." } } }, "auth_ref": [ "r1", "r92" ] }, "ecd_ChangedPeerGroupFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ChangedPeerGroupFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Changed Peer Group, Footnote [Text Block]", "terseLabel": "Changed Peer Group, Footnote" } } }, "auth_ref": [ "r636" ] }, "srt_ChiefExecutiveOfficerMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ChiefExecutiveOfficerMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails" ], "lang": { "en-us": { "role": { "label": "Chief Executive Officer" } } }, "auth_ref": [ "r694" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CityAreaCode", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "us-gaap_ClassOfStockLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ClassOfStockLineItems", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockholdersDeficitDetails" ], "lang": { "en-us": { "role": { "label": "Class of Stock [Line Items]", "terseLabel": "Class of Stock", "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." } } }, "auth_ref": [ "r136", "r137", "r138", "r194", "r301", "r302", "r303", "r305", "r308", "r313", "r315", "r475", "r476", "r477", "r478", "r563", "r671", "r685" ] }, "ecd_CoSelectedMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Amount", "terseLabel": "Company Selected Measure Amount" } } }, "auth_ref": [ "r637" ] }, "ecd_CoSelectedMeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Name", "terseLabel": "Company Selected Measure Name" } } }, "auth_ref": [ "r637" ] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingencies", "crdr": "credit", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies.", "terseLabel": "Commitments and contingencies (Note 12)", "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." } } }, "auth_ref": [ "r19", "r70", "r440", "r493" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Commitments and Contingencies" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureCommitmentsAndContingencies" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "Commitments and Contingencies", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r101", "r250", "r251", "r543", "r699" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockholdersDeficitDetails", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfStockholdersDeficit" ], "lang": { "en-us": { "role": { "label": "Common Stock", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r584", "r585", "r586", "r588", "r589", "r590", "r591", "r689", "r690", "r738", "r752", "r753" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockholdersDeficitDetails", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common shares, par value (in dollars per share)", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r76" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares Authorized", "terseLabel": "Common shares, authorized shares (in shares)", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r76", "r494" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares, Issued", "terseLabel": "Common shares, issued shares (in shares)", "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." } } }, "auth_ref": [ "r76" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfStockholdersDeficit" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares, Outstanding", "periodEndLabel": "Ending balance (in shares)", "periodStartLabel": "Beginning balance (in shares)", "terseLabel": "Common shares, outstanding shares (in shares)", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r5", "r76", "r494", "r512", "r753", "r754" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Common Stock, Value, Issued", "verboseLabel": "Common stock; $0.001 par value-100,000,000 shares authorized; 11,391,476 and 11,446,155 shares issued and outstanding at March 31, 2024 and December 31, 2023, respectively", "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." } } }, "auth_ref": [ "r76", "r442", "r581" ] }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Company Selected Measure" } } }, "auth_ref": [ "r642" ] }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsNetIncomeTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Net Income [Text Block]", "terseLabel": "Compensation Actually Paid vs. Net Income" } } }, "auth_ref": [ "r641" ] }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Other Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Other Measure" } } }, "auth_ref": [ "r643" ] }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]", "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return" } } }, "auth_ref": [ "r640" ] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeCalc2": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Total comprehensive income", "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r22", "r144", "r146", "r150", "r435", "r448" ] }, "srt_ConsolidationItemsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsAxis", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureNetSalesDetails", "http://www.cpicardgroup.com/role/DisclosureSegmentReportingRevenueAndEbitdaFromContinuingOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Axis]" } } }, "auth_ref": [ "r164", "r201", "r212", "r213", "r214", "r215", "r216", "r218", "r222", "r258", "r259", "r260", "r261", "r263", "r264", "r266", "r268", "r269", "r705", "r706" ] }, "srt_ConsolidationItemsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsDomain", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureNetSalesDetails", "http://www.cpicardgroup.com/role/DisclosureSegmentReportingRevenueAndEbitdaFromContinuingOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Domain]" } } }, "auth_ref": [ "r164", "r201", "r212", "r213", "r214", "r215", "r216", "r218", "r222", "r258", "r259", "r260", "r261", "r263", "r264", "r266", "r268", "r269", "r705", "r706" ] }, "us-gaap_ConstructionInProgressMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConstructionInProgressMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Construction in progress", "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service." } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Liability, Current", "terseLabel": "Deferred revenue and customer deposits", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current." } } }, "auth_ref": [ "r317", "r318", "r329" ] }, "us-gaap_CostOfGoodsAndServiceExcludingDepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServiceExcludingDepreciationDepletionAndAmortization", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_CostOfGoodsAndServicesSold", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Cost of Goods Sold, Excluding Depreciation, Depletion, and Amortization", "terseLabel": "Products and Services (exclusive of depreciation and amortization shown below)", "documentation": "Cost of product sold and service rendered, excluding depreciation, depletion, and amortization." } } }, "auth_ref": [ "r674", "r675" ] }, "us-gaap_CostOfGoodsAndServicesSold": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSold", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_GrossProfit", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureSegmentReportingRevenueAndEbitdaFromContinuingOperationsDetails", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Cost of Goods and Services Sold", "terseLabel": "Cost of sales", "totalLabel": "Total cost of sales", "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities." } } }, "auth_ref": [ "r88", "r433" ] }, "us-gaap_CostOfGoodsAndServicesSoldAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSoldAbstract", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Cost of Goods and Services Sold [Abstract]", "terseLabel": "Cost of sales:" } } }, "auth_ref": [] }, "us-gaap_CostOfGoodsAndServicesSoldDepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSoldDepreciationAndAmortization", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_CostOfGoodsAndServicesSold", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Cost of Goods and Services Sold, Depreciation and Amortization", "terseLabel": "Depreciation and amortization", "documentation": "Amount of expense for allocation of cost of tangible and intangible assets over their useful lives directly used in production of good and rendering of service." } } }, "auth_ref": [ "r681" ] }, "srt_CounterpartyNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "CounterpartyNameAxis", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockholdersDeficitDetails" ], "lang": { "en-us": { "role": { "label": "Counterparty Name [Axis]" } } }, "auth_ref": [ "r162", "r163", "r275", "r303", "r427", "r550", "r552" ] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "label": "Cover Abstract", "documentation": "Cover page." } } }, "auth_ref": [] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Long-Term Debt." } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureTextBlock", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureLongTermDebt" ], "lang": { "en-us": { "role": { "label": "Debt Disclosure [Text Block]", "terseLabel": "Long-Term Debt", "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants." } } }, "auth_ref": [ "r102", "r158", "r271", "r277", "r278", "r279", "r280", "r281", "r282", "r287", "r294", "r295", "r297" ] }, "us-gaap_DebtInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentAxis", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureLongTermDebtFirstLienCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument [Axis]", "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities." } } }, "auth_ref": [ "r8", "r72", "r73", "r110", "r111", "r164", "r272", "r273", "r274", "r275", "r276", "r278", "r283", "r284", "r285", "r286", "r288", "r289", "r290", "r291", "r292", "r293", "r422", "r558", "r559", "r560", "r561", "r562", "r686" ] }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureLongTermDebtFirstLienCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Basis Spread on Variable Rate", "terseLabel": "Applicable margin over reference rate (as a percent)", "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument." } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentCarryingAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentCarryingAmount", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/DisclosureLongTermDebtLongTermDebtDetails": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstrumentsDetails", "http://www.cpicardgroup.com/role/DisclosureLongTermDebtFirstLienCreditFacilityDetails", "http://www.cpicardgroup.com/role/DisclosureLongTermDebtLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Gross", "terseLabel": "Long-term debt", "verboseLabel": "Carrying amount", "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt." } } }, "auth_ref": [ "r8", "r111", "r298" ] }, "us-gaap_DebtInstrumentFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentFairValue", "crdr": "credit", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Fair Value Disclosure", "terseLabel": "Long-term debt", "documentation": "Fair value portion of debt instrument payable, including, but not limited to, notes payable and loans payable." } } }, "auth_ref": [ "r285", "r413", "r559", "r560" ] }, "us-gaap_DebtInstrumentInterestRateStatedPercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentInterestRateStatedPercentage", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureLongTermDebtFirstLienCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Interest Rate, Stated Percentage", "terseLabel": "Interest rate (as a percent)", "documentation": "Contractual interest rate for funds borrowed, under the debt agreement." } } }, "auth_ref": [ "r16", "r273" ] }, "us-gaap_DebtInstrumentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentLineItems", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureLongTermDebtFirstLienCreditFacilityDetails", "http://www.cpicardgroup.com/role/DisclosureLongTermDebtLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument [Line Items]", "verboseLabel": "Long-term Debt", "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." } } }, "auth_ref": [ "r164", "r272", "r273", "r274", "r275", "r276", "r278", "r283", "r284", "r285", "r286", "r288", "r289", "r290", "r291", "r292", "r293", "r296", "r422", "r558", "r559", "r560", "r561", "r562", "r686" ] }, "us-gaap_DebtInstrumentNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentNameDomain", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureLongTermDebtFirstLienCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Name [Domain]", "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities." } } }, "auth_ref": [ "r17", "r164", "r272", "r273", "r274", "r275", "r276", "r278", "r283", "r284", "r285", "r286", "r288", "r289", "r290", "r291", "r292", "r293", "r422", "r558", "r559", "r560", "r561", "r562", "r686" ] }, "us-gaap_DebtInstrumentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentTable", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureLongTermDebtFirstLienCreditFacilityDetails", "http://www.cpicardgroup.com/role/DisclosureLongTermDebtLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Long-term Debt Instruments [Table]", "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." } } }, "auth_ref": [ "r17", "r54", "r57", "r66", "r67", "r69", "r71", "r104", "r105", "r164", "r272", "r273", "r274", "r275", "r276", "r278", "r283", "r284", "r285", "r286", "r288", "r289", "r290", "r291", "r292", "r293", "r296", "r422", "r558", "r559", "r560", "r561", "r562", "r686" ] }, "us-gaap_DeferredFinanceCostsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredFinanceCostsNet", "crdr": "debit", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureLongTermDebtFirstLienCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Debt Issuance Costs, Net", "verboseLabel": "Debi issuance cost", "documentation": "Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs." } } }, "auth_ref": [ "r68", "r708" ] }, "us-gaap_DeferredFinanceCostsNoncurrentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredFinanceCostsNoncurrentNet", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/DisclosureLongTermDebtLongTermDebtDetails": { "parentTag": "us-gaap_LongTermDebt", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureLongTermDebtLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Finance Costs, Noncurrent, Net", "negatedLabel": "Unamortized deferred financing costs", "documentation": "Amount, after accumulated amortization, of debt issuance costs classified as noncurrent. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs." } } }, "auth_ref": [ "r68" ] }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxLiabilitiesNet", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Liabilities, Net, Noncurrent", "terseLabel": "Deferred income taxes", "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting." } } }, "auth_ref": [ "r378", "r379", "r439" ] }, "us-gaap_Depreciation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Depreciation", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Depreciation", "terseLabel": "Depreciation expense", "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation." } } }, "auth_ref": [ "r3", "r46" ] }, "us-gaap_DepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationAndAmortization", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Depreciation, Depletion and Amortization, Nonproduction", "terseLabel": "Depreciation and amortization", "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production." } } }, "auth_ref": [ "r3", "r46" ] }, "us-gaap_DepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationDepletionAndAmortization", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/DisclosureSegmentReportingReconciliationOfEbitdaToNetIncomeDetails": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureSegmentReportingReconciliationOfEbitdaToNetIncomeDetails", "http://www.cpicardgroup.com/role/DisclosureSegmentReportingRevenueAndEbitdaFromContinuingOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Depreciation, Depletion and Amortization", "terseLabel": "Depreciation and amortization", "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." } } }, "auth_ref": [ "r3", "r204" ] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueLineItems", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureNetSalesDetails" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Disaggregation of Revenue", "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." } } }, "auth_ref": [ "r328", "r564", "r565", "r566", "r567", "r568", "r569", "r570" ] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureNetSalesDetails" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Table]", "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." } } }, "auth_ref": [ "r328", "r564", "r565", "r566", "r567", "r568", "r569", "r570" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureNetSalesTables" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Schedule of disaggregation of net sales by major source", "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." } } }, "auth_ref": [ "r709" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensation" ], "lang": { "en-us": { "role": { "label": "Disclosure of Compensation Related Costs, Share-based Payments [Text Block]", "terseLabel": "Stock-Based Compensation", "documentation": "The entire disclosure for share-based payment arrangement." } } }, "auth_ref": [ "r339", "r344", "r371", "r372", "r373", "r575" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "lang": { "en-us": { "role": { "label": "Stock-Based Compensation" } } }, "auth_ref": [] }, "us-gaap_DividendsCommonStockAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DividendsCommonStockAbstract", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockholdersDeficitDetails" ], "lang": { "en-us": { "role": { "label": "Dividends, Common Stock [Abstract]", "verboseLabel": "Stockholders' Deficit" } } }, "auth_ref": [] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Period Focus", "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." } } }, "auth_ref": [] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Year Focus", "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." } } }, "auth_ref": [] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Period End Date", "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD." } } }, "auth_ref": [] }, "dei_DocumentQuarterlyReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentQuarterlyReport", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Quarterly Report", "documentation": "Boolean flag that is true only for a form used as an quarterly report." } } }, "auth_ref": [ "r598" ] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentTransitionReport", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r631" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentType", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Type", "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'." } } }, "auth_ref": [] }, "us-gaap_EarlyRepaymentOfSeniorDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarlyRepaymentOfSeniorDebt", "crdr": "credit", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureLongTermDebtFirstLienCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Early Repayment of Senior Debt", "terseLabel": "Prepayment of debt", "documentation": "The cash outflow for the extinguishment of long-term borrowing, with the highest claim on the assets of the entity in case of bankruptcy or liquidation, before its maturity." } } }, "auth_ref": [ "r25" ] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareAbstract", "lang": { "en-us": { "role": { "label": "Earnings per Share" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureEarningsPerShareDetails", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic", "verboseLabel": "Basic earnings per share: (in dollars per share)", "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period." } } }, "auth_ref": [ "r151", "r170", "r171", "r172", "r173", "r174", "r179", "r181", "r186", "r187", "r188", "r192", "r408", "r409", "r436", "r449", "r553" ] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureEarningsPerShareDetails", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Diluted", "verboseLabel": "Diluted earnings per share: (in dollars per share)", "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." } } }, "auth_ref": [ "r151", "r170", "r171", "r172", "r173", "r174", "r181", "r186", "r187", "r188", "r192", "r408", "r409", "r436", "r449", "r553" ] }, "us-gaap_EarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareTextBlock", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureEarningsPerShare" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share [Text Block]", "terseLabel": "Earnings per Share", "documentation": "The entire disclosure for earnings per share." } } }, "auth_ref": [ "r178", "r189", "r190", "r191" ] }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations", "terseLabel": "Effect of exchange rates on cash", "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r740" ] }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateContinuingOperations", "calculation": { "http://www.cpicardgroup.com/role/DisclosureIncomeTaxesEffectiveIncomeTaxRateReconciliationDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureIncomeTaxesEffectiveIncomeTaxRateReconciliationDetails", "http://www.cpicardgroup.com/role/DisclosureIncomeTaxesOtherDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Percent", "terseLabel": "Effective income tax rate", "totalLabel": "Effective income tax rate (as a percent)", "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r381" ] }, "us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureIncomeTaxesEffectiveIncomeTaxRateReconciliationDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Percent [Abstract]", "terseLabel": "Effective Income Tax Rate Reconciliation" } } }, "auth_ref": [] }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "calculation": { "http://www.cpicardgroup.com/role/DisclosureIncomeTaxesEffectiveIncomeTaxRateReconciliationDetails": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureIncomeTaxesEffectiveIncomeTaxRateReconciliationDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent", "terseLabel": "Tax at federal statutory rate (as a percent)", "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)." } } }, "auth_ref": [ "r161", "r381", "r389" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance", "calculation": { "http://www.cpicardgroup.com/role/DisclosureIncomeTaxesEffectiveIncomeTaxRateReconciliationDetails": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureIncomeTaxesEffectiveIncomeTaxRateReconciliationDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent", "terseLabel": "Valuation allowance (as a percent)", "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets." } } }, "auth_ref": [ "r736", "r737" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpense": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpense", "calculation": { "http://www.cpicardgroup.com/role/DisclosureIncomeTaxesEffectiveIncomeTaxRateReconciliationDetails": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureIncomeTaxesEffectiveIncomeTaxRateReconciliationDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Percent", "terseLabel": "Permanent items (as a percent)", "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to nondeductible expenses." } } }, "auth_ref": [ "r736", "r737" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost", "calculation": { "http://www.cpicardgroup.com/role/DisclosureIncomeTaxesEffectiveIncomeTaxRateReconciliationDetails": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureIncomeTaxesEffectiveIncomeTaxRateReconciliationDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-Based Payment Arrangement, Percent", "terseLabel": "Deductibility limitations on excess compensation (as a percentage)", "documentation": "Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for share-based payment arrangement." } } }, "auth_ref": [ "r736", "r737" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent", "calculation": { "http://www.cpicardgroup.com/role/DisclosureIncomeTaxesEffectiveIncomeTaxRateReconciliationDetails": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureIncomeTaxesEffectiveIncomeTaxRateReconciliationDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Other Reconciling Items, Percent", "terseLabel": "Other (as a percent)", "documentation": "Percentage of the difference, between reported income tax expense (benefit) and the expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations, that is attributable to tax exempt income, equity in earnings (loss) of an unconsolidated subsidiary, minority interest income (expense), tax holiday, disposition of a business, disposition of an asset, repatriation of foreign earnings, repatriation of foreign earnings jobs creation act of 2004, change in enacted tax rate, prior year income taxes, change in deferred tax asset valuation allowance, and other adjustments." } } }, "auth_ref": [] }, "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes", "calculation": { "http://www.cpicardgroup.com/role/DisclosureIncomeTaxesEffectiveIncomeTaxRateReconciliationDetails": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureIncomeTaxesEffectiveIncomeTaxRateReconciliationDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent", "terseLabel": "State taxes, net (as a percent)", "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit)." } } }, "auth_ref": [ "r736", "r737" ] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockOptionMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Employee Stock Option [Member]", "terseLabel": "Employee Stock Option", "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time." } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, City or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, State or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Central Index Key", "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK." } } }, "auth_ref": [ "r596" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Common Stock, Shares Outstanding", "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." } } }, "auth_ref": [] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Current Reporting Status", "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." } } }, "auth_ref": [] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r596" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity File Number", "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen." } } }, "auth_ref": [] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFilerCategory", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Filer Category", "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." } } }, "auth_ref": [ "r596" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Interactive Data Current", "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)." } } }, "auth_ref": [ "r670" ] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityRegistrantName", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Registrant Name", "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC." } } }, "auth_ref": [ "r596" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityShellCompany", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Shell Company", "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act." } } }, "auth_ref": [ "r596" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitySmallBusiness", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r596" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Tax Identification Number", "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS." } } }, "auth_ref": [ "r596" ] }, "us-gaap_EquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityAbstract", "lang": { "en-us": { "role": { "label": "Stockholders' Deficit" } } }, "auth_ref": [] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityComponentDomain", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockholdersDeficitDetails", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfStockholdersDeficit" ], "lang": { "en-us": { "role": { "label": "Equity Component [Domain]", "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." } } }, "auth_ref": [ "r5", "r125", "r147", "r148", "r149", "r165", "r166", "r167", "r169", "r175", "r177", "r193", "r232", "r233", "r316", "r374", "r375", "r376", "r385", "r386", "r400", "r401", "r402", "r403", "r404", "r405", "r407", "r415", "r416", "r417", "r418", "r419", "r420", "r426", "r469", "r470", "r471", "r482", "r531" ] }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Valuation Assumption Difference, Footnote [Text Block]", "terseLabel": "Equity Valuation Assumption Difference, Footnote" } } }, "auth_ref": [ "r639" ] }, "ecd_ErrCompAnalysisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompAnalysisTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneous Compensation Analysis [Text Block]", "terseLabel": "Erroneous Compensation Analysis" } } }, "auth_ref": [ "r603", "r614", "r624", "r649" ] }, "ecd_ErrCompRecoveryTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompRecoveryTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneously Awarded Compensation Recovery [Table]", "terseLabel": "Erroneously Awarded Compensation Recovery" } } }, "auth_ref": [ "r600", "r611", "r621", "r646" ] }, "us-gaap_EstimateOfFairValueFairValueDisclosureMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EstimateOfFairValueFairValueDisclosureMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Estimate of Fair Value", "documentation": "Measured as an estimate of fair value." } } }, "auth_ref": [ "r285", "r413", "r559", "r560" ] }, "ecd_ExecutiveCategoryAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ExecutiveCategoryAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Executive Category [Axis]", "terseLabel": "Executive Category:" } } }, "auth_ref": [ "r645" ] }, "us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]", "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." } } }, "auth_ref": [] }, "us-gaap_FairValueByBalanceSheetGroupingTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByBalanceSheetGroupingTable", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, by Balance Sheet Grouping [Table]", "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." } } }, "auth_ref": [ "r63", "r64", "r65" ] }, "us-gaap_FairValueByBalanceSheetGroupingTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByBalanceSheetGroupingTextBlock", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstrumentsTables" ], "lang": { "en-us": { "role": { "label": "Fair Value, by Balance Sheet Grouping [Table Text Block]", "terseLabel": "Schedule of financial assets and liabilities subject to fair value measurements", "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." } } }, "auth_ref": [ "r63", "r64" ] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Hierarchy and NAV [Axis]", "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient." } } }, "auth_ref": [ "r285", "r332", "r333", "r334", "r335", "r336", "r337", "r411", "r428", "r429", "r430", "r559", "r560", "r571", "r572", "r573" ] }, "us-gaap_FairValueByMeasurementBasisAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByMeasurementBasisAxis", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Measurement Basis [Axis]", "documentation": "Information by measurement basis." } } }, "auth_ref": [ "r6", "r63", "r285", "r559", "r560" ] }, "us-gaap_FairValueDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresAbstract", "lang": { "en-us": { "role": { "label": "Fair Value of Financial Instruments" } } }, "auth_ref": [] }, "us-gaap_FairValueDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresTextBlock", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstruments" ], "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Text Block]", "terseLabel": "Fair Value of Financial Instruments", "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." } } }, "auth_ref": [ "r410" ] }, "us-gaap_FairValueInputsLevel2Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel2Member", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Level 2", "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets." } } }, "auth_ref": [ "r285", "r332", "r337", "r411", "r429", "r559", "r560", "r571", "r572", "r573" ] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsFairValueHierarchyDomain", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Hierarchy and NAV [Domain]", "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value." } } }, "auth_ref": [ "r285", "r332", "r333", "r334", "r335", "r336", "r337", "r428", "r429", "r430", "r559", "r560", "r571", "r572", "r573" ] }, "us-gaap_FinanceLeasePrincipalPayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeasePrincipalPayments", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Principal Payments", "negatedLabel": "Payments on finance lease obligations", "documentation": "Amount of cash outflow for principal payment on finance lease." } } }, "auth_ref": [ "r423", "r424" ] }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "crdr": "credit", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "terseLabel": "Intangible assets accumulated amortization", "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r132", "r246" ] }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r607", "r618", "r628", "r653" ] }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Expense of Enforcement, Amount", "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r607", "r618", "r628", "r653" ] }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Violation of Home Country Law, Amount", "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r607", "r618", "r628", "r653" ] }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Explanation of Impracticability [Text Block]", "terseLabel": "Forgone Recovery, Explanation of Impracticability" } } }, "auth_ref": [ "r607", "r618", "r628", "r653" ] }, "ecd_ForgoneRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r607", "r618", "r628", "r653" ] }, "us-gaap_FurnitureAndFixturesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FurnitureAndFixturesMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Furniture, fixtures and computer equipment", "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases." } } }, "auth_ref": [] }, "us-gaap_GainsLossesOnExtinguishmentOfDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GainsLossesOnExtinguishmentOfDebt", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 6.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Gains (Losses) on Extinguishment of Debt", "negatedLabel": "Loss on debt extinguishment", "documentation": "Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity." } } }, "auth_ref": [ "r3", "r48", "r49" ] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Goodwill", "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r131", "r236", "r434", "r557", "r581", "r696", "r697" ] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GrossProfit", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureSegmentReportingRevenueAndEbitdaFromContinuingOperationsDetails", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Gross Profit", "terseLabel": "Gross profit", "totalLabel": "Gross profit", "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity." } } }, "auth_ref": [ "r87", "r160", "r199", "r213", "r219", "r222", "r231", "r258", "r259", "r261", "r262", "r263", "r265", "r267", "r269", "r270", "r414", "r555", "r705" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "totalLabel": "Income before income taxes", "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest." } } }, "auth_ref": [ "r0", "r85", "r113", "r199", "r213", "r219", "r222", "r437", "r445", "r555" ] }, "pmts_IncomeLossFromContinuingOperationsBeforeInterestExpenseIncomeTaxesDepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "IncomeLossFromContinuingOperationsBeforeInterestExpenseIncomeTaxesDepreciationAndAmortization", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/DisclosureSegmentReportingReconciliationOfEbitdaToNetIncomeDetails": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureSegmentReportingReconciliationOfEbitdaToNetIncomeDetails", "http://www.cpicardgroup.com/role/DisclosureSegmentReportingRevenueAndEbitdaFromContinuingOperationsDetails" ], "lang": { "en-us": { "role": { "documentation": "This element represents the income or loss from continuing operations attributable to the economic entity, before interest expense, income taxes, depreciation, and amortization.", "label": "Income (Loss) From Continuing Operations Before Interest Expense Income Taxes Depreciation And Amortization", "totalLabel": "EBITDA", "verboseLabel": "Total segment EBITDA" } } }, "auth_ref": [] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "label": "Condensed Consolidated Statements of Operations and Comprehensive Income" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Income Taxes" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureIncomeTaxes" ], "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Text Block]", "verboseLabel": "Income Taxes", "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information." } } }, "auth_ref": [ "r161", "r377", "r382", "r383", "r384", "r387", "r390", "r391", "r392", "r480" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 1.0 }, "http://www.cpicardgroup.com/role/DisclosureSegmentReportingReconciliationOfEbitdaToNetIncomeDetails": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureSegmentReportingReconciliationOfEbitdaToNetIncomeDetails", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Income Tax Expense (Benefit)", "negatedTerseLabel": "Income tax expense", "verboseLabel": "Income tax expense", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r115", "r123", "r176", "r177", "r207", "r380", "r388", "r450" ] }, "us-gaap_IncomeTaxesPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxesPaid", "crdr": "credit", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Income Taxes Paid", "terseLabel": "Cash paid (refunded) during the period for: Income taxes paid", "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income." } } }, "auth_ref": [ "r26", "r28" ] }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayable", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 13.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accounts Payable", "terseLabel": "Accounts payable", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business." } } }, "auth_ref": [ "r2" ] }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 9.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accounts Receivable", "negatedLabel": "Accounts receivable, net", "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." } } }, "auth_ref": [ "r2" ] }, "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 14.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities", "terseLabel": "Accrued expenses and other liabilities", "documentation": "Amount of increase (decrease) in accrued expenses, and obligations classified as other." } } }, "auth_ref": [ "r683" ] }, "pmts_IncreaseDecreaseInContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "IncreaseDecreaseInContractWithCustomerLiabilityCurrent", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 15.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the amount of (a) prepayments by customers for goods or services to be provided at a later date, (b) the amount of customer money held in customer accounts, including security deposits, collateral for current or future transactions, initial payment of the cost of an acquisition or for the right to enter into a contract or agreement, (c) the increase (decrease) during the reporting period, excluding the portion taken into income, in the liability reflecting services yet to be performed by the reporting entity for which cash or other forms of consideration was received or recorded as a receivable, or (d) some combination of (a), (b), and (c).", "label": "Increase Decrease In Contract With Customer Liability Current", "terseLabel": "Deferred revenue and customer deposits" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInDeferredIncomeTaxes": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInDeferredIncomeTaxes", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 7.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Deferred Income Taxes", "negatedTerseLabel": "Deferred income taxes", "documentation": "The increase (decrease) during the reporting period in the account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa." } } }, "auth_ref": [ "r2" ] }, "us-gaap_IncreaseDecreaseInIncomeTaxes": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInIncomeTaxes", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 12.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Income Taxes", "terseLabel": "Income taxes, net", "documentation": "The increase (decrease) during the reporting period in the amounts payable to taxing authorities for taxes that are based on the reporting entity's earnings, net of amounts receivable from taxing authorities for refunds of overpayments or recoveries of income taxes, and in deferred and other tax liabilities and assets." } } }, "auth_ref": [ "r683" ] }, "us-gaap_IncreaseDecreaseInInventories": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInInventories", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 10.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Inventories", "negatedLabel": "Inventories", "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." } } }, "auth_ref": [ "r2" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in operating assets and liabilities:" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 11.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedLabel": "Prepaid expenses and other assets", "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other." } } }, "auth_ref": [ "r2" ] }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements", "terseLabel": "Potential dilutive effect of stock options included (in shares)", "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method." } } }, "auth_ref": [ "r182", "r183", "r184", "r188", "r343" ] }, "ecd_IndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "IndividualAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Individual [Axis]", "terseLabel": "Individual:" } } }, "auth_ref": [ "r610", "r618", "r628", "r645", "r653", "r657", "r665" ] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]", "terseLabel": "Insider Trading Arrangements:" } } }, "auth_ref": [ "r663" ] }, "ecd_InsiderTradingPoliciesProcLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingPoliciesProcLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]", "terseLabel": "Insider Trading Policies and Procedures:" } } }, "auth_ref": [ "r599", "r669" ] }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Adopted [Flag]", "terseLabel": "Insider Trading Policies and Procedures Adopted" } } }, "auth_ref": [ "r599", "r669" ] }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]", "terseLabel": "Insider Trading Policies and Procedures Not Adopted" } } }, "auth_ref": [ "r599", "r669" ] }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsNetExcludingGoodwill", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Intangible Assets, Net (Excluding Goodwill)", "terseLabel": "Intangible assets, net of accumulated amortization of $52,731 and $51,763 respectively", "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges." } } }, "auth_ref": [ "r42", "r44" ] }, "us-gaap_InterestPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestPaidNet", "crdr": "credit", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Interest Paid, Net", "terseLabel": "Cash paid (refunded) during the period for: Interest", "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount." } } }, "auth_ref": [ "r152", "r155", "r156" ] }, "us-gaap_InterestPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestPayableCurrent", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/DisclosureAccruedExpensesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureAccruedExpensesDetails" ], "lang": { "en-us": { "role": { "label": "Interest Payable, Current", "terseLabel": "Accrued interest", "documentation": "Carrying value as of the balance sheet date of [accrued] interest payable on all forms of debt, including trade payables, that has been incurred and is unpaid. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r14" ] }, "us-gaap_IntersegmentEliminationMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntersegmentEliminationMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureNetSalesDetails", "http://www.cpicardgroup.com/role/DisclosureSegmentReportingRevenueAndEbitdaFromContinuingOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Intersegment eliminations", "documentation": "Eliminating entries used in operating segment consolidation." } } }, "auth_ref": [ "r201", "r212", "r213", "r214", "r215", "r216", "r218", "r222" ] }, "us-gaap_InventoryDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Inventories" } } }, "auth_ref": [] }, "us-gaap_InventoryDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryDisclosureTextBlock", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureInventories" ], "lang": { "en-us": { "role": { "label": "Inventory Disclosure [Text Block]", "terseLabel": "Inventories", "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." } } }, "auth_ref": [ "r235" ] }, "us-gaap_InventoryFinishedGoods": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryFinishedGoods", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/DisclosureInventoriesDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureInventoriesDetails" ], "lang": { "en-us": { "role": { "label": "Inventory, Finished Goods, Gross", "verboseLabel": "Finished goods", "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer." } } }, "auth_ref": [ "r676" ] }, "us-gaap_InventoryNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryNet", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 }, "http://www.cpicardgroup.com/role/DisclosureInventoriesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureInventoriesDetails", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Inventory, Net", "terseLabel": "Inventories, net", "totalLabel": "Inventory", "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r141", "r548", "r581" ] }, "us-gaap_InventoryRawMaterials": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryRawMaterials", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/DisclosureInventoriesDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureInventoriesDetails" ], "lang": { "en-us": { "role": { "label": "Inventory, Raw Materials, Gross", "verboseLabel": "Raw materials", "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r677" ] }, "us-gaap_InventoryValuationReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryValuationReserves", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/DisclosureInventoriesDetails": { "parentTag": "us-gaap_InventoryNet", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureInventoriesDetails" ], "lang": { "en-us": { "role": { "label": "Inventory Valuation Reserves", "negatedLabel": "Inventory reserve", "documentation": "Amount of valuation reserve for inventory." } } }, "auth_ref": [ "r40", "r678" ] }, "pmts_June2023AwardOneMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "June2023AwardOneMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "It represents award granted to executive officers and certain key employees, excluding the Company's President and Chief Executive Officer (\"CEO\").", "label": "June 2023 Award One [Member]", "terseLabel": "June 2023 award one" } } }, "auth_ref": [] }, "pmts_June2023AwardTwoMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "June2023AwardTwoMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Award granted to its Chief Executive Officer (\"CEO\").", "label": "June 2023 Award Two [Member]", "terseLabel": "June 2023 award two" } } }, "auth_ref": [] }, "us-gaap_LeaseholdImprovementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseholdImprovementsMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Leasehold improvements", "documentation": "Additions or improvements to assets held under a lease arrangement." } } }, "auth_ref": [ "r100" ] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities", "totalLabel": "Total liabilities", "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." } } }, "auth_ref": [ "r13", "r160", "r231", "r258", "r259", "r261", "r262", "r263", "r265", "r267", "r269", "r270", "r395", "r398", "r399", "r414", "r492", "r554", "r594", "r705", "r742", "r743" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity", "totalLabel": "Total liabilities and stockholders' deficit", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r81", "r112", "r444", "r581", "r687", "r695", "r739" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "Liabilities and stockholders' deficit" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current", "totalLabel": "Total current liabilities", "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." } } }, "auth_ref": [ "r15", "r129", "r160", "r231", "r258", "r259", "r261", "r262", "r263", "r265", "r267", "r269", "r270", "r395", "r398", "r399", "r414", "r581", "r705", "r742", "r743" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities:" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesFairValueDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesFairValueDisclosureAbstract", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Liabilities, Fair Value Disclosure [Abstract]", "terseLabel": "Liabilities:" } } }, "auth_ref": [] }, "us-gaap_LineOfCreditFacilityInterestRateAtPeriodEnd": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityInterestRateAtPeriodEnd", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureLongTermDebtLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Interest Rate at Period End", "terseLabel": "Interest Rate (as a percent)", "documentation": "The effective interest rate at the end of the reporting period." } } }, "auth_ref": [ "r12" ] }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureLongTermDebtFirstLienCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Maximum Borrowing Capacity", "terseLabel": "Maximum borrowing capacity", "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." } } }, "auth_ref": [ "r12" ] }, "us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureLongTermDebtFirstLienCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Unused Capacity, Commitment Fee Percentage", "terseLabel": "Unused commitment fee (as a percent)", "documentation": "The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility." } } }, "auth_ref": [] }, "srt_LitigationCaseAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "LitigationCaseAxis", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" ], "lang": { "en-us": { "role": { "label": "Litigation Case [Axis]" } } }, "auth_ref": [] }, "srt_LitigationCaseTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "LitigationCaseTypeDomain", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" ], "lang": { "en-us": { "role": { "label": "Litigation Case [Domain]" } } }, "auth_ref": [] }, "us-gaap_LitigationStatusAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LitigationStatusAxis", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" ], "lang": { "en-us": { "role": { "label": "Litigation Status [Axis]", "documentation": "Information by status of pending, threatened, or settled litigation." } } }, "auth_ref": [ "r700" ] }, "us-gaap_LitigationStatusDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LitigationStatusDomain", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" ], "lang": { "en-us": { "role": { "label": "Litigation Status [Domain]", "documentation": "Status of pending, threatened, or settled litigation." } } }, "auth_ref": [ "r700" ] }, "us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureAccountsReceivable" ], "lang": { "en-us": { "role": { "label": "Loans, Notes, Trade and Other Receivables Disclosure [Text Block]", "terseLabel": "Accounts Receivable", "documentation": "The entire disclosure for claims held for amounts due a entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses." } } }, "auth_ref": [ "r693" ] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LocalPhoneNumber", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "us-gaap_LongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebt", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/DisclosureLongTermDebtLongTermDebtDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.cpicardgroup.com/role/DisclosureLongTermDebtAndCreditFacilityLongTermDebtDetailsCalc2": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureLongTermDebtLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt", "totalLabel": "Total long-term debt", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation." } } }, "auth_ref": [ "r8", "r111", "r284", "r299", "r559", "r560", "r750" ] }, "us-gaap_LongTermDebtNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtNoncurrent", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/DisclosureLongTermDebtAndCreditFacilityLongTermDebtDetailsCalc2": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureLongTermDebtLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Excluding Current Maturities", "terseLabel": "Long-term debt, net of current maturities", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation." } } }, "auth_ref": [ "r135" ] }, "us-gaap_LongtermDebtTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongtermDebtTypeAxis", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstrumentsDetails", "http://www.cpicardgroup.com/role/DisclosureLongTermDebtFirstLienCreditFacilityDetails", "http://www.cpicardgroup.com/role/DisclosureLongTermDebtLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Type [Axis]", "documentation": "Information by type of long-term debt." } } }, "auth_ref": [ "r17" ] }, "us-gaap_LongtermDebtTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongtermDebtTypeDomain", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstrumentsDetails", "http://www.cpicardgroup.com/role/DisclosureLongTermDebtFirstLienCreditFacilityDetails", "http://www.cpicardgroup.com/role/DisclosureLongTermDebtLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Type [Domain]", "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. 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." } } }, "auth_ref": [ "r17", "r47" ] }, "us-gaap_LossContingenciesLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LossContingenciesLineItems", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" ], "lang": { "en-us": { "role": { "label": "Loss Contingencies [Line Items]", "terseLabel": "Commitments and Contingencies", "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." } } }, "auth_ref": [ "r252", "r253", "r254", "r257", "r701", "r702" ] }, "us-gaap_LossContingenciesTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LossContingenciesTable", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" ], "lang": { "en-us": { "role": { "label": "Loss Contingencies [Table]", "documentation": "Discloses the specific components (such as the nature, name, and date) of the loss contingency and gives an estimate of the possible loss or range of loss, or states that a reasonable estimate cannot be made. Excludes environmental contingencies, warranties and unconditional purchase obligations." } } }, "auth_ref": [ "r252", "r253", "r254", "r257", "r701", "r702" ] }, "pmts_LossContingencyNumberOfPatentInvolvedInLawsuit": { "xbrltype": "decimalItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "LossContingencyNumberOfPatentInvolvedInLawsuit", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" ], "lang": { "en-us": { "role": { "documentation": "The number of patents involved in lawsuit.", "label": "Loss Contingency Number Of Patent Involved In Lawsuit", "terseLabel": "The number of patents involved in lawsuit" } } }, "auth_ref": [] }, "pmts_LossContingencyNumberOfPatentInvolvedInLawsuitThatHaveBeenInvalidated": { "xbrltype": "decimalItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "LossContingencyNumberOfPatentInvolvedInLawsuitThatHaveBeenInvalidated", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" ], "lang": { "en-us": { "role": { "documentation": "The number of patents involved in lawsuit that have been invalidated.", "label": "Loss Contingency Number Of Patent Involved In Lawsuit That Have Been Invalidated", "terseLabel": "The number of patents involved in lawsuit that have been invalidated" } } }, "auth_ref": [] }, "us-gaap_MachineryAndEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MachineryAndEquipmentMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Machinery and equipment", "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment." } } }, "auth_ref": [] }, "pmts_MachineryAndEquipmentUnderFinancialLeasesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "MachineryAndEquipmentUnderFinancialLeasesMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to machinery and equipment under financing leases.", "label": "Machinery and equipment under financing leases" } } }, "auth_ref": [] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MaximumMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureLongTermDebtFirstLienCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Maximum" } } }, "auth_ref": [ "r253", "r254", "r255", "r256", "r338", "r432", "r468", "r484", "r485", "r536", "r537", "r538", "r539", "r540", "r544", "r545", "r556", "r563", "r574", "r583", "r707", "r744", "r745", "r746", "r747", "r748", "r749" ] }, "pmts_MaximumUncommittedAccordionFeatureAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "MaximumUncommittedAccordionFeatureAmount", "crdr": "credit", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureLongTermDebtFirstLienCreditFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the maximum uncommitted accordion feature amount.", "label": "Maximum Uncommitted Accordion Feature Amount", "terseLabel": "Maximum uncommitted accordion feature amount" } } }, "auth_ref": [] }, "ecd_MeasureAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure [Axis]", "terseLabel": "Measure:" } } }, "auth_ref": [ "r637" ] }, "ecd_MeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure Name", "terseLabel": "Name" } } }, "auth_ref": [ "r637" ] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MinimumMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureLongTermDebtFirstLienCreditFacilityDetails", "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails" ], "lang": { "en-us": { "role": { "label": "Minimum" } } }, "auth_ref": [ "r253", "r254", "r255", "r256", "r338", "r432", "r468", "r484", "r485", "r536", "r537", "r538", "r539", "r540", "r544", "r545", "r556", "r563", "r574", "r583", "r707", "r744", "r745", "r746", "r747", "r748", "r749" ] }, "ecd_MnpiDiscTimedForCompValFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MnpiDiscTimedForCompValFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "MNPI Disclosure Timed for Compensation Value [Flag]", "terseLabel": "MNPI Disclosure Timed for Compensation Value" } } }, "auth_ref": [ "r656" ] }, "ecd_MtrlTermsOfTrdArrTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MtrlTermsOfTrdArrTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Material Terms of Trading Arrangement [Text Block]", "terseLabel": "Material Terms of Trading Arrangement" } } }, "auth_ref": [ "r664" ] }, "ecd_NamedExecutiveOfficersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NamedExecutiveOfficersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Named Executive Officers, Footnote [Text Block]", "terseLabel": "Named Executive Officers, Footnote" } } }, "auth_ref": [ "r638" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Cash used in financing activities", "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." } } }, "auth_ref": [ "r154" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "terseLabel": "Financing activities" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Cash used in investing activities", "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." } } }, "auth_ref": [ "r154" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]", "terseLabel": "Investing activities" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Cash provided by operating activities", "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." } } }, "auth_ref": [ "r92", "r93", "r94" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Operating activities" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeCalc2": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 1.0 }, "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.cpicardgroup.com/role/DisclosureSegmentReportingReconciliationOfEbitdaToNetIncomeDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureEarningsPerShareDetails", "http://www.cpicardgroup.com/role/DisclosureSegmentReportingReconciliationOfEbitdaToNetIncomeDetails", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfStockholdersDeficit", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "netLabel": "Net income", "totalLabel": "Net income", "verboseLabel": "Net income", "label": "Net Income (Loss)", "terseLabel": "Net Income (Loss)", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r86", "r94", "r114", "r127", "r143", "r145", "r149", "r160", "r168", "r170", "r171", "r172", "r173", "r176", "r177", "r185", "r199", "r213", "r219", "r222", "r231", "r258", "r259", "r261", "r262", "r263", "r265", "r267", "r269", "r270", "r409", "r414", "r447", "r514", "r529", "r530", "r555", "r592", "r705" ] }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAvailableToCommonStockholdersBasicAbstract", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Available to Common Stockholders, Basic [Abstract]", "terseLabel": "Numerator:" } } }, "auth_ref": [] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureBusinessOverviewAndSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "Recent Accounting Pronouncements", "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." } } }, "auth_ref": [] }, "ecd_NonGaapMeasureDescriptionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonGaapMeasureDescriptionTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-GAAP Measure Description [Text Block]", "terseLabel": "Non-GAAP Measure Description" } } }, "auth_ref": [ "r637" ] }, "ecd_NonNeosMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonNeosMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-NEOs [Member]", "terseLabel": "Non-NEOs" } } }, "auth_ref": [ "r607", "r618", "r628", "r645", "r653" ] }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Compensation Actually Paid Amount", "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r635" ] }, "ecd_NonPeoNeoAvgTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Total Compensation Amount", "terseLabel": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r634" ] }, "ecd_NonPeoNeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO [Member]", "terseLabel": "Non-PEO NEO" } } }, "auth_ref": [ "r645" ] }, "ecd_NonRule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r664" ] }, "ecd_NonRule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r664" ] }, "us-gaap_NonoperatingIncomeExpenseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NonoperatingIncomeExpenseAbstract", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Nonoperating Income (Expense) [Abstract]", "verboseLabel": "Other expense, net:" } } }, "auth_ref": [] }, "pmts_NonoperatingInterestIncomeExpenseNet": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "NonoperatingInterestIncomeExpenseNet", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "pmts_TotalNonoperatingIncomeExpenseAndInterestAndDebtExpense", "weight": 1.0, "order": 1.0 }, "http://www.cpicardgroup.com/role/DisclosureSegmentReportingReconciliationOfEbitdaToNetIncomeDetails": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureSegmentReportingReconciliationOfEbitdaToNetIncomeDetails", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "documentation": "The net amount of non-operating interest income (expense).", "label": "Nonoperating Interest Income Expense Net", "negatedTerseLabel": "Interest, net", "terseLabel": "Interest, net" } } }, "auth_ref": [] }, "us-gaap_OperatingExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpenses", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureSegmentReportingRevenueAndEbitdaFromContinuingOperationsDetails", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Operating Expenses", "terseLabel": "Operating expenses", "totalLabel": "Total operating expenses", "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." } } }, "auth_ref": [] }, "us-gaap_OperatingExpensesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpensesAbstract", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Operating Expenses [Abstract]", "terseLabel": "Operating expenses:" } } }, "auth_ref": [] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureSegmentReportingRevenueAndEbitdaFromContinuingOperationsDetails", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Operating Income (Loss)", "totalLabel": "Income from operations", "verboseLabel": "Income (loss) from operations", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r199", "r213", "r219", "r222", "r555" ] }, "pmts_OperatingRightOfUseAssetsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "OperatingRightOfUseAssetsMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents operating right of use assets.", "label": "Operating lease right-of-use assets" } } }, "auth_ref": [] }, "us-gaap_OperatingSegmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingSegmentsMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureNetSalesDetails", "http://www.cpicardgroup.com/role/DisclosureSegmentReportingRevenueAndEbitdaFromContinuingOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Operating Segments", "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity." } } }, "auth_ref": [ "r212", "r213", "r214", "r215", "r216", "r222" ] }, "us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureBusinessOverviewAndSummaryOfSignificantAccountingPolicies" ], "lang": { "en-us": { "role": { "label": "Organization, Consolidation, Basis of Presentation, Business Description and Accounting Policies [Text Block]", "terseLabel": "Business Overview and Summary of Significant Accounting Policies", "documentation": "The entire disclosure for the general note to the financial statements for the reporting entity which may include, descriptions of the basis of presentation, business description, significant accounting policies, consolidations, reclassifications, new pronouncements not yet adopted and changes in accounting principles." } } }, "auth_ref": [ "r95", "r96", "r97", "r108" ] }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/DisclosureAccruedExpensesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureAccruedExpensesDetails" ], "lang": { "en-us": { "role": { "label": "Other Accrued Liabilities, Current", "terseLabel": "Other", "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r14" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Assets, Noncurrent", "terseLabel": "Other assets", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r133" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]", "terseLabel": "Comprehensive income:" } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfStockholdersDeficit" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]", "terseLabel": "Components of comprehensive income:" } } }, "auth_ref": [] }, "pmts_OtherInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "OtherInvestingActivities", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Represents other investing cash flow activities.", "label": "Other Investing Activities", "terseLabel": "Other" } } }, "auth_ref": [] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Liabilities, Noncurrent", "terseLabel": "Other long-term liabilities", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r18" ] }, "us-gaap_OtherNonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "pmts_TotalNonoperatingIncomeExpenseAndInterestAndDebtExpense", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureSegmentReportingRevenueAndEbitdaFromContinuingOperationsDetails", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Other Nonoperating Income (Expense)", "terseLabel": "Other income (expenses)", "verboseLabel": "Other expense, net", "documentation": "Amount of income (expense) related to nonoperating activities, classified as other." } } }, "auth_ref": [ "r90" ] }, "us-gaap_OtherOperatingActivitiesCashFlowStatement": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherOperatingActivitiesCashFlowStatement", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Other Operating Activities, Cash Flow Statement", "terseLabel": "Other, net", "documentation": "Other cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example, cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other liabilities)." } } }, "auth_ref": [] }, "ecd_OtherPerfMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OtherPerfMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Other Performance Measure, Amount", "terseLabel": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r637" ] }, "ecd_OutstandingAggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingAggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Aggregate Erroneous Compensation Amount", "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r605", "r616", "r626", "r651" ] }, "ecd_OutstandingRecoveryCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery Compensation Amount", "terseLabel": "Compensation Amount" } } }, "auth_ref": [ "r608", "r619", "r629", "r654" ] }, "ecd_OutstandingRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r608", "r619", "r629", "r654" ] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r633" ] }, "us-gaap_PayablesAndAccrualsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PayablesAndAccrualsAbstract", "lang": { "en-us": { "role": { "label": "Accrued Expenses." } } }, "auth_ref": [] }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsForRepurchaseOfCommonStock", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments for Repurchase of Common Stock", "negatedLabel": "Common stock repurchased", "documentation": "The cash outflow to reacquire common stock during the period." } } }, "auth_ref": [ "r24" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Property, Plant, and Equipment", "negatedTerseLabel": "Capital expenditures for plant, equipment and leasehold improvements, net", "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." } } }, "auth_ref": [ "r91" ] }, "ecd_PeerGroupIssuersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupIssuersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Issuers, Footnote [Text Block]", "terseLabel": "Peer Group Issuers, Footnote" } } }, "auth_ref": [ "r636" ] }, "ecd_PeerGroupTotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupTotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Total Shareholder Return Amount", "terseLabel": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r636" ] }, "us-gaap_PendingLitigationMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PendingLitigationMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" ], "lang": { "en-us": { "role": { "label": "Pending Litigation", "documentation": "Risk of loss associated with the outcome of pending litigation against the entity, for example, but not limited to, litigation in arbitration or within the trial process." } } }, "auth_ref": [ "r700" ] }, "ecd_PeoActuallyPaidCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoActuallyPaidCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Actually Paid Compensation Amount", "terseLabel": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r635" ] }, "ecd_PeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO [Member]", "terseLabel": "PEO" } } }, "auth_ref": [ "r645" ] }, "ecd_PeoName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Name", "terseLabel": "PEO Name" } } }, "auth_ref": [ "r638" ] }, "ecd_PeoTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Total Compensation Amount", "terseLabel": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r634" ] }, "us-gaap_PerformanceSharesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PerformanceSharesMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails" ], "lang": { "en-us": { "role": { "label": "Performance Stock Units", "documentation": "Share-based payment arrangement awarded for meeting performance target." } } }, "auth_ref": [] }, "us-gaap_PlanNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameAxis", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails", "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Plan Name [Axis]", "documentation": "Information by plan name for share-based payment arrangement." } } }, "auth_ref": [ "r710", "r711", "r712", "r713", "r714", "r715", "r716", "r717", "r718", "r719", "r720", "r721", "r722", "r723", "r724", "r725", "r726", "r727", "r728", "r729", "r730", "r731", "r732", "r733", "r734", "r735" ] }, "us-gaap_PlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameDomain", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails", "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Plan Name [Domain]", "documentation": "Plan name for share-based payment arrangement." } } }, "auth_ref": [ "r710", "r711", "r712", "r713", "r714", "r715", "r716", "r717", "r718", "r719", "r720", "r721", "r722", "r723", "r724", "r725", "r726", "r727", "r728", "r729", "r730", "r731", "r732", "r733", "r734", "r735" ] }, "us-gaap_PortionAtFairValueFairValueDisclosureMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PortionAtFairValueFairValueDisclosureMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Portion at Fair Value Measurement [Member]", "documentation": "Measured at fair value for financial reporting purposes." } } }, "auth_ref": [ "r412" ] }, "us-gaap_PreferredStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockValue", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Value, Issued", "verboseLabel": "Series A Preferred Stock; $0.001 par value-100,000 shares authorized; 0 shares issued and outstanding at March 31, 2024 and December 31, 2023", "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." } } }, "auth_ref": [ "r75", "r441", "r581" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Prepaid Expense and Other Assets, Current", "terseLabel": "Prepaid expenses and other current assets", "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." } } }, "auth_ref": [ "r679" ] }, "us-gaap_ProceedsFromIncomeTaxRefunds": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromIncomeTaxRefunds", "crdr": "debit", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Income Tax Refunds", "negatedLabel": "Cash paid (refunded) during the period for: Income taxes refunded", "documentation": "The amount of cash received during the period as refunds for the overpayment of taxes." } } }, "auth_ref": [ "r28", "r93" ] }, "us-gaap_ProceedsFromLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromLinesOfCredit", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Lines of Credit", "verboseLabel": "Proceeds from ABL Revolver", "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements." } } }, "auth_ref": [ "r23", "r686" ] }, "us-gaap_ProceedsFromPaymentsForOtherFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromPaymentsForOtherFinancingActivities", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from (Payments for) Other Financing Activities", "terseLabel": "Other", "documentation": "Amount of cash inflow (outflow) from financing activities classified as other." } } }, "auth_ref": [ "r672", "r682" ] }, "srt_ProductOrServiceAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductOrServiceAxis", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureNetSalesDetails", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Product and Service [Axis]" } } }, "auth_ref": [ "r224", "r433", "r462", "r463", "r464", "r465", "r466", "r467", "r546", "r564", "r582", "r673", "r703", "r704", "r709", "r751" ] }, "srt_ProductsAndServicesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductsAndServicesDomain", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureNetSalesDetails", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Product and Service [Domain]" } } }, "auth_ref": [ "r224", "r433", "r462", "r463", "r464", "r465", "r466", "r467", "r546", "r564", "r582", "r673", "r703", "r704", "r709", "r751" ] }, "pmts_ProductsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "ProductsMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureNetSalesDetails", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "documentation": "Represents revenue from products.", "label": "Products" } } }, "auth_ref": [] }, "us-gaap_ProfitLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProfitLoss", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "terseLabel": "Net income", "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest." } } }, "auth_ref": [ "r127", "r143", "r145", "r153", "r160", "r168", "r176", "r177", "r199", "r213", "r219", "r222", "r231", "r258", "r259", "r261", "r262", "r263", "r265", "r267", "r269", "r270", "r393", "r396", "r397", "r409", "r414", "r437", "r446", "r481", "r514", "r529", "r530", "r555", "r578", "r579", "r593", "r680", "r705" ] }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAbstract", "lang": { "en-us": { "role": { "label": "Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets" } } }, "auth_ref": [] }, "pmts_PropertyPlantAndEquipmentAndOperatingLeaseRightOfUseAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "PropertyPlantAndEquipmentAndOperatingLeaseRightOfUseAssetsGross", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssetsDetails": { "parentTag": "pmts_PropertyPlantAndEquipmentAndOperatingLeaseRightOfUseAssetsNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of property, plant and equipment and operating lease right of use assets gross.", "label": "Property, Plant, and Equipment and Operating Lease Right of Use Assets, Gross", "terseLabel": "Plant, equipment and leasehold improvements, gross" } } }, "auth_ref": [] }, "pmts_PropertyPlantAndEquipmentAndOperatingLeaseRightOfUseAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "PropertyPlantAndEquipmentAndOperatingLeaseRightOfUseAssetsNet", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 }, "http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssetsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssetsDetails", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "documentation": "Amount of property, plant and equipment and operating lease right of use assets net.", "label": "Property, Plant, and Equipment and Operating Lease Right of Use Assets, Net", "totalLabel": "Total property, equipment and leasehold improvements, net", "verboseLabel": "Plant, equipment, leasehold improvements and operating lease right-of-use assets, net of accumulated depreciation of $70,039 and $66,436 respectively" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentByTypeAxis", "presentation": [ "http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Type [Axis]", "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r4" ] }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "presentation": [ "http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssets" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment Disclosure [Text Block]", "verboseLabel": "Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets", "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections." } } }, "auth_ref": [ "r99", "r118", "r121", "r122" ] }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentLineItems", "presentation": [ "http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Line Items]", "terseLabel": "Plant, Equipment and Leasehold Improvements", "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." } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTextBlock", "presentation": [ "http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssetsTables" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Table Text Block]", "terseLabel": "Schedule of plant, equipment, leasehold improvements and operating lease right-to-use assets", "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r4" ] }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTypeDomain", "presentation": [ "http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Type [Domain]", "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software." } } }, "auth_ref": [ "r100" ] }, "ecd_PvpTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Table]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r633" ] }, "ecd_PvpTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance [Table Text Block]", "terseLabel": "Pay vs Performance Disclosure, Table" } } }, "auth_ref": [ "r633" ] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeAxis", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureLongTermDebtFirstLienCreditFacilityDetails", "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails" ], "lang": { "en-us": { "role": { "label": "Range [Axis]" } } }, "auth_ref": [ "r253", "r254", "r255", "r256", "r331", "r338", "r367", "r368", "r369", "r431", "r432", "r468", "r484", "r485", "r536", "r537", "r538", "r539", "r540", "r544", "r545", "r556", "r563", "r574", "r583", "r586", "r698", "r707", "r745", "r746", "r747", "r748", "r749" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureLongTermDebtFirstLienCreditFacilityDetails", "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails" ], "lang": { "en-us": { "role": { "label": "Range [Domain]" } } }, "auth_ref": [ "r253", "r254", "r255", "r256", "r331", "r338", "r367", "r368", "r369", "r431", "r432", "r468", "r484", "r485", "r536", "r537", "r538", "r539", "r540", "r544", "r545", "r556", "r563", "r574", "r583", "r586", "r698", "r707", "r745", "r746", "r747", "r748", "r749" ] }, "us-gaap_ReceivablesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReceivablesAbstract", "lang": { "en-us": { "role": { "label": "Accounts Receivable" } } }, "auth_ref": [] }, "us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedAbstract", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureSegmentReportingReconciliationOfEbitdaToNetIncomeDetails", "http://www.cpicardgroup.com/role/DisclosureSegmentReportingRevenueAndEbitdaFromContinuingOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Abstract]", "terseLabel": "EBITDA by segment:" } } }, "auth_ref": [] }, "us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureSegmentReportingTables" ], "lang": { "en-us": { "role": { "label": "Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table Text Block]", "terseLabel": "Schedule of reconciliation of total segment EBITDA to income before taxes", "documentation": "Tabular disclosure of the reconciliation of profit (loss) from reportable segments to the consolidated income (loss) before income tax expense (benefit) and discontinued operations. Includes, but is not limited to, reconciliation after income tax if income tax is allocated to the reportable segment." } } }, "auth_ref": [ "r38", "r39" ] }, "pmts_ReconciliationOfRevenueAndEbitdaFromSegmentsToConsolidatedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "ReconciliationOfRevenueAndEbitdaFromSegmentsToConsolidatedTableTextBlock", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureSegmentReportingTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of all significant reconciling items in the reconciliation of total revenues from reportable segments to the entity's consolidated revenues; plus the reconciliation of EBITDA from reportable segments to the entity's consolidated EBITDA.", "label": "Reconciliation Of Revenue And Ebitda From Segments To Consolidated [Table Text Block]", "terseLabel": "Schedule of revenue and EBITDA of the company's reportable segments" } } }, "auth_ref": [] }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RecoveryOfErrCompDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]", "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure" } } }, "auth_ref": [ "r600", "r611", "r621", "r646" ] }, "us-gaap_RepaymentsOfSeniorDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RepaymentsOfSeniorDebt", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Repayments of Senior Debt", "negatedLabel": "Principal payments on Senior Notes", "documentation": "The cash outflow for a long-term debt where the holder has highest claim on the entity's asset in case of bankruptcy or liquidation during the period." } } }, "auth_ref": [ "r25" ] }, "srt_RepurchaseAgreementCounterpartyNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RepurchaseAgreementCounterpartyNameDomain", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockholdersDeficitDetails" ], "lang": { "en-us": { "role": { "label": "Counterparty Name [Domain]" } } }, "auth_ref": [ "r162", "r163", "r275", "r303", "r427", "r551", "r552" ] }, "ecd_RestatementDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDateAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date [Axis]", "terseLabel": "Restatement Determination Date:" } } }, "auth_ref": [ "r601", "r612", "r622", "r647" ] }, "ecd_RestatementDeterminationDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDeterminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date", "terseLabel": "Restatement Determination Date" } } }, "auth_ref": [ "r602", "r613", "r623", "r648" ] }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDoesNotRequireRecoveryTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Does Not Require Recovery [Text Block]", "terseLabel": "Restatement does not require Recovery" } } }, "auth_ref": [ "r609", "r620", "r630", "r655" ] }, "us-gaap_RestrictedStockUnitsRSUMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedStockUnitsRSUMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails", "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Restricted stock units", "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." } } }, "auth_ref": [] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Accumulated earnings", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r78", "r106", "r443", "r472", "r473", "r479", "r495", "r581" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfStockholdersDeficit" ], "lang": { "en-us": { "role": { "label": "Accumulated earnings", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r125", "r165", "r166", "r167", "r169", "r175", "r177", "r232", "r233", "r374", "r375", "r376", "r385", "r386", "r400", "r402", "r403", "r405", "r407", "r469", "r471", "r482", "r753" ] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerAbstract", "lang": { "en-us": { "role": { "label": "Net Sales." } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_GrossProfit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureNetSalesDetails", "http://www.cpicardgroup.com/role/DisclosureSegmentReportingRevenueAndEbitdaFromContinuingOperationsDetails", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Net sales", "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." } } }, "auth_ref": [ "r200", "r201", "r212", "r217", "r218", "r224", "r226", "r227", "r327", "r328", "r433" ] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureNetSales" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "Net Sales", "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts." } } }, "auth_ref": [ "r124", "r319", "r320", "r321", "r322", "r323", "r324", "r325", "r326", "r330" ] }, "us-gaap_RevenuesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenuesAbstract", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Revenues [Abstract]", "terseLabel": "Net sales:" } } }, "auth_ref": [] }, "us-gaap_RevolvingCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevolvingCreditFacilityMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureLongTermDebtFirstLienCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "ABL Revolver", "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount." } } }, "auth_ref": [] }, "us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability", "crdr": "debit", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Right-of-Use Asset Obtained in Exchange for Finance Lease Liability", "terseLabel": "Right-of-use assets obtained in exchange for lease obligations- Financing leases", "documentation": "Amount of increase in right-of-use asset obtained in exchange for finance lease liability." } } }, "auth_ref": [ "r425", "r580" ] }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "crdr": "debit", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "terseLabel": "Right-of-use assets obtained in exchange for lease obligations- Operating leases", "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability." } } }, "auth_ref": [ "r425", "r580" ] }, "ecd_Rule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r664" ] }, "ecd_Rule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r664" ] }, "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureAccountsReceivableTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]", "terseLabel": "Schedule of accounts receivable", "documentation": "Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables." } } }, "auth_ref": [ "r21" ] }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureAccruedExpensesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Accrued Liabilities", "verboseLabel": "Schedule of accrued expenses", "documentation": "Tabular disclosure of the components of accrued liabilities." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfDebtInstrumentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDebtInstrumentsTextBlock", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureLongTermDebtTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Long-term Debt Instruments [Table Text Block]", "terseLabel": "Schedule of long-term debt", "documentation": "Tabular disclosure of long-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 entity, if longer." } } }, "auth_ref": [ "r17", "r54", "r57", "r66", "r67", "r69", "r71", "r104", "r105", "r559", "r561", "r688" ] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureEarningsPerShareTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Computation of basic and diluted earnings per share", "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations." } } }, "auth_ref": [ "r692" ] }, "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureIncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]", "terseLabel": "Schedule of effective income tax rate reconciliation", "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations." } } }, "auth_ref": [ "r107" ] }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfInventoryCurrentTableTextBlock", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureInventoriesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Inventory, Current [Table Text Block]", "terseLabel": "Schedule of inventories", "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." } } }, "auth_ref": [ "r9", "r82", "r83", "r84" ] }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "presentation": [ "http://www.cpicardgroup.com/role/DisclosurePlantEquipmentLeaseholdImprovementsAndOperatingLeaseRightOfUseAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Table]", "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r4" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureSegmentReportingRevenueAndEbitdaFromContinuingOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Segment Reporting Information, by Segment [Table]", "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss." } } }, "auth_ref": [ "r35", "r36", "r37", "r41" ] }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails", "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]", "documentation": "Disclosure of information about share-based payment arrangement." } } }, "auth_ref": [ "r340", "r342", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370" ] }, "us-gaap_ScheduleOfStockByClassTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfStockByClassTable", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockholdersDeficitDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Stock by Class [Table]", "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." } } }, "auth_ref": [ "r51", "r52", "r53", "r54", "r55", "r56", "r57", "r104", "r105", "r106", "r136", "r137", "r138", "r194", "r301", "r302", "r303", "r305", "r308", "r313", "r315", "r475", "r476", "r477", "r478", "r563", "r671", "r685" ] }, "us-gaap_SecuredLongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SecuredLongTermDebt", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Secured Long-term Debt, Noncurrent", "verboseLabel": "Long-term debt", "documentation": "Carrying amount of collateralized debt obligations with maturities initially due after one year or beyond the operating cycle, if longer, excluding the current portion. Obligations include, but not limited to, mortgage loans, chattel loans, and other borrowings secured by assets." } } }, "auth_ref": [ "r17" ] }, "pmts_SecuredOvernightFinancingRateMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "SecuredOvernightFinancingRateMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureLongTermDebtFirstLienCreditFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the Secured Overnight Financing Rate.", "label": "SOFR" } } }, "auth_ref": [] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "Security12bTitle", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r595" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "SecurityExchangeName", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r597" ] }, "us-gaap_SegmentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentDomain", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureNetSalesDetails", "http://www.cpicardgroup.com/role/DisclosureSegmentReportingRevenueAndEbitdaFromContinuingOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Segments [Domain]", "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity." } } }, "auth_ref": [ "r196", "r199", "r200", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r209", "r210", "r212", "r213", "r214", "r215", "r216", "r217", "r218", "r219", "r220", "r222", "r227", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r248", "r249", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r557", "r673", "r751" ] }, "us-gaap_SegmentReportingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingAbstract", "lang": { "en-us": { "role": { "label": "Segment Reporting" } } }, "auth_ref": [] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingDisclosureTextBlock", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureSegmentReporting" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Disclosure [Text Block]", "terseLabel": "Segment Reporting", "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments." } } }, "auth_ref": [ "r195", "r196", "r197", "r198", "r199", "r211", "r216", "r220", "r221", "r222", "r223", "r224", "r225", "r227" ] }, "us-gaap_SegmentReportingInformationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingInformationLineItems", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureSegmentReportingRevenueAndEbitdaFromContinuingOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Information [Line Items]", "terseLabel": "Segment Reporting", "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." } } }, "auth_ref": [] }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingGeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Selling, General and Administrative Expense", "terseLabel": "Selling, general and administrative (exclusive of depreciation and amortization shown below)", "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." } } }, "auth_ref": [ "r89" ] }, "us-gaap_SeniorNotesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SeniorNotesMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureFairValueOfFinancialInstrumentsDetails", "http://www.cpicardgroup.com/role/DisclosureLongTermDebtFirstLienCreditFacilityDetails", "http://www.cpicardgroup.com/role/DisclosureLongTermDebtLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Senior Notes", "documentation": "Bond that takes priority over other debt securities sold by the issuer. In the event the issuer goes bankrupt, senior debt holders receive priority for (must receive) repayment prior to (relative to) junior and unsecured (general) creditors." } } }, "auth_ref": [] }, "pmts_SeniorRevolvingCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "SeniorRevolvingCreditFacilityMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureLongTermDebtFirstLienCreditFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "Senior arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.", "label": "Senior Credit Facility" } } }, "auth_ref": [] }, "pmts_ServicesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "ServicesMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureNetSalesDetails", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "documentation": "Represents revenue from services.", "label": "Services" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation", "terseLabel": "Stock-based compensation expense", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r2" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period", "verboseLabel": "Vesting period", "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition." } } }, "auth_ref": [ "r575" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails", "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period", "terseLabel": "Granted (in units)", "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [ "r359" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Granted (in dollars per unit)", "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [ "r359" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "verboseLabel": "Outstanding (in units)", "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date." } } }, "auth_ref": [ "r356", "r357" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "terseLabel": "Outstanding (in dollars per unit)", "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r356", "r357" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails", "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]", "terseLabel": "Stock based compensation", "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." } } }, "auth_ref": [ "r340", "r342", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Additional Shares Authorized", "terseLabel": "Number of additional shares authorized", "documentation": "Number of additional shares authorized for issuance under share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized", "terseLabel": "Number of shares authorized", "documentation": "Number of shares authorized for issuance under share-based payment arrangement." } } }, "auth_ref": [ "r577" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant", "terseLabel": "Number of shares available for grant", "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable." } } }, "auth_ref": [ "r59" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross", "verboseLabel": "Stock options granted (in shares)", "documentation": "Gross number of share options (or share units) granted during the period." } } }, "auth_ref": [ "r352" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number", "verboseLabel": "Outstanding (in shares)", "documentation": "Number of options outstanding, including both vested and non-vested options." } } }, "auth_ref": [ "r348", "r349" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "terseLabel": "Exercise price (in dollars per share)", "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan." } } }, "auth_ref": [ "r348", "r349" ] }, "pmts_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsNumberOfConsecutiveTradingDaysWithMinimumSharesPriceValue": { "xbrltype": "durationItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsNumberOfConsecutiveTradingDaysWithMinimumSharesPriceValue", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails" ], "lang": { "en-us": { "role": { "documentation": "Share-based Compensation Arrangement by Share-based Payment Award Other Than Options Number Of Consecutive Trading Days With Minimum Shares Price Value.", "label": "Share-based Compensation Arrangement by Share-based Payment Award Other Than Options Number Of Consecutive Trading Days With Minimum Shares Price Value", "terseLabel": "Number of consecutive trading days with minimum share price" } } }, "auth_ref": [] }, "pmts_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfAwardGranted": { "xbrltype": "percentItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfAwardGranted", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the percentage of award granted under share-based payment arrangement.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Percentage of Award Granted", "terseLabel": "Percentage of award granted" } } }, "auth_ref": [] }, "pmts_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfAwardInPlan": { "xbrltype": "percentItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfAwardInPlan", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the percentage of award in a plan under share-based payment arrangement.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Percentage of Award in Plan", "terseLabel": "Percentage of award in a plan" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails", "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "All Award Types", "terseLabel": "All Award Types", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370" ] }, "us-gaap_ShareBasedCompensationAwardTrancheOneMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationAwardTrancheOneMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails" ], "lang": { "en-us": { "role": { "label": "Awards vesting category one", "documentation": "First portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationAwardTrancheThreeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationAwardTrancheThreeMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails" ], "lang": { "en-us": { "role": { "label": "Awards vesting category three", "documentation": "Third portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationAwardTrancheTwoMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationAwardTrancheTwoMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails" ], "lang": { "en-us": { "role": { "label": "Awards vesting category two", "documentation": "Second portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period." } } }, "auth_ref": [] }, "us-gaap_SharePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharePrice", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails" ], "lang": { "en-us": { "role": { "label": "Share Price", "terseLabel": "Share price (in dollar per share)", "documentation": "Price of a single share of a number of saleable stocks of a company." } } }, "auth_ref": [] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage", "verboseLabel": "Vesting Percentage", "documentation": "Percentage of vesting of award under share-based payment arrangement." } } }, "auth_ref": [ "r710" ] }, "pmts_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted", "crdr": "credit", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails" ], "lang": { "en-us": { "role": { "documentation": "Intrinsic value of granted award under share-based payment arrangement. Excludes share and unit options.", "label": "Sharebased Compensation Arrangement By Sharebased Payment Award Equity Instruments Other Than Options Aggregate Intrinsic Value Granted", "terseLabel": "Equity units granted" } } }, "auth_ref": [] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period", "terseLabel": "Stock option life (in years)", "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r576" ] }, "pmts_SmartPackagingSolutionsSVCpiCardGroupIncMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "SmartPackagingSolutionsSVCpiCardGroupIncMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the details of the Smart Packaging Solutions SA v. CPI Card Group, Inc. case.", "label": "Smart Packaging Solutions SA v. CPI Card Group, Inc." } } }, "auth_ref": [] }, "us-gaap_StatementBusinessSegmentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementBusinessSegmentsAxis", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureNetSalesDetails", "http://www.cpicardgroup.com/role/DisclosureSegmentReportingRevenueAndEbitdaFromContinuingOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Segments [Axis]", "documentation": "Information by business segments." } } }, "auth_ref": [ "r126", "r196", "r199", "r200", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r209", "r210", "r212", "r213", "r214", "r215", "r216", "r217", "r218", "r219", "r220", "r222", "r227", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r247", "r248", "r249", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r557", "r673", "r751" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockholdersDeficitDetails", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfStockholdersDeficit" ], "lang": { "en-us": { "role": { "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r5", "r20", "r125", "r147", "r148", "r149", "r165", "r166", "r167", "r169", "r175", "r177", "r193", "r232", "r233", "r316", "r374", "r375", "r376", "r385", "r386", "r400", "r401", "r402", "r403", "r404", "r405", "r407", "r415", "r416", "r417", "r418", "r419", "r420", "r426", "r469", "r470", "r471", "r482", "r531" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfStockholdersDeficit" ], "lang": { "en-us": { "role": { "label": "Statement [Line Items]", "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." } } }, "auth_ref": [ "r165", "r166", "r167", "r193", "r433", "r474", "r483", "r486", "r487", "r488", "r489", "r490", "r491", "r494", "r497", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r505", "r507", "r508", "r509", "r510", "r511", "r513", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r524", "r525", "r526", "r527", "r528", "r531", "r587" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "label": "Condensed Consolidated Statements of Cash Flows" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "label": "Condensed Consolidated Balance Sheets" } } }, "auth_ref": [] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "label": "Condensed Consolidated Statements of Stockholders' Deficit" } } }, "auth_ref": [] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementTable", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfStockholdersDeficit" ], "lang": { "en-us": { "role": { "label": "Statement [Table]", "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." } } }, "auth_ref": [ "r165", "r166", "r167", "r193", "r433", "r474", "r483", "r486", "r487", "r488", "r489", "r490", "r491", "r494", "r497", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r505", "r507", "r508", "r509", "r510", "r511", "r513", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r524", "r525", "r526", "r527", "r528", "r531", "r587" ] }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "StkPrcOrTsrEstimationMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Price or TSR Estimation Method [Text Block]", "terseLabel": "Stock Price or TSR Estimation Method" } } }, "auth_ref": [ "r604", "r615", "r625", "r650" ] }, "us-gaap_StockAppreciationRightsSARSMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockAppreciationRightsSARSMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Appreciation Rights (SARs) [Member]", "terseLabel": "Stock Appreciation Rights (SARs)", "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period." } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfStockholdersDeficit" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, Share-based Compensation, Net of Forfeitures", "terseLabel": "Shares issued under stock-based compensation plans (in shares)", "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP)." } } }, "auth_ref": [ "r5", "r75", "r76", "r106" ] }, "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueShareBasedCompensation", "crdr": "credit", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfStockholdersDeficit" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Share-based Compensation, Net of Forfeitures", "terseLabel": "Shares issued under stock-based compensation plans", "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)." } } }, "auth_ref": [ "r60", "r75", "r76", "r106" ] }, "pmts_StockOptionsEmployeesDirectorsConsultantsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "StockOptionsEmployeesDirectorsConsultantsMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails" ], "lang": { "en-us": { "role": { "documentation": "Stock options granted to employees, directors, and consultants.", "label": "Stock Options" } } }, "auth_ref": [] }, "us-gaap_StockRepurchaseProgramAuthorizedAmount1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchaseProgramAuthorizedAmount1", "crdr": "credit", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockholdersDeficitDetails" ], "lang": { "en-us": { "role": { "label": "Stock Repurchase Program, Authorized Amount", "terseLabel": "Maximum value of shares authorized for repurchase under repurchase plan", "documentation": "Amount of stock repurchase plan authorized." } } }, "auth_ref": [] }, "us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1", "crdr": "credit", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockholdersDeficitDetails" ], "lang": { "en-us": { "role": { "label": "Stock Repurchase Program, Remaining Authorized Repurchase Amount", "terseLabel": "Value of remaining shares available under repurchase authorization", "documentation": "Amount remaining of a stock repurchase plan authorized." } } }, "auth_ref": [] }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedAndRetiredDuringPeriodShares", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockholdersDeficitDetails", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfStockholdersDeficit" ], "lang": { "en-us": { "role": { "label": "Stock Repurchased and Retired During Period, Shares", "negatedTerseLabel": "Repurchase and retirement of common shares (in shares)", "terseLabel": "Shares repurchased and retired (in shares)", "documentation": "Number of shares that have been repurchased and retired during the period." } } }, "auth_ref": [ "r5", "r75", "r76", "r106" ] }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedAndRetiredDuringPeriodValue", "crdr": "debit", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfStockholdersDeficit" ], "lang": { "en-us": { "role": { "label": "Stock Repurchased and Retired During Period, Value", "negatedTerseLabel": "Repurchase and retirement of common shares", "documentation": "Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital)." } } }, "auth_ref": [ "r5", "r75", "r76", "r106" ] }, "us-gaap_StockRepurchasedDuringPeriodValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedDuringPeriodValue", "crdr": "debit", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockholdersDeficitDetails" ], "lang": { "en-us": { "role": { "label": "Stock Repurchased During Period, Value", "terseLabel": "Value of shares repurchased and retired", "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock." } } }, "auth_ref": [ "r5", "r75", "r76", "r106", "r482", "r531", "r541", "r593" ] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfStockholdersDeficit" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent", "periodEndLabel": "Ending balance", "periodStartLabel": "Beginning balance", "totalLabel": "Total stockholders' deficit", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r76", "r79", "r80", "r98", "r496", "r512", "r532", "r533", "r581", "r594", "r687", "r695", "r739", "r753" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityAbstract", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent [Abstract]", "terseLabel": "Stockholders' deficit:" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityNoteDisclosureTextBlock", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockholdersDeficit" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Note Disclosure [Text Block]", "terseLabel": "Stockholders' Deficit", "documentation": "The entire disclosure for equity." } } }, "auth_ref": [ "r103", "r159", "r300", "r302", "r304", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r314", "r316", "r406", "r534", "r535", "r542" ] }, "us-gaap_SupplementalCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplementalCashFlowInformationAbstract", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "Supplemental disclosures of cash flow information" } } }, "auth_ref": [] }, "ecd_TabularListTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TabularListTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Tabular List [Table Text Block]", "terseLabel": "Tabular List, Table" } } }, "auth_ref": [ "r644" ] }, "us-gaap_TemporaryEquityParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TemporaryEquityParOrStatedValuePerShare", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Temporary Equity, Par or Stated Value Per Share", "terseLabel": "Preferred shares, par value (in dollars per share)", "documentation": "Per share amount of par value or stated value of stock classified as temporary equity. Temporary equity is a security with redemption features that are outside the control of the issuer, is not classified as an asset or liability in conformity with GAAP, and is not mandatorily redeemable." } } }, "auth_ref": [ "r7", "r50" ] }, "us-gaap_TemporaryEquitySharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TemporaryEquitySharesAuthorized", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Temporary Equity, Shares Authorized", "terseLabel": "Preferred shares, authorized shares (in shares)", "documentation": "The maximum number of securities classified as temporary equity that are permitted to be issued by an entity's charter and bylaws. Temporary equity is a security with redemption features that are outside the control of the issuer, is not classified as an asset or liability in conformity with GAAP, and is not mandatorily redeemable. Includes any type of security that is redeemable at a fixed or determinable price or on a fixed or determinable date or dates, is redeemable at the option of the holder, or has conditions for redemption which are not solely within the control of the issuer. If convertible, the issuer does not control the actions or events necessary to issue the maximum number of shares that could be required to be delivered under the conversion option if the holder exercises the option to convert the stock to another class of equity. If the security is a warrant or a rights issue, the warrant or rights issue is considered to be temporary equity if the issuer cannot demonstrate that it would be able to deliver upon the exercise of the option by the holder in all cases. Includes stock with put option held by ESOP and stock redeemable by holder only in the event of a change in control of the issuer." } } }, "auth_ref": [ "r74" ] }, "us-gaap_TemporaryEquitySharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TemporaryEquitySharesIssued", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Temporary Equity, Shares Issued", "terseLabel": "Preferred shares, issued shares (in shares)", "documentation": "The number of securities classified as temporary equity that have been sold (or granted) to the entity's shareholders. Securities issued include securities outstanding and securities held in treasury. Temporary equity is a security with redemption features that are outside the control of the issuer, is not classified as an asset or liability in conformity with GAAP, and is not mandatorily redeemable. Includes any type of security that is redeemable at a fixed or determinable price or on a fixed or determinable date or dates, is redeemable at the option of the holder, or has conditions for redemption which are not solely within the control of the issuer. If convertible, the issuer does not control the actions or events necessary to issue the maximum number of shares that could be required to be delivered under the conversion option if the holder exercises the option to convert the stock to another class of equity. If the security is a warrant or a rights issue, the warrant or rights issue is considered to be temporary equity if the issuer cannot demonstrate that it would be able to deliver upon the exercise of the option by the holder in all cases. Includes stock with put option held by ESOP and stock redeemable by holder only in the event of a change in control of the issuer." } } }, "auth_ref": [ "r74" ] }, "us-gaap_TemporaryEquitySharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TemporaryEquitySharesOutstanding", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Temporary Equity, Shares Outstanding", "terseLabel": "Preferred shares, outstanding shares (in shares)", "documentation": "The number of securities classified as temporary equity that have been issued and are held by the entity's shareholders. Securities outstanding equals securities issued minus securities held in treasury. Temporary equity is a security with redemption features that are outside the control of the issuer, is not classified as an asset or liability in conformity with GAAP, and is not mandatorily redeemable. Includes any type of security that is redeemable at a fixed or determinable price or on a fixed or determinable date or dates, is redeemable at the option of the holder, or has conditions for redemption which are not solely within the control of the issuer. If convertible, the issuer does not control the actions or events necessary to issue the maximum number of shares that could be required to be delivered under the conversion option if the holder exercises the option to convert the stock to another class of equity. If the security is a warrant or a rights issue, the warrant or rights issue is considered to be temporary equity if the issuer cannot demonstrate that it would be able to deliver upon the exercise of the option by the holder in all cases. Includes stock with put option held by ESOP and stock redeemable by holder only in the event of a change in control of the issuer." } } }, "auth_ref": [ "r74" ] }, "srt_TitleOfIndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "TitleOfIndividualAxis", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails" ], "lang": { "en-us": { "role": { "label": "Title of Individual [Axis]" } } }, "auth_ref": [ "r694", "r741" ] }, "srt_TitleOfIndividualWithRelationshipToEntityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "TitleOfIndividualWithRelationshipToEntityDomain", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails" ], "lang": { "en-us": { "role": { "label": "Title of Individual [Domain]" } } }, "auth_ref": [] }, "pmts_TotalNonoperatingIncomeExpenseAndInterestAndDebtExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "TotalNonoperatingIncomeExpenseAndInterestAndDebtExpense", "crdr": "credit", "calculation": { "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "documentation": "Represents, in the aggregate, total other income (expense), including but not limited to: income or (expense) from ancillary business-related activities and interest and debt related expenses associated with nonoperating financing activities of the entity.", "label": "Total Nonoperating Income Expense And Interest And Debt Expense", "totalLabel": "Total other expense, net" } } }, "auth_ref": [] }, "ecd_TotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Amount", "terseLabel": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r636" ] }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Vs Peer Group [Text Block]", "terseLabel": "Total Shareholder Return Vs Peer Group" } } }, "auth_ref": [ "r643" ] }, "pmts_TradeReceivablesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "TradeReceivablesCurrent", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/DisclosureAccountsReceivableDetails": { "parentTag": "us-gaap_AccountsReceivableGrossCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureAccountsReceivableDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the amount of trade receivables current.", "label": "Trade Receivables Current", "terseLabel": "Trade accounts receivable" } } }, "auth_ref": [] }, "ecd_TradingArrAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement [Axis]", "terseLabel": "Trading Arrangement:" } } }, "auth_ref": [ "r663" ] }, "ecd_TradingArrByIndTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrByIndTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangements, by Individual [Table]", "terseLabel": "Trading Arrangements, by Individual" } } }, "auth_ref": [ "r665" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "TradingSymbol", "presentation": [ "http://www.cpicardgroup.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "ecd_TrdArrAdoptionDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrAdoptionDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Adoption Date", "terseLabel": "Adoption Date" } } }, "auth_ref": [ "r666" ] }, "ecd_TrdArrDuration": { "xbrltype": "durationItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrDuration", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Duration", "terseLabel": "Arrangement Duration" } } }, "auth_ref": [ "r667" ] }, "ecd_TrdArrIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r665" ] }, "ecd_TrdArrIndTitle": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndTitle", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Title", "terseLabel": "Title" } } }, "auth_ref": [ "r665" ] }, "ecd_TrdArrSecuritiesAggAvailAmt": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrSecuritiesAggAvailAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Securities Aggregate Available Amount", "terseLabel": "Aggregate Available" } } }, "auth_ref": [ "r668" ] }, "ecd_TrdArrTerminationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrTerminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Termination Date", "terseLabel": "Termination Date" } } }, "auth_ref": [ "r666" ] }, "us-gaap_TreasuryStockAcquiredAverageCostPerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockAcquiredAverageCostPerShare", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockholdersDeficitDetails" ], "lang": { "en-us": { "role": { "label": "Treasury Stock Acquired, Average Cost Per Share", "terseLabel": "Average cost of shares repurchased (in dollars per share)", "documentation": "Total cost of shares repurchased divided by the total number of shares repurchased." } } }, "auth_ref": [ "r58" ] }, "us-gaap_TreasuryStockTransactionsExcludingValueOfSharesReissuedAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockTransactionsExcludingValueOfSharesReissuedAbstract", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockholdersDeficitDetails" ], "lang": { "en-us": { "role": { "label": "Treasury Stock Transactions, Excluding Value of Shares Reissued [Abstract]", "terseLabel": "Repurchase Program" } } }, "auth_ref": [] }, "pmts_TricorPacificCapitalPartnersFundIvMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "TricorPacificCapitalPartnersFundIvMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockholdersDeficitDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to Tricor Pacific Capital Partners (Fund IV) US, LP.", "label": "Tricor Pacific Capital Partners (Fund IV) US, LP" } } }, "auth_ref": [] }, "pmts_USDebitAndCreditMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "USDebitAndCreditMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureNetSalesDetails", "http://www.cpicardgroup.com/role/DisclosureSegmentReportingRevenueAndEbitdaFromContinuingOperationsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to U.S. Debit and Credit.", "label": "Debit and Credit" } } }, "auth_ref": [] }, "pmts_USPrepaidDebitMember": { "xbrltype": "domainItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "USPrepaidDebitMember", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureNetSalesDetails", "http://www.cpicardgroup.com/role/DisclosureSegmentReportingRevenueAndEbitdaFromContinuingOperationsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to U.S. Prepaid Debit.", "label": "Prepaid Debit" } } }, "auth_ref": [] }, "us-gaap_UnbilledReceivablesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnbilledReceivablesCurrent", "crdr": "debit", "calculation": { "http://www.cpicardgroup.com/role/DisclosureAccountsReceivableDetails": { "parentTag": "us-gaap_AccountsReceivableGrossCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureAccountsReceivableDetails" ], "lang": { "en-us": { "role": { "label": "Unbilled Receivables, Current", "terseLabel": "Unbilled accounts receivable", "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [] }, "ecd_UndrlygSecurityMktPriceChngPct": { "xbrltype": "pureItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "UndrlygSecurityMktPriceChngPct", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Underlying Security Market Price Change, Percent", "terseLabel": "Underlying Security Market Price Change" } } }, "auth_ref": [ "r662" ] }, "pmts_UnsettledShareRepurchasesIncludedInAccruedExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://www.cpicardgroup.com/20240331", "localname": "UnsettledShareRepurchasesIncludedInAccruedExpenses", "crdr": "credit", "presentation": [ "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Amount of unsettled share repurchases that are included in accrued expenses.", "label": "Unsettled Share Repurchases Included In Accrued Expenses", "terseLabel": "Unsettled share repurchases included in accrued expenses" } } }, "auth_ref": [] }, "us-gaap_UseOfEstimates": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UseOfEstimates", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureBusinessOverviewAndSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Use of Estimates, Policy [Policy Text Block]", "terseLabel": "Use of Estimates", "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles." } } }, "auth_ref": [ "r32", "r33", "r34", "r116", "r117", "r119", "r120" ] }, "us-gaap_VariableRateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VariableRateAxis", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureLongTermDebtFirstLienCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Variable Rate [Axis]", "documentation": "Information by type of variable rate." } } }, "auth_ref": [] }, "us-gaap_VariableRateDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VariableRateDomain", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureLongTermDebtFirstLienCreditFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Variable Rate [Domain]", "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index." } } }, "auth_ref": [] }, "us-gaap_VestingAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VestingAxis", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails" ], "lang": { "en-us": { "role": { "label": "Vesting [Axis]", "documentation": "Information by vesting schedule of award under share-based payment arrangement." } } }, "auth_ref": [ "r710", "r711", "r712", "r713", "r714", "r715", "r716", "r717", "r718", "r719", "r720", "r721", "r722", "r723", "r724", "r725", "r726", "r727", "r728", "r729", "r730", "r731", "r732", "r733", "r734", "r735" ] }, "us-gaap_VestingDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VestingDomain", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.cpicardgroup.com/role/DisclosureStockBasedCompensationOmnibusIncentivePlanDetails" ], "lang": { "en-us": { "role": { "label": "Vesting [Domain]", "documentation": "Vesting schedule of award under share-based payment arrangement." } } }, "auth_ref": [ "r710", "r711", "r712", "r713", "r714", "r715", "r716", "r717", "r718", "r719", "r720", "r721", "r722", "r723", "r724", "r725", "r726", "r727", "r728", "r729", "r730", "r731", "r732", "r733", "r734", "r735" ] }, "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment", "calculation": { "http://www.cpicardgroup.com/role/DisclosureEarningsPerShareDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number Diluted Shares Outstanding Adjustment", "verboseLabel": "Dilutive shares (in shares)", "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation." } } }, "auth_ref": [ "r692" ] }, "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Incremental Weighted Average Shares Attributable to Dilutive Effect [Abstract]", "verboseLabel": "Outstanding stock based awards" } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "calculation": { "http://www.cpicardgroup.com/role/DisclosureEarningsPerShareDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureEarningsPerShareDetails", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted", "terseLabel": "Diluted weighted-average shares outstanding (in shares)", "totalLabel": "Diluted weighted-average common shares outstanding (in shares)", "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." } } }, "auth_ref": [ "r180", "r188" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "calculation": { "http://www.cpicardgroup.com/role/DisclosureEarningsPerShareDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.cpicardgroup.com/role/DisclosureEarningsPerShareDetails", "http://www.cpicardgroup.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Basic weighted-average shares outstanding (in shares)", "verboseLabel": "Basic weighted-average common shares outstanding (in shares)", "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." } } }, "auth_ref": [ "r179", "r188" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasicAbstract", "presentation": [ "http://www.cpicardgroup.com/role/DisclosureEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Basic [Abstract]", "terseLabel": "Denominator:" } } }, "auth_ref": [] } } } }, "std_ref": { "r0": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "SubTopic": "20", "Topic": "940", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1" }, "r1": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "SubTopic": "230", "Topic": "830", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r3": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r4": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "505", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2" }, "r6": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "820", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A" }, "r7": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(27)", "SubTopic": "10", "Topic": "210", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22))", "SubTopic": "10", "Topic": "210", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1" }, "r10": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r11": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(a),20,24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r12": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r13": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19-26)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r14": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.20)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.21)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.22(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.22)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r19": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.25)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r20": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29-31)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.3,4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r22": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5" }, "r23": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r24": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r25": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r26": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "25", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r27": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2" }, "r29": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-3" }, "r30": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-4" }, "r31": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-5" }, "r32": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4" }, "r33": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8" }, "r34": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9" }, "r35": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r36": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r37": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "30", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r38": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "30", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r39": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r40": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "330", "SubTopic": "10", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB TOPIC 5.BB)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1" }, "r43": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "((a)(1),(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r46": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-5" }, "r48": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "50", "Section": "40", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481303/470-50-40-2" }, "r49": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "50", "Section": "40", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481303/470-50-40-4" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "480", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480244/480-10-S99-1" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "480", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(CFRR 211.02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480244/480-10-S99-1" }, "r52": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481142/505-10-45-2" }, "r53": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-10" }, "r54": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-3" }, "r55": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-4" }, "r56": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-5" }, "r57": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-8" }, "r58": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "30", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481549/505-30-45-1" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r60": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r61": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12" }, "r62": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13" }, "r63": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "820", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-11" }, "r65": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-12" }, "r66": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-1A" }, "r67": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-2" }, "r68": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3" }, "r69": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "210", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03.17)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r71": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "470", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r73": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(27)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r76": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r80": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(31))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(32))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r82": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r83": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(10))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r86": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r87": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.1,2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r88": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r89": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r90": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r91": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r92": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24" }, "r93": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r94": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r95": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//235/tableOfContent" }, "r96": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "250", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//250/tableOfContent" }, "r97": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "275", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//275/tableOfContent" }, "r98": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 4.E)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2" }, "r99": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//360/tableOfContent" }, "r100": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r101": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//440/tableOfContent" }, "r102": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//470/tableOfContent" }, "r103": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//505/tableOfContent" }, "r104": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-6" }, "r105": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-7" }, "r106": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1" }, "r107": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Paragraph": "12", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r108": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//810/tableOfContent" }, "r109": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r110": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r111": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r112": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r113": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r114": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r115": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2" }, "r116": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r117": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r118": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1" }, "r119": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11" }, "r120": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12" }, "r121": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6" }, "r122": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-7" }, "r123": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h))", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r124": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//606/tableOfContent" }, "r125": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6" }, "r126": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1" }, "r127": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7" }, "r128": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r129": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5" }, "r130": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r131": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r132": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r133": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r134": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r135": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r136": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(27)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r137": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r138": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r139": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(3)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r140": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r141": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r142": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r143": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r144": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r145": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B" }, "r146": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B" }, "r147": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4" }, "r148": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5" }, "r149": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6" }, "r150": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r151": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r152": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17" }, "r153": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-2" }, "r154": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24" }, "r155": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r156": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2" }, "r157": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8" }, "r158": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r159": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(e)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r160": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r161": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r162": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(m)(1)(iii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r163": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(m)(2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r164": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-04(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3" }, "r165": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23" }, "r166": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24" }, "r167": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5" }, "r168": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r169": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r170": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11" }, "r171": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11" }, "r172": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3" }, "r173": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4" }, "r174": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r175": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r176": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8" }, "r177": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9" }, "r178": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//260/tableOfContent" }, "r179": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10" }, "r180": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16" }, "r181": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2" }, "r182": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-22" }, "r183": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-23" }, "r184": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-28A" }, "r185": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r186": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r187": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7" }, "r188": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r189": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r190": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2" }, "r191": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3" }, "r192": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15" }, "r193": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1" }, "r194": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-1" }, "r195": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//280/tableOfContent" }, "r196": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15" }, "r197": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21" }, "r198": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21" }, "r199": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r200": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r201": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r202": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r203": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r204": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r205": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r206": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r207": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r208": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(j)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r209": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r210": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r211": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26" }, "r212": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r213": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r214": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r215": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r216": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r217": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r218": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r219": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r220": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r221": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r222": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r223": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "34", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34" }, "r224": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "40", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40" }, "r225": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r226": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r227": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "42", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42" }, "r228": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2" }, "r229": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9" }, "r230": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4" }, "r231": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3" }, "r232": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r233": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5" }, "r234": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1" }, "r235": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//330/tableOfContent" }, "r236": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1" }, "r237": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r238": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r239": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r240": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r241": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r242": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r243": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r244": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r245": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r246": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r247": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3" }, "r248": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r249": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2" }, "r250": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r251": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r252": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-1" }, "r253": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4" }, "r254": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r255": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r256": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r257": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-3" }, "r258": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r259": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r260": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r261": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r262": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r263": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r264": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r265": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r266": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r267": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r268": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r269": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r270": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r271": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r272": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r273": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r274": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r275": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r276": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r277": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r278": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r279": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r280": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r281": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r282": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r283": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r284": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r285": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r286": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r287": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r288": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r289": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r290": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r291": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r294": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r295": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r297": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r298": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4" }, "r299": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4" }, "r300": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r301": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r302": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r303": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r304": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r305": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r306": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r307": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r308": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r309": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r310": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "16", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-16" }, "r311": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r312": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r313": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r314": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r315": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2" }, "r316": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1" }, "r317": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1" }, "r318": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2" }, "r319": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10" }, "r320": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r321": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r322": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r323": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r324": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r325": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r326": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15" }, "r327": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4" }, "r328": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5" }, "r329": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8" }, "r330": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9" }, "r331": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r332": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r333": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r334": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(A)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r335": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(B)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r336": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(C)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r337": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r338": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r339": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//718/tableOfContent" }, "r340": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1D", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D" }, "r341": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2" }, "r342": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3" }, "r343": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480454/718-10-45-1" }, "r344": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r345": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r346": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r347": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r348": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r349": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r350": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r351": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r352": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r353": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r354": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r355": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r356": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r357": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r358": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r359": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r360": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r361": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r362": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r363": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r364": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r365": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r366": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r367": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r368": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r369": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r370": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r371": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r372": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r373": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(l)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r374": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r375": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r376": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r377": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//740/tableOfContent" }, "r378": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4" }, "r379": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6" }, "r380": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10" }, "r381": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r382": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14" }, "r383": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17" }, "r384": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21" }, "r385": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r386": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r387": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r388": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB TOPIC 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r389": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r390": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 11.C)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2" }, "r391": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "270", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1" }, "r392": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2" }, "r393": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19" }, "r394": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25" }, "r395": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25" }, "r396": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r397": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r398": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3" }, "r399": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3" }, "r400": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r401": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r402": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r403": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r404": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r405": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(i)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r406": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-6" }, "r407": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r408": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r409": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r410": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r411": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r412": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482736/825-10-45-2" }, "r413": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-10" }, "r414": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28" }, "r415": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17" }, "r416": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r417": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r418": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r419": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r420": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1" }, "r421": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3" }, "r422": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482900/835-30-50-1" }, "r423": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5" }, "r424": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r425": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r426": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(3)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2" }, "r427": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3" }, "r428": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r429": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r430": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r431": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r432": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "910", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6" }, "r433": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "924", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 11.L)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1" }, "r434": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(10)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r435": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r436": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(27))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r437": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-05(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1" }, "r438": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(12))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r439": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r440": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r441": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r442": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r443": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r444": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r445": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r446": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r447": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r448": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r449": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r450": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r451": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r452": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r453": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r454": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r455": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r456": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r457": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r458": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r459": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r460": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column J))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r461": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column K))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r462": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r463": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r464": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r465": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r466": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r467": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r468": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A" }, "r469": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r470": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r471": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r472": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r473": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r474": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r475": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r476": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r477": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r478": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r479": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11" }, "r480": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13" }, "r481": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3" }, "r482": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r483": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4" }, "r484": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r485": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r486": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r487": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r488": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r489": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r491": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r492": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r493": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r494": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(16)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r495": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r496": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r497": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r498": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r499": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r500": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r501": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r502": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r503": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r504": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r505": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r506": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r507": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r508": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r509": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r510": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r511": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r512": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r513": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3" }, "r514": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7" }, "r515": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r516": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r517": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r518": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r519": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r520": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r522": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r523": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r525": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r526": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r527": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r528": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r529": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r530": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(1)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r531": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r532": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r533": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r534": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r535": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r536": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r537": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r538": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r539": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r540": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r541": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r542": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-6" }, "r543": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "440", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1" }, "r544": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "976", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1" }, "r545": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "978", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1" }, "r546": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(a)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H" }, "r547": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r548": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r549": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r550": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-16" }, "r551": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-21" }, "r552": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-22" }, "r553": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "52", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52" }, "r554": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r555": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r556": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A" }, "r557": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24" }, "r558": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r559": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B" }, "r560": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69C", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C" }, "r561": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69E", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69E" }, "r562": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69F", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69F" }, "r563": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r564": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r565": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r566": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r567": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r568": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r569": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r570": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r571": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r572": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r573": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17" }, "r574": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8" }, "r575": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r576": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r577": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r578": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4J", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J" }, "r579": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4K", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K" }, "r580": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "53", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53" }, "r581": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10" }, "r582": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2" }, "r583": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "29F", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F" }, "r584": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r585": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r586": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1" }, "r587": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1" }, "r588": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r589": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r590": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r591": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r592": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10" }, "r593": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11" }, "r594": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12" }, "r595": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r596": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r597": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r598": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r599": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r600": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r601": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r602": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r603": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r604": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r605": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r606": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r607": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r608": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r609": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r610": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii", "Section": "6" }, "r611": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r612": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r613": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r614": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r615": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r616": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r617": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r618": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r619": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r620": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r621": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r622": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r623": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r624": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r625": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r626": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r627": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r628": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r629": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r630": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r631": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Section": "13", "Subsection": "a-1" }, "r632": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r633": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r634": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r635": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r636": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r637": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r638": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r639": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r640": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r641": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r642": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r643": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r644": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r645": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r646": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r647": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r648": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r649": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r650": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r651": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r652": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r653": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r654": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r655": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r656": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r657": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r658": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "A" }, "r659": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "C" }, "r660": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "D" }, "r661": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "E" }, "r662": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "F" }, "r663": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r664": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r665": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r666": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r667": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r668": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r669": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r670": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r671": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-3" }, "r672": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r673": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4H", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H" }, "r674": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(2)(a))", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r675": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(2)(d))", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r676": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r677": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r678": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r679": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r680": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6" }, "r681": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r682": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r683": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r684": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r685": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r686": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(f))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r687": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r688": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-04(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3" }, "r689": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23" }, "r690": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24" }, "r691": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5" }, "r692": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r693": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//310-10/tableOfContent" }, "r694": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-13" }, "r695": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3" }, "r696": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r697": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r698": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "410", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10" }, "r699": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450/tableOfContent" }, "r700": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-1" }, "r701": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4" }, "r702": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r703": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r704": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r705": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r706": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r707": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r708": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r709": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5" }, "r710": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r711": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r712": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r713": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r714": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r715": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r716": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r717": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r718": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r719": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r720": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r721": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r722": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r723": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r724": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r725": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r726": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r727": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r728": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r729": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r730": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r731": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r732": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r733": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r734": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r735": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r736": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r737": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r738": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r739": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28" }, "r740": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "830", "SubTopic": "230", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r741": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2" }, "r742": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7" }, "r743": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7" }, "r744": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r745": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r746": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r747": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r748": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r749": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r750": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r751": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B" }, "r752": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r753": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r754": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" } } } ZIP 71 0001558370-24-006905-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-24-006905-xbrl.zip M4$L#!!0 ( /@YIUALVW UY@X %*4 1 <&UT1P@B5QT3.5"S0)EDO, MT"WAG'H>.N?4G1.$AOM['_=&>T>HW_^B69QC 54"AC2OT=XP*;B(N07L!!T- M?AB,]D>':'AR<'1R>(3.;A.R6VC8C-;0O0CW1#@+XF,D,9\3^17[1"RQ0TY[ M"RF7)X/!\_/SGK.D#N;NG ?A'@U]N;1]W(A-BC[/<< M]PG]P4 53T%]"3DG,R/UQP&4IHV E>FM%FZHT%4F))ZE@;\>@,M6/>, MUO>L3YF0F#DDVQ1J$5&D;X!#TO"B\N(^/CP>Z-"$-17^.\3(EGF$QU:1Q M@3*#@X28D;DR2V.3CP<\\,@@)DMJ"2[[\G5)1%E(6I03XTI>J) 3!,4#5:SJ MC/K[!WUEHU'-I2]%4ZN.:A 6^J,J:QCM#\B+)$S0J4?ZBHQP+,$MB/Y(N86X MJ63)B=-$*6O*C.I5285:DI*<5IR0<_!%K_G&"N+LS8/5("G-50$^!L4G)3ER MA8:A16E1GK_DEFY#:HA"-]M525J8M-$E,\JH[@TXUOU]U$=KAO!'PA,!4Q1Q18HMBOBBA/'G09%= M05 (<<(=^Z)_@QL1,-5J):HY**XHX]-2T^+@A)<&Q3P8(BS-<:Q90=_$XYHBQ+%/-$ M$=,.P58(IJ7B;G:W3"96-?0"'[2S4-/NBHPA\O9)$X!;\;/B/VJ*_UHD"F9H M+11A-=:S8E$DMS.1=S.1"^CT:-MV$C&M,9;A.QD+^J#$H]&_.ZO9V&HNL%A< M>\%SHRFBNJ(5_/!"'T!6&)=@ED9AZI;#-3&C! M#E: >N3F@K6$$UJS0A]B9MTP-$,U9BOH;, I$0:,*BBLX!R6P7&=(;0]7LMJ22@19?$%6F1G!T8[N,*<0>PB[@E_7&!N6O^8R*Q8#LM8 M)GP0!$U(<^I&:Y-$ YFK@/.!+ .N0LV\P[N;74VI=/$D^$IDY!L-,&[,QXKS M8=EUQX)0*@F>%;QT,$-7Y^/)Y1F2 6)$(AIO277V8+*'^"V0Y']PN5=,@O\; MLUG ?=V'&/$FE-9=)YB/%:;)>R>9G\K_1LQ0AEL'UN:YI7MP@TPNB 0^7NM$ M4[YV3=;I:).L$_J0D]$-S,TWBQ]EX/RN]A$(A[7KC#I4MMTVKF)A1?U@LPWD MK)Q_H5A2![UQCCX/!65$B+L5X2M*GL'G/H:^C_DK8$;GC((",;CB:/\7IL1[ M4+Q#26F2WIR1Q0P@%BM'8XDDE(C2SCT6IFU@+0ZMY:%$8&<-1FN ".H1>V5P MT^=6K$9EK* BTC4[I;=(Y]3G<>Q -$O@=) T2=M8\C5V$.R)FD[Y[YJ>>8^\ MC!WNOR AT]F,T6:N,>6_8"\D=[-KRF 50+$W9D)RO?HKF4,=N17ICV6D%3^D M&:KX(V6),CP[\)KFT&J29W9P&F3-.B0:[:_;MLWM&-1FP3H$FJ2Z+/DKN_Z/ MJR*/=5*JT[[EU7C#1H>=Q(9&56ZHVZ1X6[JG+L]C!Z11@J=#PXC&1>#[5"8Q M\T6@=U<(J]H4LI%:,:K82LCPBM\,SG#KX++[-'V85KU+#1%0-N-21V4%J6*; M0;.)C^YF&77X-,Z2UF4_[9A4[#J4LIH=&-O?#M_ZMGB3[7'PDN4D]ENWQ]&' MY%>7,JO?*9^HG53C?GE<:H'P8'^T?V#<-4>C5 90(K,H=E9'('(3I$_HJ-]FHHM\C9:@-'91O8_BF(SI#>N/M> M;2/-*EGA_UB&O\%.?(=HZRUYXXQ:061%[(?*Z;1PJ*6#I\T^?34V%1168#Z5 M@2F^G-[!TF+SWA3B% FLH!Q7A3B9TR4=)*VWCJMQ,5#9P!D.R^!4G1/H(&J[ M 58-D8'*"E'%$J'\BG^'4./-#L/YC&*Q!9-#ZTN"W2F*MP?;!HP:UK)"M]F+ M+QVH+0.Z:\J%O*&$Y4\F-CBO7%/3"NZG\DYRZ>BRYH^4@-)9Q@[DC=XN,)UX M,U/:0&S\KD$'U]ORW+D_#!BVK6X%MFT^/#HND_F[ WS33/F=S^@T%+#P DW0 ME=[;M W;5@RLH+?(KT-1+ :E0J+86^Z-T @7M1,+ M3EA@[I2XE"Z) "8!C"8)T?4@:7P/#;;5*]!GVU[E(=C!/GEXVK9/4(5X.]H= M&"IMNU,87=OK5-QR*E7UB[44I,2([Q'VO+3GGP>%BP7B![GK!_3E Z "F%T0 M*UV*8[CZ(+I*YR9P-)N(6IC(]2T(ZL<>B(H;UT+J^O:(1E(3K>9SG:O45G_YPU!]^W*P=E?>\F!115U/_+3962/8RGB;*T%747^FE/TH= M!TH=!\-VQE"ZG*BA_*2"$GS46*3I#AJK 59>&C0@GA0IFRW98\/N9VQ1;F*' MAEN0WJ $]:2=#BKN?&DF/Z&/9*N;>S;W0+E;7#;P?5"W4GI\7Y@.,M6,\]L$ M_++W-6!!\KI:%"C&;\S &F/,)(&01GTQ2VW5QP4]W8'3WN;5J>>IY.AI3_(0 M_HXF1GTSUXD?@/E@_CJ6Q%?1'"@@G J8@$+5_9]41)V04B"!&4K_AB;0P)UH M1F[(X[,H4=DT^G[3:<_1R06K2O2B^&ZIES)7,%$'KX2(2\J)(P.N-EA%Z(%K MD>*6^%/"$U6TKU:I@O02KA-77U;36 D82CEV9,+.IA1+[XM?P*M:;<8K1#$) MLI]+TLGN"7F1YQYH(E'+%OG5Z$LFI%NQ&XN*GA[!E.GZ Y]Y.S"6[B3<3X_W MG"PQ=76CBSVI+-O)?D1^YR80PK0=N_8U\9+T^\E%P- 'D MHN&O).U]0]K=G0_2TRW%HS7YH5E/MI-C]18["\H(?U51:G+:YXFYA*>OH>E# M/87>MJ^VD[V/3TWK,M$$YO5WM6Y3J?+U!%0H7%5 MEVY0J8_DQW[.7+ZS\]4C833@L!R'&!4:G7^OLQAA-2'=96?V0*;@BPPNJU2X ML\/RT<=%35@ZN4M?J%^Z#^I2-"G$B9/]4$ [@*3:X*E M.A?IJ^\#]+*A2M,J;[+B^MZF5KWN[ Q[@K0P\YK)H_98-[1;B%Z#2:PIIUU1 MF=&9IVXL]$,=;&7WES;O?B_G/[?->U>T^GZ&J%=O6S!#S6=7U%5CA/I,XK3T MMB+GF,TUW?GKF@06"5H!SS#[*'6H>UC24STZF)HL,(N3*6?S.=>I;5@I::.GD.['W) M$.Q@7[19EE_U+5GN>=%R[PE7K^3C.;F;Z0=CIMQ,<5!LE751?\N(\)T5&!O\ M^VO0X%>VRWLG==@NF0'N4?Z,5^2<$ :%.,[:]C9-J1CYO25'\A;?:E+3A%.( ML&$]I;YT=X&75&+O'E98C'!Q'3)WO"JYHN95=M YQ:MD;>(/9!ER9X&S^WC% MM;:1\.\R2VX\WHMA0V+QZJT&6)*JDU,JSP/CX1*_"I7HN*5,+=\T.W$/5D)T M8+$-Y[/%QN1&8&P_W]95Q:86#R7ZI[X=3%>]"(2Z NY5B32::--Z?Q>+?0)( MI?3*8V_,'"]TE9>MO DA>@5D@\KOK!B+19@U$[UJ'+TK]^5_4$L#!!0 ( M /@YIUC^'KK JQ '?D 5 <&UT&UL[5UM M;^,V$OY^P/T'7>[+'5#'K\EN@DV+O"X"9->!D[WV6R%+E,VK+/HH*8G[ZX^D M)5FR1(F49(FV"Q1;QR:',_,,WX;#X9=?/A:V]@:P"Y%S==(_[9UHP#&0"9W9 MU8GO=G37@/#DEY___KT M;P!C:-O:#8;F#&A:OW=Z?CHX/=,ZG8#&C>Z2.LC1&+'!:3_ZY3:@AYQ+[:S[ MJ3OH#49:_W)X=CDZTZZ_1>6^$?8L6%30ALX?E_2?*6E0(V(Z[M7)W/.6E]WN M^_O[Z<<4VZ<(STCMWK ;%CQ9E[S\<&&B]/LP+-OO_O;MZ<68@X7>@8[KZ8ZQ MJ47)9-7K7UQ<=-FOI*@++UU6_PD9NL<47\B7QBU!_^J$Q3KTJTY_T!GV3S]< M,^0KQ5:!\.17F%,^$IOH6=.^8&2#"; T)M^EMUJ"JQ,7+I8V)5E#H#GGFBTF1^3 MQP1?QA(:.C9G&/G+4P,MNK105XIL=[="1+^Z8VN\!)@![EX[I-!BB<&<5(!O MX)'TN06H3T:Y5A52P:UN&X-V]! TW: R;G5W_F"C]QJ-FT.^LE!WT#5LY/H8 M7!L&\@G]"3 ?-.G-K@#G@YM*2&$R-7(]*/S1G2", 1N)6ZSZ-3(YC,9F;S[ M__EP22%\ F1,GB/;?"2VBM[6L!+;#0S9F;$"$SB;>V/KAPNN79>,:)7DJY6! M>HT.^\"\_UA2BZ\F(X]6C>P^(6?V"O#B#DR]^.=*?!<2K;6_T!'Q5?\ [KUE M <.+1DGRW80,,:2[(L> -F0C:L4^5:ZM'>%%)P<,3.@]Z+1-;Y6A:^E9JG)3 M-0I[KV.']%WW&>"7N8ZK#=]<8C4R_ )F=.29@"7"=-1)VL/8NI]"S]1?T7?@ MK>VFDD3E6PM$-@ABOLU*/Q$! S%I*W4O7>-*!1\>(#7,Z%OHT0;)?J77TSI: M1)=\CDAK<=I:0%P+J#-AB#@V,A(-V733@G 2/BJ72P1C^P1+=Z=LLT#VCS-= M7]+]V; +;,\-OZ%(#QG*P1>_KZ>.D*BM3X'-]I^)'[MM\'3K8TSTELM:4.;W M\^'GL][Y:' V&@Q&%^?#_BC&=,PNKG&2?QT;(7WR,64JR=U74*+K^HL%H]:! M!-JPOH71(JVYH#$DPSC")L!7)_T3S7<)/VA)V]+M$^T=T!F?_;+$D"R&O-75 MR:!Y>%(K1](E"]#*J:(J>'GL9< J*Z'J*---#)TGR?_HNO1-M]DBU+O5,5Z1 MX?D_NNT##MQ"=1-:(1^&P]X>XEY>U, !JH:0+CE6A%#YN <+W(8!L9E!0V@'^T(^O1*G'Y#N$5DU^^MF(> M,!LY"0K] >E^6YV@JA80QWE'4HJ,UXT/T9[NS"!9;$2LWW\8MD]/D;XB9+Y# MV^8.W<55]P'LRO+(#>C#QC$NP'$?L1+!8U>C;&4\8I/%=^08N5-J9ME]0DI< M@ "V,U5A>X+ZE+KZ(*".]!)J[J\ M95,3A2%NA$4"J;Z3CO&?OP)/%U0:P$SFU@WO5^C-;WW70PN 0]%6 M^6"+5$WJ9$AT&-K:!G0]'>PNOJ'2J=^:8/>9&>&P5.R DA413?>4T MH;&1#C##,%&RH?<7% )@DH4B-"!O!55<\8"@+BELR875E^Y6A.K.PU;E;B/% ML>)&M0Y$HUHW;6O(TC:M:[I#2\;:UP(&FNTA41CQ$W)Y1RE;91H_W0]VD<'G4:2,J(Y3N@0A.76K0\VH,P[9A+79H^,!#-Q\['?2XM[:3W/:4# P*(IP M*ASB,DHFA3Q3X!RC:40S7"^":E)]N_85$\Z?,>+/([$2ZAF"* QI (O$4AVX M"7@#C@]"^]\^I(EBW6BP#OG/))V N\*7IJ2>(13!F;76KT=LU0WE%KG>V*(A M=LP1"? ;-(#[0G9'W*T\K\(AP"XI7>%PJR):QV)*I?0@YT)N MWGJB15J8Z:%HZQ&64P_U\NM-,>&4GV[D^_M>]6HQE+*"+4IU6647C2^ ;8J_ M H?HPZ82F0OH0->CVGD#@7:X$5,BE9-Z.2<;[<&>@E]!WAV?_G&N$+XB3[>_ M(P>%[W$I'81455%%R'%#[6#I(PR5X-MW?T=FT]B_* MAS;X=\.'U!D*(0/"V.)[=W-K-#P&2!^QJ]/#)0"(]]IB:4JZ?MKMI+&$ID(= M<50N2(0VHZW;:3[7T58&GPD9N#$T")-!AI_D%[&2SX# 1=->8YIXF#TK M0I?)9'F7UY>S"Q\!UA*"BP26M]J_'Z"C.P;1 CW-I#MVFKZ9)8(0ZNG\ZD=@ M!Y54(9)>J>E00ATZ+EUP '?LW']0G?C0G=/=W-C*N6!?6.\(;*&<#@(C.%CIQNO!HD:YZ!"916@V!-5RH-%:DA8D]]"1L![$Z M1VD 1?*'SI^>VM '>;G#N2\S/[>P38@0.TIC*:V8T(I4NVN9Z@SRRT[N,NM( M;*)(_A!ZE1R/_'DPR$DIO8P(ZAVE!8CH(+0"E5R0F9)LI:X,Q[9-VO_"',I5 MR1ZK#55546AB-7I .>&+:?9+9 FM0"DI_L4AN37JUDIH%"HY/SG*HBMQMTHT M0P8!]2Q%V6@&4>TI>(Y*)EX6!_6*K@VB+ RX#]CPHAV$":AG4!7AS(B&J*8, MH:PRFRB]LYKF)#97%@\AN64/&%QYN>4BHD>JS"+1V6#9622#@'IVH>PL(JH] M!2,R)F 9C'QCZP4XQ+)S#F*S"ZMG*!5A2N,N(;B*^<7"R>T!82*)CXFINV!L M%>?;+:YX!."75(+R-[6)A@P 3':=\0DZ@(;MLS?N^=&QV>43XG_JJ>N[J& # M4K*KGNLU+DW,NME*27PI(4GER*RDK$84C.A;LP[8VZ?/&!(IEC0G^5H^CG'D MUCD"4Y"7OS!@K^WY8KTL'EOQI?+8J;0HCY;?=]!=(E>WO](+9V%L([MA#\S- M;4N.K;7/F'H&W?Y>25%4Q,?77=R@I(S:R/4Q2,?@W-'QVS9ZIR,XF;_OD#_U+-].,U@@ MD R-I+'VSX?]MH<0$0@3X>J5Q97THK;WI.=&')9?4M:NXY4. '=Y^5K*:H1U M$VRXY,"65W0?P"I4_I9_7$94U7/(_'"FT+:!60AR<84#@[JDP IEB-DL=6+1 MJW)KIE%ZS12CU=I:*>1AQ7^.,EFD\9"IH''ZNA%#CZS0 7[+"8;B55"O5V4I M/QFU)"6+\DN82)Z)_OZ-;,DPU.U"'.-E]QC"0C%4?VLMDN2!IH^< Y-E!RY" M+U%XC^$KEJ.DXWVWTQ6+((G"1YA'D#X]]KA88O2VSF5$PQZCB$=:8$+9'5L_ MW.""O]P\=Y:>YQ@3/VD1&S]I$2-:G!.6T"SB95U(8]QTD-4A_&AKALI.EIRE M.3?:IE SG*21%0G6LM\HSP-;V-4K%B.9[#3TV>!A2YV_/M2CC$MPD=2DO4Y;UU-[(0=M3,]H2"A-HR"%-@_'#U-9R,\ZG3&\TI:>%!-MT M16_=,BCTU_'*-^]NI)P\ZRN:,)K=MA)B/:.".CU5&)8M'Z.,8*K[J0)Q;I!# M^!/#-%GV,. 4D*D=3W'2W-B1))L'[A=+&ZU F%0YSX,L26)/ :U-U!V'3.7C MO+FQY)A1R >;P@/6BW$6)7$ .%<2M>1+V/7@/ %38I<"O399,"E(\#;X?F$F M()!(PK"=(7.K+Z&GV_!/EE*:W?IC:O1ZSWD.QJZ/@$& M,58R,;"FY ;4B]X@'7?$7HEB#9(_HS9C/VBT62W9;FL#;;92LEY!S+VD(4:@ ME8LM^8!?>P_ I*]WT@2J/HU&2!26$EJ*HUE)Z4+U4# 1@=FV)OK*F;$G:)\!-OC;O*IDC]&N MI/6A^OUP$:&_T_?Y3)\4F]H%C[26)7>,MB2LAQT?I+1F0]F/W]#=8LW6Q6_H M+[LKI2$%7YP1D?R6W4[>O*!!"JW#M:* _^AB8P4+E&CE&,VOJGI$CK9:]<;2 MMZI9PI@'W6#Y2S/7RYRYTG(47++O=M.=Z]CAPQ)=/W-YB\I3UV_G^Y6(4&-#'(:(]F:$^Y7 MIE=@7K^1\78&OON+*<2KICWW,]TO<)RQQ+E:;2<+?+Y(_'W;7Y M7]_UP*6](5-9[;ES['NI] S]5?T'7CK1:O<+#)*G_<$+6I1D^2[ MK:,=9&GW-X^O=]>:AS0'>!I<'P6U-=M$PN>\F)XH\WN-3RT$)&DFO:Q]Q@VP M$#VT6\=.!?O5F$LW?F&'++WC+ZEF12SMM$'U!H84:EMA3LVKH[%[=F1)B\+X MY9#]-=^!$)S[I"+U]@_HTE(I^!Y"9'T!ZS? 18WF2VG]%Y!6$:6PJ.'%M)3 MQP<+\MD&Q:.V3-6]Q+2T8(7G OGW2;]TUVHF_TQU%_S\?U!+ P04 " #X M.:=8"(84P; F !M3 ( %0 '!M=',M,C R-# S,S%?9&5F+GAM;.T]:W/; M.)+?K^K^ \_W8>^JUK&=3'8GJ62VY%?65T[DLIV9_39%DY"$'8K0@J1M[:\_ M )3X$/'D"]",JJ8FDM4 ^@DTNH'&I[^]+B/O&> $HOCST=F;TR,/Q $*83S_ M?)2EL^,?C_[VTW_^QZ?_.C[^Q_G]K1>B(%N"./4"#/P4A-X+3!?>(UJM_-C[ M"C"&4>2=8QC.@>>=G;[YRYNW;]Y[Q\<_L2[._80T0;''^GK[YFS[P\6F-Q1_ M]-Z?_/7D[>G;'[RSC^_>?_SAO3?YN@7[2A";005WKP^X>@-PG/2T^F[DZ*5$()^.]Z"'=,_'9^] M/7YW]N8U"8\\PLPX86-K#+(%)QC6H%_>;6'/3O[Q]?:!(7\,XR3UXZ!LU1AE MT^[LPX >S#PVVL=T MO0*?CQ*X7$6T*_:W!0:SST>K99H<4U&=OLLY]=\/*1$WU:,+%(<@)EI!/B0H M@B%5@^+79#J;K@!F8DLF,0%:KC!8D ;P&=P0/5V2D2@6W^]O:@0&*QCX.)QC ME*W>$+ 3"G32YZB,55I2/AF-5P\I"GY;H"@D]GP)9C" Z3#LX0XT'D><[X3 M5=SH93QG /=PODBGL^\)F"0)2+MQH5<$;'#PVH?X9S_*P'1V#6,RH4$_NB%3 M&V8+5C?FZ/9M@^Y;%,\? 5Y>@J>T^KD3PB%;U;X-^SK3;B5Y9?S;H(POM$J;;J88L/G2B(>XH!$GM2R>BC0>Q)FGF M+5/G@ZS%S!F9+F/XE"7$!2'8$U^$3MG=%X<0_(_ L#YIJ0W[_'L.,D MWV(8=[@Q"(-DZ;\!&48K^@_;K9V M!,Q.-O G+Y#,]L>QCS%Z ?A(R7D>@A'&17]TP./-%R*ALQ^/S\Z.W^8RVAVK M0LF6C':*Z<LMU, MS_SDB3$R2X[GOK^B88QW)X ,1?]"NV3HOF.H A NFSK:Z"(7!H$]N7I-Z5;U M*0)7,7%/<\6[A4DZC-85'< X/0GALM ,/XK:J5>U6& MW-2'T89MWSG"Y"N,86Z3\6^;SBDZG6V[@CJ@<"$(B[_"E Y0-O*2)1Y:0H= J]SFWK3<6W'8"S=E04O91!W/O$7E:&"-,W)[/ M1^33"D.$8;K^?'0ZNO:P@)S"0NI 8CUI@!G1TG2_Z%]^O2-.*L#IF@4>J>.\ MC3TJPXS?P"Y!_76X0[JP3]*DHY4(F8_ZH6=4P]DEIFHL*A[V82^F.B;EGY%R M27MJF%3'OJRHFQ(KZYK6$?^- K[E*>"GD[K#5CJ=:D>NY\VLU+7[\.'#Z:EW M[)4]DR_;SCW2NY=W[]'^MQY?,<+6U)C6&Z]/"0C>S-$SX13,ER;RH5R1R)=? M;\'>!<=5 !#@N.31#MT$@$>JW$%9&&!^ZBWXK6(LT MAA]5O?GX;K5;BF?_VFVRL0W_21P9EK^]1O@;>"%[<92QQ"U!.B8?@\UIE:8) MM.I#O"TV[<4"MQY)W]/9),RUZFO-Q]YA"@]42+L(N*T%=94,4J,VFG6UI*6Z M91;18-7R;BA]?C19K2*8'Z6] V0!)/N691;Y]*3 U6P&@O01^X133.QB$VS7 MF5 ?VW>W%XSD+GY=N^N1F=V7T-[T O5#Q^BS15O"J]-&%X)'=UEWDDV=(1\H;^KU[ 5"_KQA TEA$QQ&]5-UB-FZS;K$V%U)2^VMC1& MFJ[I^2X4*WQF:1OA4J)L98'Z'52D:RL75DBM$+KKJJC+?*2!R^@KFP+YZ@(F M1-JJN=",PC=_R0NJ\$"$ZK$+9)$4J=+7@93D]*?F BXBV9BCJW,=R5JBLX&< MY?T:O:I66-_V_J-T4R9L(=DL2-NX0[=B#R5I8TI[G[LA'8$@ XPL[&LD)-0W M+PK4K1K3!6+7(?(3<_U\?0[B8+'T\6\2BU(U$ZJ63D,GV+!%2FI>JF8& M;&@V[&ID!C)"9IB-;FQJ4JH6IT.":T9'(Z-F]K9M86)JU38NT$WQ,3.PLH4^ MW?4V Y@51Q0RBZKCXX(QE01([:B.N%43NL(8X0N$,0BV]0SNZ"&G/#)125'0 M>VZ;I?=\7?FR 8S#R9(F+R2V-\10XJWV0(-9SVCN$":U>HV6FME+8=NNL\# M2H&,"1I]&AF& [73Z'J4CQ[A_^K_DV#"CAT"S(LM\H&XH6L^V$B$T$W]=%9# M01B>%\)RR9)"=PG"2]F*- 8?-+< MNP!4D[">\NLJWB+U^./FT 4(%UES":)NY,G/LP3&($DV93^T\N2\-NH\N:B5 M#>IS%*0[T!J,F+I=J-[RX0HF(PD.]O+@?*2K.[H&LBXE$L_]B)8+?5@ 0._9 ME16!RKMGR?F:?%FAQ(^^T)MOM)A4E-&JLA0FKXL#PK(LCGY."J/#;3L3%Y&?)' & ME4Z$\MO'9M^-#?=*$O))&=BS ;W:*5I A-442"W:-[HJ( MRDRR1DOQR3B]MB[Q0YEAUFAISH]^,\YF(D/&^(U_U%"'(*U2*PYEI+>[GTE MD%/>$Q- "U5- N\(K?0C!G)C4[8SHK_1LJNAJ86"##$:W;2$)%3-20MUJ\9T M3>D"M_ 9A#=QZL=S6MPO+Y%SOLYS9G19EAB800]"I3/LPRT^E?@I=[B&O;3A MEZB?KB;;3LRH$\ZC&[41D55#;T&SPSF 9:]-26 M=T--!^U%CSKC;B%*94AL_5I"*R+M>@7;YVH(:<"G8;<\.I= J2<@;R5>S=3M M;.QT:6%^8A%I@5[QH8Q&2@NB&/0@WOF:]=%YE=<6(6J-X_BKNHJHV@[8C!A7 MS+3X^'<(,.'58GT+GD&D9ZV2QCI&JVANDS$5>2=--.6^NDD?:C;I]M*C!>N) M%75 UJ8I2ZFK^>:F5-G-\H"GM'P93I;8:0"**7\ M1GHXC)^-X2!=2\!(D+5J!O0IO73SE)XBT<(#%6J("-@!$J6FP ?6)K,_,U!P M&^G@,+H9\)&N&H(86:MF\+./H4_VBO=^*C.!73"A7O +9,E5?LFH!9I_:F[ MA+-(-?;H:MY$MJKB?"3MIO(JYWTTRHN(P,7)+$D#1\B5I_&$#8Q([C%QIY8 MTL5E_)2=$/E:SDZ*M /G:!_]UTF6+M@[$\ISK[O BG.J/' G"-4HOM,$-R"V M[Z.?$KXWJNWP\;!T%K.)>+/&#A]ANSWQ6=LM"!"^^ M@R!K88/B$HO\ABLKRNJK+_VK&XIYH-6T\^4,#=D@4Z3&OZTAIJ)V4T,+>S=N M,;$TE89MB>#5MY=X+6S4SZF@(2^;TP 4TL@'[>TBDX372(6$O9M,3:QK=7&X MV-I]/>+%QZ$B(%6#$>I# \J&92]\#)I/M&-,[["S./GYNH2Y\]?# KA BCT3)0#:+ZB40K>8K48X]Z?9V'[/;JN@Q)NPF8 C&Z6&>R MY#"_,B M1A%W/K!01\3@3A J-0<1N &Q_9F$DN](#X_1S4*$>-4P9 C;S4V"A#Y%)DM+ MEA#BM%T=QAX=\CQD%49%2X_91RX#D63$\7..511KZ<9=U.P]V_L%H#GV5PL8 M^+P3D5)8KELKA1Z+NKS$2Q4#H<\NA.53)X/NY0E?"9.1!@YVGO%M(ET\Y2M# MUK+[$A'LR18:I^M*8#FA]6'+7Z0NC6X'DI7?I O+3%(X/;N 6D3WZ>BTD 92 M867![=$GH^X*\=!WT<#,+:J-"3EB,[J)1VD;4]H'-RH]*W(CUR@E061!#B8: MLZ<$_"LC2^G5\Z;FA"*%SX&6)O %\&[0*L^?B.!-Z.TW1R]G/M+$Q$IBGHMZ M+44A0]FND12)D2\(A?0U@&\H!LM5A-8 / #\# .05&S[?/V0T?=\ 9;94J=. M-?)P;;O= P9O4=9,?[;IM#<&-[OM/!'TI3G<'&A;JL:?5#JR@9\>;4N^A;K> M69P"O*)^A2!(+@+CAB!$@*/5H%]E.%C0;-T<@_RDR@Y&PEB+=ELNX4:MNQ4! MEXH"M4!GY)K@//S+:O<&>(]N+8^4HNGL)@[A,PPS85"2"\=5&R&D+8I^@>F" M;3;HOGX!5X_H*DY%Y[A;]*#'!74?74Q()1[4&JM1+4E QM:46J"_8U"?3G:X M>TN^LA_J?]I@62/RY>7E3;""@8_#.2T2^B9 RQ-&97F&$,4AH9<>)MH^ P#" MXM=D.JL4 X[9B2,,%I1!SR _SGY4$S5X30'I,-QAVNGIV]-3[]@K.B:?BY&] MZM E2.*AF5>.[ODQA:R,[Q4(+*,XJ1%=2)<,^XXQ\(G,9D=;=1WWX.\CO3*-+R28/?E@6_2T;%W;Y!:D)0ZR)W!<&%_5#+B. M,Y>YVTF#C_S.O# :JZGA;!U/X0PN@1V&Z95Y;C,.G^,JG=GA.8^ +HQ?+=.$ M09Q!I+)4Y)B/T@%LFF" M630&,QDU45_1MT^)N\F$;]4V-KA=$[*(_\?0H[[Q]I')J]?-RQ*TT!_Y+WST M7^4",NO)XG*@TC^.!,UH?1"^L82=F,3[%J-+LOJ"49*0W=,,BE;:&L28TOBA MRY):P]H==F_"E?'\ZI7>S%3N+23P8XKB?1=12&AP1S /("+=S;^ F" ;L=?Q MEH2M%-$4/H,-ZJ+=N69C!YP3I0+6'V75H\L=,9I[%Z[[$$8"VQ,'H4&3[NSG MA#M@)!$."0[*(4^4W9(E4R6)*N28LOA++RM0%7MWQ/ -Q:B.X499%,Z!1KLQ M1?37+B+2H*4W@0F2'G444H!!DM90^09V)6'0SH&U7UO/BF2)'FGN6-(T70 L M)%,TMRD:.> $&$E.EZZA[>D1I7XDQCP.MQI%/M+"T'PI=>O* 7?!W.I:4^N. M(98+[38S >.,4%(>USD',X1!4?$2)%>OA!N$E3#V\9JM$X0%-#U(6!Y5YA^! M%0\ZXIAJ]&.79710+KBF7@3]C>J?DQVJ.((EA!Y3K!^ZBY5#@3LB(9Z Q M S.J2W3:R3NM(^X.UZ]\'!,;3>X WMYK@(& ^P+84:70Z42)@ !WI7$)HRP% MHJR'$'I4B70Z/R(DP1V9_ +@?$%PFCR3%7 .OF64_.F,H9M,LS1)_9AF6&66 M8]C'J/+K=/# D##GI;K1OP;^9G(5]S*J9#OEOXQ)V;-_*N4A UUZR$$]G MQ \B$PY$9!\48. GX!+D_ZJ2:3UT/*H&=$N[]4"M.TK!(61+A/!0@:2% ]&X M_M2\?NI 0K52G)].K%TC8F7(%R@B+$LNR8A!N9U3W!QZU^[F4'7 /WGED(>[ M0AU1O/I71G2,*B***;-UWC+@M]F#VT2:E-C=EM11DE92$,#:O6)DI&*U_0F? M&MLKV9*6X26SC_1]2=VH-NES3=").\B0-SENX%)1D9[DB(87B3)!D(+S-,D,LW MT#_[40;XS^+(K,BPH[TY&]^&..=EG.ME'T*6]^2 #]Y>RS6T0$Z].VHP"?^9 M)2F+YCPB@7?+J'C:I>(>D)4E@>FVV%M.]ST(T#P7*&.D<$LP]+![%:X MHVW,6,JR9^$D#O.70YH6*)ML='O8FY/51E3MFSCSJ;"3/+==N+)JF*FPN:2W M]+HC:JTT"[TF0T22IA@^92G=(SZB.T))G/:14M3I?6\.ZO=&L3LJXOK1M0[Y M0WW%[G+TX25,:+ EPS1Y2=_P3BYIR"PJ-5*6$OSA].WIF7?LE;V0+Z0C MC_7D_<^FK_]U-=E'\/;GL![\]U4*&9)Z:L"(\'W#\&5>0%C"9<47$.,!^X90K!K4_X\JU M2,QU)TY1%%>Z-Z\#RI/&0FC+,[9*D[B7V'=IL'P3*P5XDRB]BN 2QHP6J304 M;2RO R8R45#B1C[_/$O(ACY)MGJCK MI3,Q=U/Q5:<(+4JM+NABFM:*%XFU6KJQ$3!052WI52FT*KVO?K @2Q1>5[&3 MAC:D+1S86QCH8U544K(&V'EPQ_M.UD!\#6,_#J ?L15+DETP[L(!-\E0.NWH M=.?J;V)"'MED)7(9R9LXAM3";/E6U@+SVWFOTH)OX3 X?3V5DA3T((CC$ MTZU+EQU'KOC[(7OH\L&3(,B6640KMU2?-6B/-T_X PSBLB,J5HK7?!PRX7_L0L_LJTUFQU[UA3B!ST,UBZ7]IQM)I_QX; M@-:+*H;P*F.X'QXOF'2^/O>)C /PL @_4*92B0K"XWK-1TY9E#B])4H)1$4 M"S3Z"92=:U&V&2> MDZFTK4K,N7 B>FVMQK1B9$;UV([.EZA8?_PZ),X"#Q?H6 M/(-(;[*5-G;F$'H/BM/HLA:.##+ME)8KOAX!-I-J*!XG@*\I(_V* YQ\$&=.8#==LKDD^64 M4*0SH0C8C2E/IE\R*3@QDSV &"+\#:6*)# 'SH%92ZY%]5/P#?S=6$%XAEP$ M/TMFMC'Y>^!BOZ0GL)5[LHV8I'E)S:M8]("H40\.>&\&,C8BS55/>\_V1Z):&VTM MT^4-T0Q@HEOYOAU3[:5N: B@"NS O8:6HJA2X4JLX!KBA% XOH":1HV>*L,&["! M/#J2EP_E;<#0V[;-W\I#Q^(P=T(((B522R%*A6# M5(.EV^5[\(RB9^(2UN??0SI5,JB<.*UH0GFS-E%S76A28$S?)>N M!SQ -]8"D>J(N#ZH/THV]2"CZG\-OY^_%WG_ MC4:=(XS1"_7[_17Y)5T;)/[%73BP]>F8^1?3-G2-D5AAX(?3N!I!.-.R*5GS,84G>-VZM7W)Z'))E)R37&8'V<8^OO;C,,?7 M'#NTQG%GO\<$I7#KQ%XP1XK=2@) Z8ITZ&],V7X89!^@2:C-8UH/*0I^HZ6B M 4Z(>D*"J-&QK+/3YFVN:I]_\C:]NG\ JZPNRP@X7U]$?I+HO<7":3%\@.J" M.E KWRP4SX MP*Y!6_L1;IF"%<%N?8(&B'<\8DAV\W=D?B63#)EH8>I'=V3M,DR^[^N(Z2 M-*LO@'4CL:^E;[7M,9\:RT]I+)#^C >= QE^J2_5G,AKHVV4[-=^- M,3<_M,"9M/8OA74)GV%(MB])19D4I7[D31Q(46G+4DZ) M.Y&'"GK$19GB/*#/JIZ0S?+#PL>B;9A62P?F/!TU%$Q]8KK<$> C9@4PUPSA M1^S'B<\>-TJ*IV\WQ>\9YLD]@$F2@5!AB)U[=2!9J6VKG8EU1QL8">7.A;UO MY2\G6;H@"/Z;X,S2/Z)0O79K!\RZ)[VO[P(TR7=6WN%EA@GE>=4#6?DNC78. MK+;#RYA'N#O2K=$_"8CSC@EUSP#[Z(G#\'W0/* M29J^+R:C2GBJQ9RNUZ$#IU1&F^;U..*LHH23F.";4@VO3FDY5S07 7D7#IQ^ M&6$]D// 9LZP3&0F!,D+LO$GZ($X@""I?3%+)+YM)A(K WE^''JUWMGOU>_. M)QAO45)GD"RW* (>/KUU2Q1DSE[3NZ 3#C^IR -R)J4H9_0V<\4C8?1<8AT) MX>5I.:C]3*%89_C<[NO*M.BZW-+'Z9T?_.;/B0X\H"ACD_/#SQ$&F-E8( M^R8.)#?G#'NPG")4J5%YCHIJ)>_H0_A;GR[GH=O_6WC.K)=';GI^S:""U7 <*;^-9_23+(O0UE MVH,#04H]$;:B;NA[:V;X/"[\]._^,S@'("8_^A$,:6:LNQB%'3L0EAQ,ND*B MK9]+/J=Q$'I&A"SK;+Z?+F/XE"7$/R6$P&= 'P$WBS*\$QQ7/F9C>=7!R$^; M\;QB0(^.Z'ZDH7)^@\:+&GR<8$ROB[/(ROFZA+G+[_],7HAH- \^=^U_W+4Z M'UE>)FX'QIFH1N]"K2[H.T3;#2BW)J^D(@ZII2I+8PXSE!O;&ZZNUR+.@Q _ M1#B'SM#3_(6RJ^4J0FL DDN(04!ZH"M=DD6I3_"5Q'-,NW!@8S2D'90!(5/& M6*ZTEZ08!L0]87A_)Y))[A^^*RKM2=LXX+@/+6A-3EB.9^ 9PLO\K4*:XU+$ M,P30#CCJ8TE3R .[9(WFRTB'5GL?6@TPF#NG9ZLR/!.EJ 9PS M-5X'F7LDA-L7U"\P7=R#B%&7+.#J$5W%*7T41)3^-N[!?E9O(,AH"&PZF\$ 8&%91"FTY31Y2RTL[I_+2#O4GE47U!'X55Z<" * MW(/P*@2Y+CPR4E?;J_7A0."W#P%627)1A.7J*UI\;Q6GW_KHV-HIN?ZX(BBW MT=7GV;_B'*U9NCW6- E#F-.;IT'*:W-]:Z#.B XL) ,IZ9!<<^>:06/#!L>G/F(5#WS)I;V J2B;S.09S/P4W<8IAG," U7]@!/(O MIMC#Q8''+?I55,O\=&RN;<,#]K]-^.J>OJZ:*!]V&&@L!Q[T<&QQE_/+,>6[ MPS"0:LP&P(&W/084\X;(49:S-A3LSG#;?0H][;\YW/*(?7K5^M)?)_2,S":S MG6]D&'F\FG[.8#5J*NYTW#7.,FL=FW#:<*,ZH^:NI[!D7:]#C*J5XR8P>N73 M[T#%N!N<+Q@EO6?%9".-JG#[D8R0L>OWHW?3+$U2GQ5+R:?Z@;2.,\ZH.K*@*LK=50?;@SJJ-FB"'.ZN'.ZN'.ZN'>D0V[LL?ZA$=ZA'9 MKT?T1Z]78ZDPD28GW)X4#N?C#^?C#P>H'#U M1_!:GL'J/9&:W=B5>S'2S\% MUS[$TF?GW,'O<&Q_>![_$0SC&XJ?B<,$PF%2/N;C'RX$=.?A'TIQW9O,35#[ M?=]+L,Y>]_).Y87&FYA5XJ1?3!-/[PP23^6 'BQ'/"2>#HFG0^+ID'AR,/'T M?UD,*$OS@P:"8CM22 >BG8H4DPCSH=DI*G\CA70@QF+"3E?JV1S2=( MA.?*MO!P!NAP!LAM1?LC7'7>C[,\P]YT[KM"1%EB9#IC?[B)Z3Z!NT7N?8S? MW8&8@?BT/]JCJH/5[R"_NW,G0S'*:DH]7U[OP0IA5MH(/(,XHP&)JR>8AOXU MX6?^AGU&?IV2#3:CU_!BYP^"09MI*IYO-$;^C+(0VO(;6RI-JGKD M0AJLRN&&K+!XLX6\BN 2QHP6J304;2SNJ4QEHJ#$;M F]=/<7\H2XFPER59O M)#D$11L7<_UM5A--Z"_,^Y>GV,11 MMK$;[ = M^?8")>ET]@6A,"%+[0/ SS R0.*1-?*90W-Q2@CRQUIL7JG=QC-H.B5 MJ!J$"_'TEO*HT>&. (J8Q=4KC>0#T6K(@7/AEF%+87"H<5 D-W% 9MQ;<:EF M+J0+K_]T%4N5'G<$C6)JC;H<< =8;.M[S<4H_H4MEE?1/.WHI$#NXC!!*RB?>BP6+G$B/+[YX!, M7( E$$"2;A#+FY$]#TBJ*BHWZS$&=&"KTKNNC,&W%B=//IWDPH7YB8J?_A]0 M2P,$% @ ^#FG6&CQ7+8*5 BT<% !4 !P;71S+3(P,C0P,S,Q7VQA M8BYX;6SMO7N3W#B2)_C_F.UWP-6.64MF(954JNJ^JNGIM MV;*S-@:)R.0T@XPF&:F,_O0+!P@29! D^(13=68S7:$,P%_A_L/+X?CS_WC9 M!>29QHD?A?_^S?NW[[XA-'0CSP\?__V;0[I]\W]_\S_^\M_^Y<__UYLW_W%V M=TV\R#WL:)@2-Z9.2CWRQ4^?R$.TWSLA^87&L1\$Y"SVO4=*R/MW;__X]KNW M/Y W;_["29PY">L2A833^N[M>_G%>48M"G\B/WS[IV^_>_?=]^3]3Q]^^.G[ M'\CZ%]GL%R;8UF]I%_CAWW^"_]DP;N0E\7]*W">ZO?AV[R7M@7\ZXUL]@;^].;]=V\^O'_[DGC?$&;,,.&\ M#9C(YDS"4NLO'V3;]]_^QR_7]USX-WZ8I$[H%KU.N&3]WO_XXX_?\F_SIHR] ME^9M56E^^%9\^/Z7'/?WW;Q)_MP^ *__;4TRW]:H% MJI4VE67M*<*(DBA[S7[5-*$OJ0T]*@G=0%.#92Y M(-S=@3"0CMP2O0#B/HI/39/(8$BH^_8Q>O[6HSX@R@?X\ 8^<*NP?_SM/&(8 MN=XD:>RXJ:3$Q?_W;^J^[V8-$!IHK>.RY$[L2E[L8XL=LA;?NA%#B7WZ)LA^ M&-Y]&T>[>DD%NZCFR[\%F^X_K%2EI$=,D^@0N[33+ZJ*K[-T+B)K 0,6#=]\ MON\@\U\X-2+)_5EP[>U'6R?9<"Z'Y,VCX^R%,]$@3>1?"J_*_O"W^Y2A 8RH M#\ZFB-],86TCG/[5K!,X67T+?)[6(F=?=\O)D=\XP?_/JL=Z);K??EK1;@@:>RCN"%0)1PJH-=L7T0O0( MJGZ'SZFT$O9U)4F, +7Y/.C_/3AQ2N/@>$?W45PW(=.WQ.]7&NVJ+E9IAMO; M=,(.=KR<,!&4YW/"6QK[D7<9>A<,3AM4K[;#[X"UFE7=K]0(M_/5BSK8]019 MPN@2(#SC !H[8>+#7E8K_M4TQ>]_.OU.!ME*.]Q>J)5V^.";4YX-!"_#U$^/ M'_V ?CKL-C2NT;NF"5[7T^DC7:[Z/4Y7TTK9U\4$00(4B2 YEVO=T4-Z6T&5 -FY7.XJ=*.8P2<_)>*+Y//H M$*;Q\3SR]![8U@N[0QII7?;/QBZ8W=5,\('>6V*R(IP-B6*2L2+ :RZ7?G!> MKCPV1?"WOCC\;!FM]>VQNW&+IF4'UC3&[+IM(@]T6D:>E.G//-ZO/8\9+K;\+9\#/C>\X^WL0/ MT9>PS0JEE@OQR%/M:OVQ:+8 ;ZP1=BQ?!-(PG@/QF?V0SR5NXMLX>O9#5S\G MU39?B$=J]*QURTK;!?BF3N*Q'#2?<4H.,WOI;92D3O"__7WCNDG3>"$>6JMC MK7^66B[ .^OE'G1YZVI7R'T\-J)>R= MM,4]BE&;R84@<3BX?8I"_5YW31.\KJ331[I3]7N<+J65LJ];<8*$4YQM[7M/ MW4/,W/G]=YL'/SW)_],TP>M:.GVD:U6_Q^E:6BG[NA:G0J(M>?_=J\UK(NE/ M[U\/L0-7.>Z/NTU4IVGU>[R>5:N)=*O2ESA]JE[$W@XEJ!%!;CZKU:KL;*4F MF)VM7M"!SL:)$DEU+F>[W-'XD0WZ/\?1E_3I/-KMG5"/<+K6V)VO4R,S0(/=$I)G CJ)",_&Q0^T2!H<\I*(^R^6*=3!0>5%I@]KU;.H2@(-.=V M,\9N!QF-D?OW^R>'&>KFD$*]$-@DTJ_*FCMA=T,3G2L+YX8>F-W42.ZABVC. M@W F*R+8$(7/;)[,%D6Q$UR%'GWY7U2/F:?MT/MKO685%RTW0NV5&E&'.J(@ M2SA=P@C/D",@UN(?_<1U@O^D3JR_U-G0%*__M>F7YQ%HVN'TPE9I>^<79/N) M@C(!TA8N>19Z?61_J5M&ZUOB=<46[:HW/"O-<#IBF["#[W>JCLA)S^V%XJ:S MF1^6VR[%$VLTK/=%I>$2O+%.W+'\,;O_/I-'KAEKCRL6.'5KFNKW>#VO5A/I M;:4O<7I8O8A]O2JG1H"F+??2O+:/5 MT ^?!_>2OG]]0;:*":'H+?N41('O\3*W9TX M5QAKXBF@[&SC\^ODX1Q;O'N MDT:X_;A>)]5CRRWP^J9&SMX0R\F1WR3!:JVW4?1)U8*VLREE+W:R5:)1")VV M74(D:30\#:A*0^QQI1-WF">N\CPD%'$VMI)2.8=3_\E&W)T[R=,Z]. _E_\X M^,].P 1*UNFY$\='/WS\U0D.U3V[KGUQQV4G"ZAQ:M01;]QV$[^WBS/RQ G9 M7 T^*(Q6Q$F)Y$4X,RN1/;,97/A "T96QEK7A;(IR1UU*9-C$]!/-*W/L#3L M@CO"3?0M#< -[?'&LY'4O8?CC#@IJ*\(H[_2Y%R.$[M1Z@2-H_(L*L>*RB&= M1--G&F^BEAD( EUG0:>K\)FI%,5'II_&%I4FN-&G3A\5;=3O\:)+K91]W2TG MQC'$RK _B3X^32:#B%8PG.87LH$ MS'=.[YW^;*';3XV.;M)GVA<6H)I; M$S=>=-!>A1&#;GC1I8OP?5TZXT$R)GPVSMF0REZ#%3R:TP)4,$FX"2)N K>T M$V%] ]!D%P9](+>&[$*"/OSO M\!<&#-&>QNGQEDF7,ER 38H]'+$!1K!O'+B<>4V9)'?^XU-ZL_W,X(/+<#I_ M'H4@SJ ;SU80H<.IV0UG^:(H+SHZNA.,D)X JTVHW;'/Y%B1/4C"1R0J91'C MDY2&!" .B4$>Z'J ,5P_XG:Z+%DM%X)P*HL C_HZU>>:I#-,MZ1IV?1"8*O.M MW$(KC7GT4?HFVKXIHI2;$5S0<1DX'0*>M.'1?4Q=7Q1'9M_]ZY_>K=Y]^)'3 M_-<__G'U_8<_$F;:/>6WO ,KR]$KAJ/AH[\)"N->OKC! 6YP_!Q%WA<_T*_) MC;KB'%+[Z%_>V&KOAW?6VTGZ_MLLDHD*RN15SHE(5J\M[9+-:X0&I'!V4(?D MGP52_/#=ZD\?W@ND^.']ZD]__& =*5K08#$1WQ35^"-W-,>4A&RXDK+]\XG] M8(W;(KJVN)VL44/5XVH;XG6_9G'[^F)YI[(@;&58F%)%VSN0C5M&Z(.JK,/I M9B/>L*G(-VH&ZYR[BB,M4>V%P;7O;/S 3WV:L'4FO[L.:SZ&";#^3(\MR;D= MNN,.I:YV4(/-M"_><.RL0>\*T06C?!\K/=K.][6F?J*P^@/QZ-9W?2MI.(I@ M9EGYC1T6$^H&^?GZUHL(Y[&3V!72:-+U)U17:A@4+*PD[LN4O5OG".EZ9NF[ M)XUQQV6SCG4IN^66>..Q1=[!>9P97;LY+5,KN1=T+45??*#>*<[H3:%MCSX& MFS6MA&%]8]21V"+R #\%RJ1N@+05CQ.K*C/+;-T&F$B];$G>K.0\U_6BD$]C M_NJG3^<'MEC8T5@J?&R&(,.NN-&HB_ZENWH&_?!B5"?I!Y15X$S(%Q]*NF9L M5CE\'>V"URPVN*!;RBAY)*;/-#R()&$WXP;)"E#+PO:N7'.8+W"*83:W6-*D M8H(Q:+991-LP.]GXZIZNK*U4+H*W>=@T(@H?'VB\NZ ;;:&BVI:X8ZU!NU(9 MHM-F>*.M2=B^+IG1)$#T#1N<=@3(3GWR:G /= IE"R4]1LY&T,F!]RITV5#[ MX+PH**._!]K>"W1*'JIQ1\I*N ^[P;=?U)(VIMC7>H#60>5BV3SE0$60U3:ELD ^SEJ>X MBI+MDWST85BCC6;=B#?0ZH0<8:5H>X$XTLK0'3W -W.!EH6]Y9U3;'&VXF0O??1\UIB\)G*O5)KBD:[)W.IZZK4B>O/D4I M)>^_JUY?F:N.B)@5\_RMIDJ&]2UQQVF#=I6Z(-5F>..R2=@!52^RM5'V#A,G MNR)727*@GJ5=G"D4O:=0@(BL247C?R/_^N[MNW?OR=Z)R3.P>O/^W;O5NW?O M2"*>I'(.Z5,4^_^DWK^1_(\^MX^XW5D\6055&W]A7OI$/KQ?$2A7P%M<4)?N M-FR.F_WU@YV:\QUSE1>EY)LLXSC=9K&_N:00DH122-R MZV#(9)S-"EFJL9TBQ,5;?(WUAD^;X0Y2G5[5^;/:!F] :B4=,G4LGD?$,"Q/ MI6+2/ [KQN+W[U.[UV%Y\[>9PM^Y6?0_%!&'7&#@[GNI0S+UEYX :2#[+T3$7,6!'@0/R09 MEU7I-59;17RGMT!&,AO/V3+<2F#?T=3Q0^I=.G'($"E9%Y4<+L1$0V,AHXZX M ]M<=S6PVWOA#>P.LO=U:\F"2![DE<*%9&SL5$F907U55YJQP;'$-EZWH(]; MO6[-2VF\<=D@ZPQ+YREB<<^?Q[P,O6YKYA'>T>83ZXUX8VXZS>Y3)TYGUNV, M/OIA.+%ZK:>&$R@F#@\QWJBNO5/>?IRJZX8;5TWU[E) 2_F&DL^;L$$VR?] MT^AZ%7G MI@JOHU1\GK?:,T)3EY:^A4@K,DYMZ%'-^Z,P;T@?0=ZZ\02IE:]IDNA]&4RI M%B6U42$:G\W6/!YN&W7> MWIT*WIG\ %WZ1H]@^8;S)#7%H=7H6D^,/:W;GA;L&S>0=+2"BAZ&7?%"1E<%>J^+)9]L M];^"+5<2Q40P$[D4A+$CG)\5>)C+%D6VHTB*6!7Y%>25'Q(O"@(G3@B;]X@6 M5G*1*];@JB?K/-?#S(8UO1:%!3JM&S"@VF4QL:\5?+R8%RQ(P0-#G(^N]VE\ M%RE2,@\*XEQ\Q!/<(I&MB]'R'@L,ZK*VK0$MFB\LF"M"CQ[(TZ4^]@OBD?0] M#> L;1%Q\-X4V91=+%;NML PKM&[-9:5/@L+Z#K)1X]JA0F>T!Y3\]/X5G.1 M<02YDF'9<5ENUA-WJ'?07G,U87E+\2["CW.! =\2?$8;8%Y[*V8P7'M("\NZ M2)WR F'W,!U7493+YQ.=VY?.+5T6%J@M2^:F]@L*V3$7C/5Q._$ZV>CFP*1J ME^\0-,3MB/JVWB>85..3FP53*]T=H2?P:[R[(*+Z*%\%[MH?=-.WQHW0+5J6 MGZBO;8H7E]L$[N^ZH0>/FO!R94D4^![?Q,@9)9 ?FJ4.L@998;/=/J9/K)O_ M3(F0;#2O3N)4\6CVK\*;V3_^=AM'WL%-;^)[&C_[+EV_^-4T^X9F./VW32]P M7%T;?![;*FG_[69.E+M@1I?\!I2K!7JF=CY^YT4(D%Q$.\>O9HNVM47OAGH- M*[YXVA"U0S:(.ZI7"MI]_%)S-4G*_PLOY%)1L+X%3B=KT":_T5/^&OEU'(VP M_W9SB;>2_ C*R<)#=>7,A@UL?%20O$<5&O31X7Y:^1 MQX5&V+'C(LG8S!L7(RLGR=DIV,.MF;2L"6N:X0RD-KW*I7?*;?#-75HE[1]/ M@J#M,I>C*_:)IB1Q DN/6+&QQ@7PANR[#_\QZ2I*];[*/!:AFFCCKA!PESW\FE;6R^\$-!!]O[;O F_Z<^9J'L5"0$^MFO:XP7+]I%[NNC1&WM$_ZN=@-/YCBF8'IM904_ MOF)B&R]J4V]>Y!"W&J^CI!4[2BT7@AZGVM7B1]%L 0A2(^SP4!-$R2L@.\W% M=>-X&U&_3"N>_AGE=WLM/8T\H8*O OC96O2H4D_W)AC MK+F*0*V=\.*1N>B],Y,5#CE 94Q>3[R]:!#/TQO@)GVBL9PFK$A(TSX;C9H; MA67QV3R/)FE)C4^T&JQ=^N$,ULZ:YW<233HAOZG8287>D]PG"HX*2^/LK;PP M"M\4<>QGC-D'$="9>[^>]V+C++:H %BF>(9D&1_"&$WX&-V#;OTVGQ4D80Y@ MLZY1<>@XSWH.A@KMB*2;D;9UP@GBW70N+?@:>^"=:QG*/6R>T3C=LK.W-(?: ME7%HFM6OR?)P#F75N>1X4TF^L:6?#H>>A$?V\8)NTGI4&D@*)U:-89]\#MJ3 M#O)IZ5"MAE?:6#$0("P^B//X&/-YTXJD8K.V#B)>0WMYNV=S2-D,-R6!O_.A MH%P:_23;1W'11>S-.*'K0[WX(^N6^"%-DCYYUOV_J1Q9Y[W= F MY]^,83$WAW\ ^TES&G0[H0@,%8TQ2@R>S!8;I/(FO!\>F"F*\HQG=!O%5+1[ M<%YH=29!00NG1C>RDCDTWQG3N*[&KUU;7�J.&*CC4-L0[ MVV@6MZ\W2JK%(Y(KPBE;BK5IM.14")6ZYB]%_H3H ,P8S6@CB=*Q-,WH((_4OU+_\8F)N6:6JE1Y?++; M/M'T9OO@O-SRUU_9WV/*M+R@XK]ME8G&((P;H,>SW4GB[""J>&%\1-V&)6?6 M/3>:'/?H,7R%7^ M?R 7=.N[=HI^YF()*P ,1"%(6?,0N6F?A7A_D\:U7E_780'>WBAV[_,B3I04 M5,=^NKS+J699P=HGS-O:XO;91@U+YYEU#?'Z:+.X8_GFD/?+QU@Z[**0XWWM MH\Y-[7 [I5:SRN*@W BO,^I%'; 0@)TW3M*&[ZT]SX=\>">X=7RV3#]W]CZ; MBC?Z85L?W#YII+'JGXT=\/JJF=B]_590(QZ?E]+0/=IY>SAEH$T]F0C2Z+;: MQKC]M5G'\B/!=2WQ>FB+O'U=<^VZA]TANR*;D;:S;F*8?I4D!^I='&(FA=@* M_=4)#E0F%5(/IB!L+=A4<+D7(=Q.W=\VY6575RIX@V& +KU+F0-+(G@2P90( MKBO"^:[$:?(;:.X1E7>^2?DQBK?43P^QI:*S-LPF3DE]8;=#Z$$6((B1V5J>>$%T-LU[KXX* >$\N1"1@(Q0_BB3L@EX_0I/(- Z9/JF?EPSE6X:^8PIX,;)'M8XF0J:=<>+7GV4 M&#;U4YCQ F<9N]KEJ,VB$W-:IF##31)S/H!I,-DMI>KB10TQ/QUDS)S$UX ; M97MT!P[1?^G(4=%B%NBXKXL4A-@QDFW,P6/RZP^H[)(MF..*T\29TRSAG@.\ M,!>%:D;H0R3R0<>X[&!$'3<4CVS%SM<>VDGC!?"Q%9SE L2*9")I\J07<4%B M!J,J.7AB%,!Q9T+)MCUWDJ>/0?2E[47YEBZX\]0[.WYFXEZ%^:-OZ[P,=]M+:'T(X8Z _K:IU-/K2 5O MM S094CI-QXBDBG9',DKX,L&@]VVH!S9%O;N^RFG1F!? M!C2\_O=#!,<_\% '+=7>?(C&&=]G8(L;#N:RN^9H>A*>>*%K-LU'.)H6KPG M'(7+"(_PD%Q,HB G^_O)5*9N F.IL-:2; ZVC',;ASDBP]_A7_SGV"MVCFIF M2%;V$2[@_29X $F?Q%AI@AL7Z_11,4S]'B_>U$K9NW210LS*9&^A0R,.N M6\& " ZVQMP9U;88N]UR^!>:IF^>B;^T9/L)T\)K4C;MG.]/>&>@+LT=S4#Z M43ZY>1XE:0+/,_J)&QU"PR&UL3ON@.UJ!_TPJ^^+-Z@[:S#6T)NS(IP7SVS) MN=E)Q+9E"OY"+ER+80RAL*DT!_^[E[&U 1$_.WZ8P"*?)C?AY0NLFP]^\B0. M2N']5HTE3?KA!@5CS54T:.V$%P;,1>_K])R#.#6@R6O"/+_,!@(!&$V8]=@4 M_-,; (B#VCRJ:8F#I4DA7LM/<\Y@C5QMVV_G\O2^FMUYF?:49R5I MS-6E/^[P[VR)D]Q:D\YX8:"["L/R8^N.N%9%WEN1#V K'L)\K MG=TU;_&1E.^RT) M$QJD'QD-)"=2L+*T'S"+%7)UXYPFHHG!5?C,YCM1['?8!RCW65IXUVC<'-=* MAR4%=)W8(T>RP@)-!(^KMDX_2]%Z&].]XWMRH^%2'"RN0X^O-QJS8WH36UI\ M=[%1<^";4%H2(G329V2HR'B3C"F?^HHM@PERA@PPR' 9'O__1?Y(VN=[_$CFL_+U<:M<^RUH9R(Y/N5 MRG==C->-[ *QH(?=6J&B \V%(4D?S<8'&I""**R454)QA*!\CP>+YK2?-%3- MXB'0VL8$P/:[- %4^O[=AP_O.3+!7VH4/H>;WHZ;_M5/G\X/2X#3\KH+'F,HU3= 'IYX]:@,9+P<9#Q1 M@)%%"I3;@_1<]J^]*!#- C^[NQ@%@!IBJ^L*$TF1[**0'LD3#;@D M^9^=;%:R GVR"@P)=9D>Z9%X3(?$AR_=*.!\G(!+Y@H[@FS; SP_0)C-PP0N MPT8AI\40@K7-= -!0"S(28;/3LCXBJ+3/'@=%A'QWB M9K\IM'0>8\HS*)BVKM"VXR^Q8K@F587O]UG!B=3Y.PT%2Y%>M9*_F02](Z.U M#:B;"BME/\J1IO*'H3%39"?N")=9,X&A/^CYYSO%J%8W(; 9HOD<0/(E5R&1G FP)I)W/N ?2<9]UF'?II7RA,*8/M/P M('9-XC6L#R)*3,"0[KT>,L42]>A!X^G[QNN-70B@!L^NMNB5-#0N#=>N.BA M0^_3>KD' .]2"69$\ +)$Q@48N;;^OX^<#&MWNV<$&I&.+FW8>93&MQ?%(WE9E_&V5:)7$O<0;/ MY]"B4G];]%O*X)V3]-!AQJ4+IGV0*4S"S7$0%E"P'>4>2%YX9N@>2#.A10*& M@6T,@*.!RN( Q$27B8"DJ."$?@]D2BL59K +)W?Y@?3-]IZ&?A0W5&C2-L8- M"\TZJJ%?WQ)O>+?(.V!A(W*6E3-U/46KM M&1274B_YR'SXV@\IT_D\IIZOW81L:(\[+ELUK;R94M\8;W2VB]S?"YMUV?7Y(X^1\&SG16ZJJ?<&OT8Q7S'H&;&8& M,RK+B>4. M5M%%N &)9<1]%T7&B8]7^>G"-HI?9]G.=;-N6T\IS6H;:QMY0AEZ#6<4^41# M:JPQ3EL?W!!@I+$:\(T=\(:WF=C#%H:4(]$F\!_Y&<[5G,$&$85#[BSF0U_7YX7:&\Y-6WLB#N@S76ORP70]\(;VAUD M'^SI<*Q=,.'3=\Z&<#Z6HGP& V1:)D ,,N8S)A[NS?3!.X?HH[V[+?IMFN.- M_AXZS+A)CNFT;0J3E$[;MDBVQR^W6^JF-]O+%Y>77;QC 'H3@JCP_Y#X].P$ ME-=W2]+8=QF\PA?KT"O_06F9/WU[X2?[*'&"G^/HL)=/182I'QZHEZ5ULTF/ MYH=!(1AN0$-AHA.@M"\57@!&9)N^*"94@-F<5(* %K"N 5OR0<22'89,>T<9%83HI*88 MBCIBE$5Y+864[2=N*)> =W2!*^#U4*->47^OS"\YV*GLR>S%@O'5\CTU--28[ M;84[T#5:E3.\[S1.'8:G&HX:7K7['(.(0> M]4K5W+)J>BS8?B*2MZ52NK+2-ZBNM4ZU%?: J]6J4K=6;8(YX.H%'5B/G1/D M06>K..RH6G6+MZ(B/>]C.]TZ-\8=%]TDM[JF"^Z0--%7ES5=;8\W6(VD'B%YQ6O8 M>LTK8FIL/(PB;F08P5JENX[]R>'%E3&4ZGUK$GB_B;9O&'?Q"!61_.'$(#]Y M@<1/I?H\/U'(I; RR4!AM0,\XB6>L8T4LU'5;"&#+1*7EZS.PGDA3<'*-0[J/*7< Z2.4F NW+3 M+"'I$SRE$]/L$1PQ7%=#;]YRG19LE;,DG*=R&3$ADBN\HB*?!Y.,YR_S:=4X MI^[3Y#4V)G'92,)FDK=1X+OMI?\:.^ $67-=U:F9OC7>R9B!S'V=^NR00&&> MA-P\PVM6] N?,-P?=CLG/O)27_YCZ&]]ETTK2"$'D8+8<.Z;^-$)_7_R0>:< MK9N8*![_QYF3^,G-]E:48!9_RO2[H(D;^WN>%A)ZIP9]H"_I6:"_NS\U3]PA M-HO%U2B=E"'>0)]'[=Z%E8,#SKKG[%IF)>:]<>-G1RN4ZX\:=<6+:5T5&'(=Y]X) M3E=I&/R\;7K1H?NB/;UQT#?MNUA?'V\HR!B)=);\3=,OI3=-K8^FLUDC#WT[ MD2_?X&U;8]>WQ![/6NW*H7O2#'.4ZH4=O'5?$+?AC->1$R:\3O5#['B434AY MM4M%XXO\^D+;F-27%FZ''F0AU>5[$<(;%,/4Z1LVG.M*5%9?$QIO:+YH[X0U<<]%[7_01^4\YX97(2.7)3U=*\I.89592[D\37G'%@_D@UI'$ M0J/$<)#KTG^!L3/%B%!Y>KS\\OB< Z/9*T,S&N8KP)>/CA__Z@0'6ABH;>NR MI0MN_##1M_0(24-[O/A@)'7O)T@8<<*IPSES=DW!"/!Z**^ZLT+>_RIM-:TQ!?"LN.R0B>R8^.$';:-3< W< M&VA;>3I'UQQO\)H(/6 7O)1Z;B7;0V[%9XI*/:DGKQ+Z70[:^E/#[>H#K523 MM=V5%-X0&:K0X$.D6^6*F8PIA3>JS4^+QFJZYC(+U,"SUL8G;=K&N(&B64<5 M!^I;X@WS%GG['YN'CV\>:+SC3[!;&0++FK4-:@)= M5,/'5(J6H]!J" M0&Z5N*^?2L)0Q%K4*L+@I&TC5%/[9;EIXPBD;;P<1QT/47-/O96>:G\\F4%; MJW%Y'NUV?LH3&M:A=\[?@'ZDH5LZ)FH94;K2P!V_O2Q2JFC:A0#>..^G1N_: MI@4W?LY:XH'",-U8T1@>J]11!$O[(RD MUZ MCS=G0)NH[%$'VIEJBM;DB\%4OY)0:[9:KUBK)_D5!%N+8KV30XIA/=J6 MXHUD(A NPTJL'M_PF"=2#OM3 =OVPX16]_01M+NC^RB&"4K;V^/ZYKCQI4W/ MTNF+IBU>1&B5N+>K"L(DIXS!1SL<)QKU7);GFAXAMG=;CC]/> .]H_R]JV[+PN8%HY4HJ7TD MOV7_M1WQMBBQ1(<+LYL'"L-6GOXH<;6TI>T\/L94O'%[L\V*PC_ 15Z# MC6NCOK@QHY,%*IO0[1WQHD,W\0=L*"M<8."4;R/\QCE91X%YS'#O/E'O$/"9 M@W=BDI"F)($'$LCF2';.?T4Q$9I:V9++1,W7*Z*4-B^JO0Z]_ WLHLQUZU;= M((JXT6,$:Y6V]OJ3PXLT8R@U1N!)[GE!>RX!S^$H7G8OA,""4%C,Y\C:)+'5 M O>%.?*BR^?PV'>8&DU:.G1?"O*8V:$>9IK[+@%3##48(P)R5BN2,<.'$3.: MPT=:E[QW]>7E!+^Y[D:5EA<0\!UDGZ:J,I)(G\$.:HSO14%E6A14#O*"RGZU MH'*4%U3FC4C,"RJGT9L#^X=COZ#RV?',8?JX]/Z)TO3G.#KLF;#&%6G;N^,& MC:YVJ*U3V](7+X!TUF!X'=<5K.WNEI858I;YAQ[6' 0'<6-+=%MIMCL;> M>/&DAPXC;6)4BX%:JK%CR0!.9@!JL>IGH3J4EE,*=)LC0$/'I41^F^[U$:_K MM81(;Y5]# ?G=0M36;=0+?^.9=(PLT&"W"">I4*.A<*7VRV;F/C/-*\P=N>D M](Y"X##LXT<"O4@N!2/ZVZL>/;K36P*N#-!JC #+V1.EH!](0,HBX,,? MRX:CN>%\8;B4&2X&P\4E$2QC5J6>".2)NNO0N_"#0TJ]KG#5D=IBD*J/E30@ MU874(O"IET*C0--)?9X5X=SYGD'&'R$NS6HPN&EX2/-TDDUN'R^S#U7K_B0] MZ_[L=VD",//]NP\?WG.H@;_\K0RV>0(-;$UO_-1S/K)XRZZC) _1>10F4>![ M3AOPC$T;)PQ-8D$ I5$)VX4H+W+YZH(K,:67#(Y#1NX0.#%D>"FWJ)T@((G_ M&/I;WX5CI7QJ$#X2/Z6[A$T>2/I4G3- US1*G8#]G>N3$/ 9]B^XTL7Q+LF4 M@GU2(, ^^^GQ#PEQ%1WS[O]&]L$AT7"Z/+MZN%CWY" Z5]^YF&Q\PO6C5Z;( M-T6&XQK.#[DP!*0A4ASR$!%5(-O#%RY[JJ-_YKKB)%9X*$0%OMNL&'JIOA<\O#63MO[FBD"6<+OD-*%MTPXMHY_C5 MM7!+TR6Y8ED_O3.*=DMQQXJTHSJDH#V>2W88X?-9D9P'_4)W&QIK1@Y]:YP. M:JBE.J1KFN)S4U.!^WIJ,?F_M[@ROPKY1)\+*Z0H3:.:NN#7+7K-.HID(CUNEILYC#7:W_9%1S MQOSY_H)N?+CN=!Y3ST]KQ^[FEC@]RD"[_#2WOAGRL]D6H?MO-.]%C3LX/-U& M\4XLAN!F'/,\F'&F$?G\]OXMX>S%.PU<@'E/*2=2OZK4F)%V&].]XWN<15.< MU;9#'65ZS908.VV$/L(:1)X^OC+F(L[F#JX)-"_I@^C Y)K-#?E>3[<=>;4; MSN#LJK?!X4G>!^_4RUCR"0Y1@(G8-T15F"H%$Y*B"M8SCMB3J4WIZN4 MSDID?9SY\]BF51%)#:S/X<8/ NJU I!1!YPP9*YKJ0BWMC7>N8"!S+V+56>D MU=A<60G..95%$J6R7%^AZL]QE+1$:FLGW-%JIK,:L,7L@F;XGQ2"GK8VW\E5HN( #KY1TA B5APBDC"<%QM^#V<@-M5>]N:([7JTV$[NO-.6WN MQ_F35^,E#=<*_SGT:/Q1OHAS#0]GU5=0Z$D"I\\.L4>>?-RQ/_*DY+[:3'K' M9UR M$SG,=2V]7Z=MC7>L,Y"Y]T:Q)+UB?BLH25QYLU#1K_!;GPMGYB\4EZ8 M;/3CYAZX'=E 6]63&YKC=643H?LG@3DU#Y+:\%NHS)7&!Y=7_ K9XNB1V;'9 M<5NZX/9<$WU5UVUJC]=WC:0>4LQ-$H-V9O^L,UQJ+=YWGG?E/K751N$Y] MR#K:6G[(6KNE=]V2S&G4$6=,=]?=: ?W&G_R9P?9)SJBN[:<(#J'!<3[]H72 M8()B1GDU;$:I&9*U>K'/.?1P(:KXQG.6ZA!Q.$FV:?IE0LPZXX(;V/_J6M7(-^>&=UG:3OO;W+F/"\2KHBFR/)&!'.B4A6-E.P M%"O\PN+R$(L*N$[B-Q4T;N^U&(]OTEKC['5=%N'GC8+W/HPKB/('86U6.+Z- M8IB,K=-:GATZ8\W/GIIT3= )#-8'1418GG: MDW_\GSY;$,7NT_&:/C,W-)K]-'?&'0#=;*"9"S7TQ.OT'>4?/ODG.76^ OZT M_M7B)"E761F9DE,[-.:B=Z6QD$CH8I':@# AL("XZ*3&-.%A,5D]U_@JW!_2 MA /"=\W9>XT]%N+\>FUK7?VT^0(7=!-VG)A M3M,4MVLVZ5?*Q*MIA]<9&Z7M[86,Z!N@"N\EV+_E5M6Q<3*A;;PL[]1/#^I; M+L=#1QKPZWW4XD!_3T,_BC]%:4MR?ET[W+ZIU:S\.%JE$5Z/U(O:UQD%1<)) MVMV!J#E\RJ_-Y&\2GCM[_N3E=4N"V0AD<7OV6':KW\_H1Q-OW(RFV1@'H/6G MG[P>E)"#Y((0*4E3[ML\,QG?V?B!G_JT6 D7&Z/K39+&CJLK.6W<&7?,=;-! M:>9CU!-O_'24O_?,J&"S4L^."E9L+I\QLY,!.K\A?K+RYAN;F%[QBR "#N/X MR"!*)-)I+-/2!7=DF^A;>N>MH3W>*#:2>JQ5S?RI?C.KZ3$VEJHU3JJA))>] M%F8??G*@-;*&VGI)H'.BI1YO\J9+@9I3@?LZ)] E!6'-+ $![(RGCL9"&T$P<0C-Y5M ,THC) M%S]]\D,2L67SD3HQ813@#TL^)D9 M4SX*.O^-#=1FL?1V'PAX%H4'+2:WM<4)OD8:5A[H.VV(=RK4+.Y0A\W(VGU# MGKW \,I%RYK[[)SO^=!! + M\$O^)>$9 5YV-4ABF5O(2-Q,2/:!22GW.E96<6XF&TJ 4-@1R8]PAB3C:!T: M9[+(>:MCV'EQB]F()FDCL+8VQ@FB9CJ67]FJ:XEW.=0B;__WI@19&:)V5T$3 M*2D1RL_(CSZ'R6O5\ +,67EO7KV_C+E,9VVL MS&:*@Q?88Z\4J<^WV*U,9&8SH 2*HF86XTAREED%K8RI]=G,;&:1S]$WNTA0 MY,:-#K#W3TY,[^B>V?'),3K[UO? #Y\MVE;14M-\&>#8)OR$Y]8)L"9QP7NA M9]23F3!#0TZ?* RL(]_4&I]XAHWUV@WSN#B32,D[;EZWM7;"B7[==%;7<AK;=*. M.UQ[6*-\A].X.]ZP[J-$_TN,(1^B!#Q4B(T]RH\I/T5A=I[\B>JO>[;WPPT'QIJ7Q_&6 M3GA#WUST_F.[X)#M9%-Q*K\B!1?VF8Z[(OQ1*![21\C5;Q[FI];_<^CLH/8Q MG,=[TA;%]C4_F;=5A>HAJV.D@\!R$]R16Z=/MK@\L4- M#AY O#S!_,5)#W'=$>5,$]JI]?:XWB'E!U\9>;+3*6UARZFA!&AM0]P1JM=- MO\>$N_AG@ZRC[2Q9J_I95NZ3LVNN^]G0?$EN>:JGWCF+MDMQT1J)1ZMA ;2' M% #5Y+2(THYW]#D*GMG@5-[?T#^V;=8-IV=VU3M/<3'H@SS/I8L& XN%.G', M^HL"A7Y(OCSY[A.;JSO\M7B74B\A+OL'I*3[X2$Z),&1;"B)-BES<)X4$P31 M%_YP-]T[Q^S=P\TAYF47U<:XU@5*3/O@Q)%.&JO#'&($:1KKIO7@]=DU$1SL M9$W\ZL0^'(7SO7S]PJ"F&6[OU.FE.F2U#5X?U$K:U^TD07'48F\YH"K6N!"H M;;@<%]1/_D];+<,-1YKP5QQQ@HF^>V"X?#7--$WZ8;3_[KJ MK4ST6_N@G^B;:S!2?86,)4OT.9R36:@#A5OH"'][7B]<[8(#2V',,$[^IA??3;Y'[SBE8 M5[Y"[#]C0:[PH+&? 6KQH5_\$#9/M%Y4_1ZO']5J(CVI]"5.7ZH7L:\W9=1F M%8;?*V;-OTJ-F M*=>1!$ZG'&*/MO1E77]\KCU(B]$3F#..)&=))$\T^G*?76KAO%'EL1?Z2094)KGZ+IVA=GP/>R0+Z_8=H1^29'9S5& MVNF0AXF'@C%4+A&Z-V*2R7.H]D-X18".*&RORWTJ4E-O?'.BWKH,%KZ4NE*TTH\7NF1 M@B."UW@F-4BN?XSC2M>E$P?'.YE9<[,5"20-ES\:.^"._'9=U4C7M\8;V08R M]Z[8#J1)3AN6.EFRT6272-K"=D)M;V-545L72LJX=.8D?G+/9J".=Q.J)\_O MC6"ML3ONP.UJ!_V K>^+-Z@[:S#:8,UY$<&,L(EL*3X=+VXJ]:C7+"&:$Z20^EV M]<@WJKL43IE,39_X4DVX-HWE .(S/#KER;W4<[XQP%_[I+1UO3V$'NY0'FRI MMG,*(V)XX6"X2J.?8 CV^;'%BA02$":"[=6[/8MEAG$+P'TD?G!>8%)V+*S9^^)@5:8Y"779[)P*X\::[+4J; ,:]\2)*#QUZ;Q)( M5D3P@E?L1"+S'87?BL4FY[22F&%GW\"&07QAD)09))YJ]=16=0.#XHN"Q^RK MLO.N-PE_/6>PD=NH?RW :F3%?JC;2/IK@&0S!6?#:_*;Y#U) EV@GC!'5>>X(E'%C0"DLEN:503^+*-N*G]^O0NV82!'D[VFW5:TQR^;C6 M9J^N@*:CMVPD:]5J>@CC(O 'K[@02GMX3 ,[=$UF0&&65%@!"LXM Z;.G^ Z MUU4HCTA8HW62T#3YU0D. NRA!@X<< RP>CS'E;MBF\=6"P;\OHH.CT* M"JF@JE1>3!K:"LE(+AK)9<,/C7,:NC"0(VDN!# _1:%'O0-KM@GDNY(#C*XA MMWP(;+)35ZRKH[5L4&O4:'KT*K&7[[?B1ZA)K,:4WCDA+Q$(K^DL&(;X*Y!G M#AP^1SOXBX#U*.EV7#"0T=<)7>VV'0/4]%R^/K@ST-4:$'+9WG#AR&V6B[TN MBHDN$RDG-/A%QHOGOY# W_EI]L PF^%!*=0D@4R5G&D99)U'BA9G^0N:^9_" M1_[B6O;K#_A]6L@N'T--[-85,9MH+AL?C32;'@W%([F*'.*]0_QP-ZG]A%7L M3POE:ZHWV_LTENWN0=ND#'05L6/AN9XH<%$Z-[[T[LM-9?.X>8YC?=.G![A!0%-!4%-,YQ>VJ:7+,14UP:?/[9*VM<) M5:+9ZQ'S5AZD>V:?)R;+^C&F?.Y>U;.VT''7OGB=M+,%\IJ&IAUQNG-W\4?T M\=$+)S_$OAO%MPZ\).&>.WNVO IN&<.039X^'D+OZEE?/;E#7YQNW,L">9TA MTX[(ZPQU5F.D.D-^N(WBG5BTL\DO/(P"ZX(T(D(BDHE$,IF(%(J\ K'(U:^O MR>?[%;F^G;<*T6SVZFH&&RL'/NW+)IG7\MEXS9Q4UQ8G-AAIJ*X3:AOB&\+, MQ.T]9/%E0+XP^ THBZ6^G?_8]&GH)7 *$W",F1\L-CI8NN*/0 M1-_2??F&]GACTDCJWCOIDKBXZHRE6/_YJN"?X8HJ@?I -!>"#YY<#"+EL'T)R[;YBGT%8XU[X0)9-D?4B?HMC_)U.75_O4U>8R[XT;=CI:H71<8-85+XQT56#0 MR$Q.O7Y%"EXV:NS.;0=99?=9XF(B<-$IK+"-H$97;BBV[*>E/^P9:P1@X5T< M8@:3MS3V(X^#I9EI:_LM"B#TFC= PVFGQ8!"@^ACP8%'! \BF*S$O $#$DR@ M_*^5V(\5,\!]J)BF?DP]Z^N6M?N/ PBR9LLZYY&7.V-FX!,BDUE5H/183A@1Q@\EP6[4O.4RHX06<$70: M?V&2LU>7*$I#=*N56>R53U[BW#QR"?/L^ &O-GRR9)&K&VOU9#[15*1]7D=) MLI:"/D3*)G2V;0SUF-V6?=C^U' #U4 KJ2C5DQ1>B!JJ4-]X8WQEOO4K8/V: MY,PA>T(]W,GXBYKGKNT=5FL&.^R@?E84_V0#:/Y*X87N?(+(A-G06.XBWQS2 M)&4K/ ::)C#3EQ9ND!ED(15B>A'""S##U.D;+9)KON(2?)43&X4U$F2Q8ZD+ M&D8[/\2%+!=^<&!_.U%][?W7(>'EG+O8T(C: M'%W$JM^-).:F$(TT&AL3$F M8UT#-*3@;BE-Q9:M. NX8Y25PMY3]Q#[J4^SK$;J?62!#E5;#N*&V,WVTHEA#S^1IYCB MF$#SBXQ%&S?\C6I!%0%'(8P7!,=5K_$E9H0=&75NKI*'I4ESO5+]Z!RS:+<$-:Z0=S1E'KS)R MOW/B]-9Q_^X\,HR]CV#BP)9(][^>[_US)_9^CJ/#GJWN]+5&.E/ Z9T#K)'7 M'>G6'7GUD9[*C%2#Q*.IXP?\*C_\DPM#U MM\;MI"U:JEZJ:8K73=L$[O^$A3C"+0BCV+6[;BDUUM@!MY>VZ]JX@W>-O_*8 M@UN HLVMO'3@-N J?H^"9>E?A MM?,E.?C5D\)^%'#&Z !KY*OW;MV1K]Y[*M/[9/'NS)8(ED3S9!Y)QG17Z4/N&+5Q\>'+2_^D\TS-*0_:E M$_@>:^@--YV>\%>#HBVVZPFN&JI?%>:VZ3AYN)&424">F ADPV2 )E((S"@] ME=UZ@3H@B$'=YC) ^;?@PSV#Z.(>/ MR2RI>?1G&'&\R_#Q51SE02$E@TR5II1\# \.U28H@TRCY^YTV4AE%M \1*1I M@CO&ZO0I[9,JW^/U]%HI>^^(LGZ3/#C4P\T:CY).&BW#U?1'1^46^-UMI*,B MQ>%&S\LYO[U2$P;>WNQ"?W-(@*4^%<>D$TY?ZZ9SOJIL[8%\Q6@N_PAI-?IG M?2##IIPK(A)H,G$(R#/ODG!ZPZBZC9A.!_>,;L0UH\O=/HB.E"87?DQ=1@$6 M9\DA2!WV:S3DTW4F@3BD>]JCR*CKUA]YN/?59EB]/'GK[9%-T^'"- MX*IFO MB"?9K_A!E5L(,7/JG!7;9 QM3!7O:)+&O@NWOD&4SZ&?)G?WGQL3/-KZX$2" M3AJK\\K&#GBGF69B]Q_1)?7L5NL!Z-M)3HKYC(+]\.*Z;TMRDJXU;J]MT;*< MG%3;%*^GM@G7+]3EM]%OMEO?I7'M M)*&]-5[O-M!2>G)#4YQ>:R)P[QQ)H$URXB2C;F,F^RN;4T.U+?WA4+D%3F=L MT$:=I2I?XW.Z)B%[E\$7M"P>"V42-)X*5=LLPL?T9T*E!NC];*1!-_& M-#D#/"D@9BNR)WH3TL:5>C<*N/VTAS5*V2;FW?'Z>!\E>I=TXE4DR7,6",S! MZ6,4'TD45E^$0A(,#U^B@<&@4EAZ,)Q8HULPY-V7' RG2HP=#.F7"&DP,$Y# MQX8RC<4'Q*E%.H9$06#105&CQNAA 3P0!4:1UZC+LKQNN>TZ"N%%AE /VQG$ M50>JBPNV/KKU/OPVR.5M2>6]MGQY%X,5E>KI:DW-14&8O"6R]CP?NCA!5KHY M?Y=P[!_ B.-7"GKFUAX%#=O9?84PV4%I:_BY4M[N*N3,J\#GDBX+6F>P?&$V MIS";?-149[9E(/!^I;$?-1X.:J*%@&RD(D( MH>RA(0Z3*O?-2.!O*7]4Z$B=V,Z;0KW'B!4F:+Y,H %>=AOP#0G/%W&&5*VI$WPN_R RY$P7M]QG:.X5V;^5KH8EHR:L8 $K)N@\^RL;\U?-7.POEEF<_/J7P*JX+ M6/>H+:(Y$2^!-- MM%,UJ;VEF;3FF0]%;V/?;80^V6 !>%72Y01D^+?(D:$LXZ!P)IR6O6V&,579 M RV^&>!%0>#$4$Q0S+W'WA?HLSE2G83)(S^H();=-'^('7@ZZ\(Y)E"$X1<_ M]'>'G3@3Y(;BTS3M7-&V5#AC'X]]:G8-K(JTA/T#' :R=YVA9JE://^@*$0R MC0BH1$ GDBDE\G[L\YYZ%CBG 5/:.?\<1\GH=Z(;.7VE:-ANW5% 4<_F*\1& V4M0J0V M1P7^PF1<&EQ.:>W:\O:P,26RKY>5@%4KRH&^%2DDS=9%@J=X]M9H?@5P>5?*9P,4F_-?A/GD5Z^T-CU MD_8SM5FX_VZ@U>17F APFUC_+F#8R #HP%E*33*QB93;]J'I GZ4W%350]ED MV*GL8J[>5*S+O[QP4OK1\>.Z8UR,\GVE8\-4OZ2-VSVMPGV%X\MD)EK>_:": M08HW(: @ 0TMG!1^?3^P>M%('<8@Q?DK&\4^12'4/Z7>-)L\/?C_7DY_ICQ1ZV.3&,L/S17&_Z?0TAA/!+[A9JWF)I;XL1F ^WR MM/SZ9LA3Y5N$[GT1/B4QW3.).1"(N^\RFR&-",U?2(S$"XD)O^/./J0.\]2_ MTR.ANWT0'2EEF$'Y;7AP8Q9,')^<\/@'R&>FB>\!!D%GS=N+Y-4WYY M-W-](K,"60)T96XX^^=O@O:\3Q;,HZ3PFW[O;)D@E>ZAK.:62T&JVH>O&IHM M":E&?M!*Q28H/8 72\93O(HEC#(6+)E"28$E_9XI&_M"9W$M^V;+_W 5WC(% MZ^PR 0_$^#6518=?G=0P0(Z9DZG;-Q[OBDDAS.7V.1O^_ 4/43;_<\B>T3C%4QS&! D7/[KWHX&;5FWOCCB=U2>*@L7#>@V"QUYSY1 M[Q P+>_I(VC/(BJ*X>KF5;B-XAVW%S.2^/(!'G[0;9KWHH1S_!C!.J4CM.YD M$)]X#5"F-RQE//G++8(PR=D2A>^*@U/6XC?.O+J;,4M8K8. '_UDHB2-+Y!K M&^,.CF8=5?^O;XG7Q5OD[7TB!S2M@+P^4*_;WOLVZXK;4[OH7\)M@WYXO;B3 M]+V1N0F-$;RI;<4&-F+\CD(@^('/E;O9WK"UD,,K>L31UD^OHR3YR()"0MI# M! 64HL#W',A"V"1I[+BZEP;'HHT;)4:UH HCHQ#&BS/CJM=_)T"5 B:*N1Q$ M"$)>@2BO"?SJ_(300&S6Q^43 M$I^+0**8!$QZ,1=R<_E)E"M G#2-_EQ139< M3495Z$FH4'0E^:2@ZXIX);BMHLV\ARZX?SO!1DY504)2B$@*&8D0DD@I228F MR0AP04D)Y-=SC&U1Z@3:TQC3WIEOO"W +@_PF\J% #FQTI^_+?2Y9I_^ M\B_R+QF%O_P?4$L#!!0 ( /@YIUB=4?ZKB3H ,4'! 5 <&UT&UL[7U;<^,ZDN;[1.Q_X-8^=$_$5)5EV;)]HD]/^%9G MO.M3\MJN[IE]Z:!)2,8T1:IY45G]ZQ< 28D4B1L)D"#MV-D^=AD D?E]2 ") M1.)/__ZV\JP-"",8^+]^FGPY^F0!WPE_?/WZ M\^?/+V\OH?HI:/IUUTM:@G\V^>\V&?\3Y\GQY^GDR]OD?O)0LKT(_)M M@8_DQ5$/2Z5_3O.RDZ__^?O]$^G\9^A'L>T[^UJ5KV3U)A<7%U_)7W=%T>O_ M:)J*_[]N,F[D_[WTW5L_AO'VSE\$X8HH_Y.%V__Q>%?JC[.&CAVZRS!(UE^< M8/45%_HJUAZ144C=7UO*]Q0CCN*.7 >^"WQ$9?1#%'C0Q=R]LCVLQ*=7 .)( M1DRI9HV4]L$.4;E7$"/Q/$VB'WS#%#WL_AK-%_,U" DI(\34ZV"U#L$KJ@ W MX Z9U!50IQFYKYJHJZ8%/Q7: M#DKSW4E_ R/'"Z(D!%=)!'T017.TUMA \!-Q]2E9K>QPBR""2Q]-ZXZ-3+SC M! FR\?[R 0GA0""E#26?ZT,[WT'\9'M-A=W7[J/OF0ZC1^ N+%?/"D[QVZG M#WGN_ T:,4'8F'NE!OJ0X %-F_'M/Q*XQF/_'J#FL0&\0U-#L$GM 1H/V;SA M+TF!1[A\C>>+'Q&XC"+)!8SJ+_>ALV\V#/]B>PF8+[Y!'RT[H.W=H75Q2%:> M#=7!;;2G\1HFP+U]6^/YHJ%DE4;ZD.0^\)?/(%S=@!>IQ0.MA7ZL#5ZC/=MO MS:U-H8$^)&BYDN,TU(=$MW;H(^L4/8#PZ15M.YJ)4VVE#UG0AF %X]SRHL4A MMKO ;[ZR8C;8&_^(8PEO?I YDOX*\#3-V!FTDHK?6\RZAC5 US0QUQ]!J_;^#NH8UJ!)LV M8"?1I*LV8L#9O(Q*M+1-6>VWDHK75YUKF!L0V M]%HN9G:-F+&::243H[F>US.MQ*IK9Z@KFE:*4-H! ]<4WCU]!V-*@ M4QKK6;+;Q0(X\2[* ?W;HQVC#SB!CR$@CCM5@DM]RQ ??"O96>V9L.IO)1RU M,4^8XXV'@%:(T&'A/:@ MO__P8.VX"PC5H [V=TSP%CP"M.M* Z0?8&Q:W\+ M@U4ZLA/TUWV$8#OEM/VH&9HJ3MKS1=KUY^ [B-/)7;&*1+^F2S>XP0BU2%J+ M@/-E&6R^ L?%D?-3_ -6W)0H[6&SWDM2E;_2 I']H)(!8J!])$3KEN?0QI<8 M+L/01M,;)8BG7B96"[("KD,0H9H$_WOTMTPJ_!UU$? %Y8&W&/@N<'?_"F/\ MI:.CHXLCZ[.5-U3\T?9=*VW5:A98CP5%HGJ!4^J*A^];!*$ D"Z *9#HASV0 MZ)>_70<;$%Z^H.G(=N*\)<]^ =ZOGVK^_E5C5W)]/:,6:WI2_//?9M/STZ/9 MR?'IR?%T.IU-CZ;[OA49<1F6^VF'3MXT^K%"DK+^LQ)?UR0R_K/S"KT=[ MD MBVLUE'TM$.QT$**!\.NGR29R!,>P$!34AH9DH7Z)P!<5BT M+,R)^5 ("9"A<=(I&NE4^0UZX'NR>@%A#0J'10:C?:&.9UH_[4'KCV )<<_] M^+N]JK-#=<4&IGV!SF<(S'I &];0C0@B<+(_:)K?(P9;J\#EPX(L]; \)&7 M)8/KK >XGNVW.Q>[M'"D(_XLQV91R@\,(ADI,G#.>P#GTG61ZJ+L/VAW""94 M8&K*#@P440DR0"[Z ^0:_3@/GX.?/@^.?&+D(/2[1X=#^++ M$-@4&(I_'HSBN9W.5=WM3ARGD/$>7@.?OO<[+#(8E0MU/%=[MUON)^ D(6+$ MY/CE&?NS:]1^6&0P:A?J>*[V;O?CB41=8%37WPPD$@+ MD4/3QX[YSH\!%@)NP(T=VUFO&6ZGNN(#@T9"B!R:/O;.V&D<7J.-RS((MTR? M^*[4P(#@]ST_HNMCO_RTLCTOO_!,U7^IU,#TS^][KO\^-L6W*Q ND>7\+0Q^ MQJ\X?,SVZ>.@MO3 \!"7(<>EVWUQQII7X'D\.(J%!H8"M^NY\KO=*6?+BF"U MPHKCR/M:R1KB&-<7?#V?P!] ML!R4&QHD KW/4>AVNYVM[+[!R+&]_P)V2 ^WH14M2S-#TAR;B864 #D[' M\TB4?1^_H7^I6UI12@X&#)G^YUATNS$O]S -TQ)#HU!VH'CP),@1Z78_?HDZ MZ)).>G;=5%[Z^V TS^]UKFW*%OM/7P\#OA5$@"[=M'/ MNZ:M8MM6UK@EG7Z\,?46=O1"VDNBSTO;7F<1_EXY]JBBH& MD2$&801(R7[@S59 0B@?E"VKY0RIY;17L 5 HR$M(ID&P-=H2L7G$"22NUOT M<1YV? D7_0=G!]G8'L#7)K M7DU,NE]-Q+:_A&@9M9/[]LWQ$GQB]5L0N#^A=Q@**%-UT!1J+>BXEB,<.HP* MD^EG>M ;V']@M.+ H!SN!73,^(ES#QEN-&%JUN&BF:'B.TDE?1DJZ_ X:" M]&*G#/0*IA&B%;!,GO1^$M&;4_G!WF*WJ9@[N5RXK*5SI*434^C1SILL(.;H MR( SE5<52.=#??DQ4D)"4@V31X^LP.D\L:K^"N/7ZR2*@Q4(ER> 6$K\@[,AYS=:'WT8,9VA=SS1%TN/Z];QX":D@930,6:4U1BS9[E MBZXY<9/U>O>&0D&O]*-K3JV1@]P%XQ,T0EIJ8R'6CPI/1)BJBF1\<02<&I:54':3H*][B9\?D'Q4J:.9G, MIC@S2*_':5(8UD\@7 $5.<9I-F+6N6M\]_S3@PW15NS:7D.T]"GH@N8CYU8< M'4$:BJS9U]$Y91[QLTX^K3H\Y<,K?VGYB#/7RX()W(?$P<$EPDUSX.V9$(/SO/=7Z/Y(O/J MH;^2*+D5^NXKJ@ W((W#%G2G'XLFV=U_VPH6UO[K%M*]5?J^M>N D1[VM'<[ M<3A.=6KIKH]>LPX\XQN?O , 4LBT$<_1>_EPE2L(PT.M-IU)%,8%@-!O>W#0 M+SA9DYLX,5J8@G #'7#Y!@]/,VC%3 -(0.M[J*2$,@PL<@R;=CFZ"58V/'3] M,\N: IL4 K7 " &QJ"=6/4WZ:!T)[M"/M,LBU8*FH-5H;I$4RQ"T'L$&^ G@/8EP M6,Q8I-A*KZ(E)-BX\I%D(G]#"JQ+JK#+MXC/S-'_N<_V&YL5,BV91APA_*FT M:2WYN)AU'43Q?($3.A8GN:? P&33%$#/WL M 8*K+Q+VU+YATXC6D"^"Q&NO&JT6K//;)71M%Q74@HN\MMX7_1II0ZLI/#6' M<=*T>H?<81&D=4!>[2V$S@GR6QA$T4,8+*@WVPHE3*- XV423R:M&'<^[>R" MW;-W57C;<6KYT> O)^&X,NX\ <_#[QT '^G PU.BNX(^Q/+'< ,RC="\:D*5 M3>.)'-PU3K?F4H]K"RZ_3!5>?IT@?UZ:YH3W1R&1L-Q 34NL+H M#_PTH.$>K:YX\.]+FD: ]JL*CFSCRN/V/?"#LN#Y\WWL52:WWFAXT4Q21;'\ MJE*K4([,R[*AN0A$<4E&RGMV(O5,(T S' ^.VAL+/JZ5)$EZ2E4H;?)@5AH; M75I(K3DMTYD:V_&,)S"ZEGPW'Q_H1YQMNYX<;9H:&V64ZT+K,G7:_1N9^;HL M/UJ'?H(4M(_D=:@+X=;LFDC],SXT/Y@/@$'G6M(U77X,Q8?N^TD@WC*^ #NC.?4GID7!*3K^U%N(N4!SY8XLL@ MS[7KJLX?:T"K1^X>O%1F--#SI=*:/ZSS4YT\[6)^Y??*CJ!#0;RV;%E'ITA' M9\-$7EPZ51??C$F#?2CZ#?22F'H7EE)ZM$1@R9=305>VX\ZI\%> LY@!]Q+U MR%Z"[PD.Y9\O*C="679"JHW1T*:]U#F91A(U1%%(-IQ$KUY+MC)V.DG)G1-* M3Y9D6?^-&F]?S85LO%1#Z[;Y JW8D=&& 7XP*\0I&6] ^E]>J$KKAD=#.TVJ MR)FH)_KE?&#[H_[YH0EFJ?W4 34,.:%2D5[D4*NY1JG1LM0:[Y8WLCI1%09C M6E;O8F*28H+S@W-9)J.[ ,I/,S''# MB6 BFJ=DQCW)5IOZH@EDJ838B 4^'DTUR4N$ZA@+*!T7!IC"$IJ(;2$_5FUF M!VHY8S$4AJ-V>A804DV:C=;(45ZE8J+(K#-&1.4%-B8[1/D!*2:L]87'B*>$ MI-3PC(Y/(61JQXFF+&-HH^UL+$*SB9&!73@/!D(^CD/XDL38 M(_,JFV7E7W2.=W MI)2Y3ONGB3;7:1GVMG_V;QFT.DX'3 AI(16](\BG1L^Q>]=V]/K- M"W[NIA%.Q-Y)LX@]_!DK_X[I87H[G8A'Y]54Z7Q)@/OP$ 8;B'"[VOY B-SY MNZ1-ETX,-S"&W/28\@T9:R082!XL#U1(K,$?V2V%THRQC"7EOD!9 >>].ZL5 M05CE!D?D<25P+_@X<<()I% RQ3X'V%GI.] #I97T.%"E(E=%6BUGYX["8C;<^>(.0>XOX8L'\!-&,6TZ95?Z M(%;].9R\TC1;J,[))A>)('"@_D$N>66-*_*E/*JRY]G])7X[!+\:<@,C)TA\ M04M&K_Y!.P&;)JF^<<4(_&9#/\*Z!M'G@G_,Z_R>0H9&6D,$^H[@?[:MG77'=MSW-%P@VZ?\D(GXK6 M:#7W8NXGV;-5;6\P72\_'86=98+6U= M<^;3K\FNE+JC>A=DXDFOU8O6>1I(^FS_8&\;+96R>N^0.2(:4/7DG<%K[3!! M0D#[!7KI7B8SPSMU%_XF0RZ)9M\G]]HJ2.O%!UE'+>6EK*K@^)DT.-/'I:XZ9>#-=J0B@IO14$F[IY/9]+A?>BJ*X):56,.3Y1U'<-O;/$.!\X\$ MA@!I!(VE>/O@V3Y^$!'?A5HS3I#$&S"-,HHH4.562Y5T<2]:T8.E9&%9H["Z MA1:M[.AI(2^]!JMBWJ*)3QOY!D;/)44JT?J*K2G+H%U47-ME$*,ATPBG:!DD M*[&&T-:N,R^OLTE[OG@"/J(R(W*POK!I5% $;94S$N)K/@KN/%$"4J8#@$O> M9;Z'/L"WH9$0U->%J>7+VCJ>32>3<9)%3@-CNQE6E#[?%7P+0K(8K-&M (L$ M6GF7W&JJ%ZV7,CI?:J=2@WOLM'T((5+ &B<<3%5#81>SSKOADKP6VI[_FA8S M4!A!^ZQNR%KOTZ!P/$#TBN^&10U5H?ER1.?3GKA^6V_$W@VU6JI$U:%N[8Z_ M\_>8;Q<+X* ][NT;&F'^$CPBWL]]K!_\_[%[=6-[@(2J(B5#!XT*_ >2HK+X M#X62=[[C)3BWTPV,UD%D>[_A_$CY73H_AGX"W.R8*?!IQ.V_8Z8-"%F/A*$: MU!#MU7&:MS8:K'\'=:?7(E8I?I3AT6TGACX4#-"6JC"UPK0Q(-KK8'%9S=/> M@_\[)66M\(J6)M4'9SZ8=JCL=V3_ZJ77E+ZUXVPNR7KM$47:7J[(.W\1A*L4 M34X*2K':0[=3;<347[_Q\NXB/UW;W2/"&Q/\%8L:Z2K3ZN G62@M&OAL?^B;'3K@L91= MR&&!4Z#C)7[BT_2S9Z_[!'/3+E1W! M:+YX*+ MA^\&1$X("><1::JR/"-.7'GTH!ZMWS3->/&Y4P 7X"L,.@[HH\Q\0(U^[Z,@2S6SS3(5K= M-"L@B67Y2D0+D0 J*V9+(&95,6VL"F!3/MN3%&V@0Y,DD=AE MD"!N6?QL\=UJ'0:;]/E4;*]*1P<'?E[1,7U:'=/DZ_]F[;[_;]:N!U:Q"\1K ML.M$6L@BW?@<+#ZCCEB[GAAI&*@I.SCF0:!>YP? ]1T2-QHR39AF1(1Q/#@' M;B>P(M-2OL?:A7'Y9L/P+[:7@-VC0K9WYR--):4KA!R[,:O:#=RP15K&/L1= MVU:Y<2--P4XG>X%X2W]VE8[OA-;TA3?BF75,&^(B^)2N>DH+-]"5 N7@B3-X MSVJWY[@AJ]"2D2,U2[@;I2[6,+$]WD!EUNCX0;URUN"\1Z5EBHXXMM!7VF/<%G,.(C5+B^:<.U'IO2=;96 MH@UT*KVU0Q_Z2WR7G<0""H[4FJBVO"5K#4(K;\O,87H@,V_ 4HMWG)'EH!^\ MH4HM;]S0Y.!1RETB)=1 !R5.9@7C_)SIFN1/60)?/.IT4A/H56B4G!P=-FOD M4&5H0GA)+-E&QU<@1#K'&^ERC9@V_!MA7+H!T5[\@1H*LF2Y0J,22;W"CF/2 MHJ"-J D2(^U])@U:!RT::1[VG2<9 '?]?00>ONUY'41Q1*8)W#4W3QW(\V*U M;+1C;Y=H;Z^*O>5ZQ=JU6AYC9[V;\*7G9-"AHJ$8(++%PCV =A-CR"IJ? MFFBVK"6KV)21=N=09%X^&&KQCC?_!_V0V/;S:YHVYGD8E;;^#<4;Z(AM?.=- MZNX;VH,<':N^^V;],?_I7TTU#@JOP2'2G9Z?G5X7\P0]4ZF7=N,[,;5 M01^WZ?_RS(989=,LAR0>57/20FQ=%J4SOOS V;AOHQBNT#J(EO^F7&AT^ N( M-_A7#;^C:6.OIS#PT8].&I@L8R%DFQD=5Y0H0-?C4!W=7GTF 4A"BXKIT?'1 ME'J'U?ICVI2Q:X-17F9%6-C+98@S;"%"S!=9-PD4 HX&?EW3!GV+:ZS-Y1WH M7J-ZAU5JM$^KH[WF)NL QOV KK0^.:_ 33RP6\&F]S3)C4VT5=R]AU& E.<^ M:-YB>2RE=U[)0G)Z(%]-)'LZ/C\9'8R.[TXN>A\3;+KWM7VRO9P_MRG M5P!B\O 8Q!>T!._?/'_Z#O M[98VTP=W324W(+P&3!ONDK=S6PHZV#M'Q2NY4F/[O#JVRQ=SC1_9"F[HYO/& M]'R&-K3GB!>=IX+?$Q=WL;AX$Q[:M(IEIE_T?GH@@0%K@$N).]!9NW#15VI4 M7]2Y#_?7?8T?TTKO_>8'T?@_,R33T6GGKY7O69L^A HW>VCQ\ZB/P G0GLJ# MA#&24[I\DZ99!%GP6&9!D38&:C JU\,DK,9D4K4:U4N-QML.1;<;T_GH=#([ M/T;V].3\O/BR<^=6XZ"3.,#.(:^+>TD,7%F#(=.::;9""B^FH6BMA8':B,-@ M;RD;47,P6;FU8+R)4'1](5^R7AS-SFD0-K;!?TZ&7Q$\Z%V=L>%#V&P@/%]$$4,!7%? MP-B&WIBD]4)\[D7ZX]96\;.4N\N5K9!B&R)XS/\ MV-OY&"-C:\5D3"SY&W)J#B6C,"Y BW[;PXI^P6?M;N+$\_ )WVASP.4;/+SW M0BMF&GS2&.QAE!+1,.CPZ4K6Y>@F6-G0I^-7+6L*B%((U (G*!L5/15K_[PK MOX/5"PCK5O#E$@9J7U"-!XMP ;&T*C[O,5WQY1*C4;R 6-15HWX357K^\"X& MJX@RO]07- 4E13.,A)",E7ZG!!IWV*:;U:WVT\\ZUF MK7'DE#8;/2$[V41"0R"\\\E>G73WUH,KZ!/9F4 RZXP(3GDY=4Z$,@YLI&$2 MP)^G$\GY6#,W"M4Q!50%TV1S>1FWR-7.F/)'%;539FT9TY"4AZ$&2JZ 6G<& M/YYNP O$UPBN0^#"F+Y#J"]I'"1<=1[L$"3$T@S$0PC6-G1)=U@P5,N5>WMB MRA&!# B"0ADR1U%,^#TR F2FEO/V[JJ9AJ."F:J1R!G*)PH/>N;\W./>I:&@BEV'RH.T54HPD-!]A[IDV[.3^L9N&0.TD4 M>U!^"&>*W>7AH$SBY+GS0NO9??"Z>9Q2U+3QRDF)(2W*X"-&?O@OT/. RT69 M7V%@6#<4:/#9\*KV];OY0!R_25MIX46!?3R>S\Y'S2_16V7>\>[9^_(^,10MNC M^7!JRYHV4&7577=\)"JFOGOEW>/_#?HP>@7N;T'@<@E0*EQ6#7X#>S86!O#E M5+3$-X(".'E*]MI+!,(--S'NST@V,3Y@E6E!X&[':>?Y:)/0AS'>1>'G'=[P3^SK O0*XT.^ MHAY:$)=59B99-FL:EAN ?&!$=2M$:6'VB MAE^7CI.L$@\?,MT U"\GS4G57!UUC%/^D7%RL!LUM;5ZM2>3RGG97.CJ:67[ M!L?)-_4JT1#I6F56OX\MR1U\SJH'GT*O+9E^EJGMN:6SH[/IQ?GL2-:,J).( M\F@0X_12I*II%D0:C1I?5U.Q33RH*@CS.[)X2!WDX,:.("OG J>6L:#+(L8$ M7UAR$W%_P E<$0#Q3J":D<'TE4FT8# ?A$&LV7VW5( AAY:W40Q7:$F+IOVF M5)!IPC0NM$6QRHO6VC"$&(51LOOQ/R!:'H?.Z_8>;( G-D,P*IM&!CT3A:P" M.LMPUX0,!8,9505CAK9(M6$P-63Q9)"CL29,LQ%W_CJ)(Z*'8_;I.+U&6="S MV71R9 ;DC5%B("\HOB$XX[<3X_P=1G8@8UU18Y%M;^>%Q34Q"]MAYYGFN[ZP M:= *X\&'DB&@(H&D-BG K/0-?L,3F>:;'*YC)#(9PUDT%SY722 M6*R[?(>E]XBO[3#@[""T/?>81D/";V]7:"[8 Y,IEY#"4;,*T,2T 2C$^ MJ;6HXUH39!JY"OR$RA)FV8'205XFK2:\\^F]/!*>[3=!\&LJE+5UCK0U&2 # M1 53%2"F.206B_0(7I!Q$S#]Y8(#Q5-2(*W9R65O7K!Q1!M?&-L>_"?Z,4N3 M?1U$<90IAH^O6 ,CP+V%H*JR%RKA@YHWE4 4,RG"+CQ0.C00BG&5RC23O@MJ M)K=SB88RDF40GQL!<6N;/X]?09AIH>#H8MM^=J6!\J&%7*(%T9/5^L+Y M_9+IQ71Z-CU"W.GY?(9UN:>FI&G#64++O',8NGPF7MY0&HUG!HXB4-0]V1G?6G3 MX&MN/F4$U)+GOT_KBZ2=+])W?[_9#E[@;W/OWZ,=@\OX :#>N;>^2S/)XBV8 M31DV\#6FNJ7@1N6',3L^;NA4D99T7.?E-UF?4S+/T=& MK6?NY]W[6;_!,$+Z GYY127K#0ZO3)L%*HYO3(0 M-8;J94^O#(-,9EX4JC,J*!O/AU6SVBVL?[%#B&<-EHW'P5A&'P$^\C[37Z2[R5"/^C M-5'6Z:3W.&T9Z&N<76TE-RH D/HN.!'HA^\$JQ6,8X"OC*&.HYY^ S9YZK@N MQ$^J[CAHT5YDK4%_/1_R%P-C25)*]P&$#@9V*7;VSVI@' 12)+=1.7:,#BL> M&5,$)-6:M^>T\R=[[-#;/H*UO<7BSQ?I*08C;I1>85R\D)1S7-E[RJHCKUD] M(4%L=^X7'8<3(>M!KSXNQK226FL*H//N^5,3A2]W10&,S)[("*DH\X\QJ9SK M=GD_<+Y+-]_;79.E/DEC# !W5=NXO7%12JT:M.8BZBCGR!W>,P*20I.DWI$+ M?+^HYAI)&[1(B^A7TJCY$>X[-0B'N3-J_*WSU#P,&A9IG:3E2M[K-)YX.^7AN/P E\;![) MIV1M0N4RS(%-V'VS\ <+?]8J?_>]F0U\>>/L[.STXO3X^&QR/IUTONP0'QNU M1.'(KJCU(5F@.DC;F"1YQ6BP5R9P\D #:+6&Q$Q?'DI0'[:EPE)\E&K9-"[J M9)(H;]LKT*@CJDX(3'SLE[Y[CWK@%:;G%LRE-?E!6:6:TWI\=F$B5Z]?<83* MG9_[9U"ARR@"<83?4DHQ\;S@)_;9M*"OQ%<^&*U;F5I/]\Y,)/GW &]N$E3L MQG M.]#GN$Y.191&O,B[?_*7Q.>?>>=;<)O5;%GST]GTN-\$ ^8Q65I[1CW:,ER? M^P<7I?2DZE&8VMQE9]TX[)_BP/G[:^ A22*TAH<.E'L48')4/:@KMOD'*VO5 M?)?[[3\2I'F>I[E4B'AAIZ>3V>GLY/QL,CF:=;[E>')>T:3O@?F"J/UJ>^W9 M4<3*0<6H4:;Y.:)YSXLLOK:KHUI6OLYR&7'N%5WC,$<0(JW$6YPYAG+GL:Z8 M:;C)0K '44K"P5UEW;U$=;D, 2!!K@>RUMXWEZI;UM3%;#KM[\:9,))E K23 MM4=64"Z=/(?0"<('VX%H*LR>I7Q DOAH@OR6^.[=AGZ?7;2N2;"WPV_/A?8* M,,Y"R,SL^+ ZRZ=!?$&/O#1KQ$CFPBSCBD4:3]+-!=7(.=6Y[<6#SK/3#E2 M6]8X8*5AJ=F;"0MJ2!HG'-^)3_@0DYFIFRKE3$-/7/-5U,2$,P4Q;&XRXW// MN39>6]8TY-H;5'$QM1[<=9\[%FZ@"WPW*A"8EXV:4<4T8HC#6J6$M)R*UES& MW)@HR(W6G?,PO;6*S[=Q&#\Y8>&;>EI-TY@BC39S#I"2>ERQ6<\AL*,DW!(] M/(>V'R$-8E?R[9OC)2[TET0C:%!BA42/ $91 ER.T6G9JFEL:V.7=*AB7,\4 M$A_$$E?+N#*ME#1]Z:#M*!+@$JT'[26YJ\M9=8E6?Y\$ M:Z4=K9N^SE_KJC?BCP#[.W#>D9TU+_BS&TR9(@V6M'V.;QF?O ,N*M:7UEC- MOMGI7OI(#3$>K<4Y(=6_X!S+:N*#@8TTI#5BLJ.;^K=VB(=;E)M^N0"@234 M*&_06H/0(DT.(/KG0 F\."!*<422V?GT[ 2[6,^FL[/)4>&*3@;0/.2=+U7^"O #!+MMQ/<$G_SE,_,\B:/8]O&,+6)O&K5E&L%:6AMU M.M#@&#"86BHH91J5U'&A)<_>KR6[@5Z"_JVBEDOWOY.(9/22(1Z_M7=/P88J M4F3LC#EXINB=IATYZT=KY=V33U(UJERBM9> NL_2<+!P84VKM67?$WW$%:#( M,TFS3+W3)!LQ@D3)2K]GJK!4H/E1EL[)TG"*;[)/%&^UK'F<=O5T=#O&EMI0 M-+.5>=@M]>Y\)R2!Z+:7^7:(+B[C.(0O29QZ??8Y$A[2!/.788B3VN ?:>ZM M]@V;1D =#*KR5)/>M(;4=+X)O?1CZ&+-PPT@KWS"&(+LW NXWQ!L.#@_2>DQ M7U1,!^LQ$25MOT_NZE.=UO"=TVX.$??IS:-+WTUS*"R![R 5E7Z1.UP\KAXN M%CYD(42M4NOD[\7?C3]W9.A-./6O5!OX%OW%^@JK!D9#XF(]Q3@I4;@1T]_N5[# M:S3W_H;G7K2"IB<+D&O!7.@X*.P!5"6UP(#L/ QZKQ*2X)IU[;^NJ"GHMK*I MT@*:>+__L//,"_[UA8T#4Q0//I3:K6UK_!X V3CN.\Z\WT\I;3J"0N:VB8R& M@%@Q/_><&__T"F4QCWL_N&AG6>7$-.K:/V4=519IFQ_D/-@QP.\/;P)O ]P[ M_][^&26P]J5ON1:,YP,;TH/5E +9M;IC>R')\ZL=_X>] 5< ^.B/M@==NWK@ MJ:[A]TPI&95T+,7"!Z0PI%S*-#UQ\Z) R!-+J8KY^N"MZ1+]DLS[N%MVKS*UD M*C ,+1^L4)N):(AK(S4LZ ,,NUHJ8QI>71M6OC(4[2OZR1O<6(=[O?BND'W6 M\2G3R,DG2\T2L"N]Z#V/Q+O%^3K-NK!:>\$6X&B&$#BH!;RACQ(OMI$PC -) MN29,P[XS' ]/-!6HS9#)Z1&@O1)T<"0>%NJ'#^/H\>D'\PB%6:XYTEQ/0Y[7'D"X",(5?DHT#>KD',/5EOY@3R,-*3KVZ>REE6?L!)TO[GP7 MY[--;(\2BE9;SCB.=+0\EE/(X"GQ5QB_$C\?GF5?X?HYN/5C&&^I(7"2+9A" M(SE8.71H(+)Q7BK>.URO$"QNWX!#(OWGBP5T0%@[UW!*&TV !D"6J2$K^-!H M\(AM*F7:V/W-%(C[F"K82E!TY;E;N*FCO/!74R#G0U #UXC&Y^_0AZMD186L M]'?C0&-TJPP;7PSC@)/8T_T%[6#QG3RZX[I0PA00^W);\U2A*'% GT1@>IM+ M94PC P\<*IQ-5LY&'"@0^B*&HU$P]^NGS@8M&(JKT+)8E;B#P?WY9] 2]UT+ M946"?8<@:D.-2/0WZ]E:$N9>\Z%BO8- MF\:3KA> FC28$6\VQ'5C8Y7D0>B7K@M3>;-4-+M')U33F/]%X_BMAV\*B=U0 MIUHOJ'0?_=U6>UTQ_X/OG6IR7*^"J=)9GN[_6Q#^ANK2KH#H^MP'Y[M0J-9K MJOU0_X6ONI=#U=V^K6%("JWRAB=(HS.QCTBNM=FQO@S39GU^^'\0P@=)E%)@??-+KH* M,DJ<&V$$6>N%)KHZG"3RG32^0)3%;3Z'-L[D=6-O(QP1FD4;I5MMHC4RC5!7 M#KWVZMUQVF2]9P/IPHB!U-\>M3@GI=L4ZF/Q"C_Q[D9"9TK,3XJ.1K5F:&0^ MZO;@OX7T)X U?.F#YYIUF=-=UX.>@Z-[X>&0=+[41/;*=SZHKE63.=%U/18Z M9*(?/*=S^X9VU3#B;S3U?_UC4/2@WWRHZ#U,[27)9ET"!=DDF\<223;WWTM+ M6>2+'TDVF^1>[#R-_T"3;,YZMY+M@:XQB%J5->0K=:V2;/9/%KW 5HG$U<48 MN- XR6;_?.#B0X>4(=#@DVR: PQ#RP>>ZV8B&G(9KF62S?[QZMJP\I4QY&1D MS75H8)+-_LG))TN#/;$JO1AB@31G4NR?!)T!6N62O)X,(45[#U1'MS4-H%?' M$Z F#6JXVC 0R@XY_ML ^NNAHRGQWVIWZT,/0Y%4Y<&9 /GCC1V#;S8,ZP+ MC.O?QV S$H&/&ZABNOX>^!NT @6NGA@#V>^7L3R;32?''Z-)OX85K>R&'Y(@ MKDWS)B[QKGV,,M.4W\D]VUX"'?;Y4>Y\DO0?_R(;Z3"5B'38?]""^R]^1#HT M.0"??D0Z"'EB^C>A[8'N+-*A;/(&?;K=*-*A?[+H!58FTF%$7&@P6=BX]JKE*^,C]L60V)?^RI?$:JZG(<^@+9X],H E'2^F>*HP[B%2>2(T??:H M?S+PP*'":>::8\AO)1E#!BG#WU;<<9-%UP-+%T>]N[_UD(4M[I#7#$.)]#: M6EVO4#1I4$,XPD H:T 6-1-HK(=6"ODKJD1%D[2JR#;5>3;W:6?G"_(/=S[> M!->ZGA1_X]UQMCLM&A6\K)VRO!SQ*C_R05I]:NSDY1O=,8Q@B85_!.L@),F] MP0;X"?8MWK[ V+6_(?2N Q_]*4%_G:]!^H**9.JFDZ-)): Q_;"U^S+)V40^ M;MF^:]U>W3W?7%J8/=:^ ]:^!^8'.![JEA.Z2"N.N'=Z/IT=74R.SZ;())U< MS'J,4CSH9"'&%8VI](^"\8BB+1EGPF1P8@89MM( 8Z&7VQ U>;NB,"YP!/VV MYP?ZY6_X,"KPH$OZ32QTC:^=7M X=!7!LP=>4G9S<:UUG;.*FH*M) (\Z!C" M&9*J()LE_65&T_H#>D[ILH 3)& _+F]I$*HV5T9"0R"\\\FZD'3WUH,KZ!/9 MF4 RZXP(3GDYJ1O,CM=12,/I_B.)T'XFBG(^,HZGF75, 57?[-E<#0RG@MJ) M5'Y+P [$*Y8Q#F!I&&J@Y JH-6?@CZ<;@/:V:(M[C;;H,*8'K]67- X2KCH/ MO",28FD&XB$$:QNZI#LL&*KE1@""H%"&3%V7GD>N NM*.L+#QFS!I)1W8.] M3#EU$S'WN%J@JG&@ZEN!--6&5C]QYTN8S$F;.X:QYPL_8':=1'&P N'MF^,E M^/&#RRA"RP/@/MMOU(!=Z9:,8UM33E3II4H;6M-R=>YYQO>XYXO?@L"-T'KE M"80;Z(#H*? .C\_X%4;,'4FAC3IN;4T1\L360Q@L(.UDI5!BQ"3@2=G)<67W M+L[;-WS "VAKF$JY$3- 3-9.4N]TSX,[WT'SY#W]D<2:DF7]'"/]3$;'!8ZT M&1M.V[(AB&VO?S8\ B?P'>A!HK/Y8J>%U"YB+> %5KY[>P[VGFC@_:@6+/%(Z#BP?Q!8DGWY_P='3 MD[.3X[/SX],>#D0^]IQJ ZB+6/:PS^PM V!K*NY,#V-362IC&C6Z7*/Q%:&* M#TI\8Y0E67F1F<[7I<4F$K-N9252KZR4*5+*=/3L:*>:- .JP-E OA8!Y\LRV'P%CIM^\&&SWF_^A7P&%Q>G)Y.C0Z?!@[VU M-I'U $)RDN<[P"JU*^H-R,1L+M"='T$$Q7-HD["U0B(@8>E.3@^ERQJULE:M M@V9EA/O3U]0&9/_VY_\/4$L#!!0 ( /@YIU@BJ+-PO(8! (SP$0 5 M<&UT$*T.E:NZNOJ?_S#1S'?/SUJR?:TH-A]7^M?T!S M)N_6C@OVJ3C;%W>'H'^M M?MPT5>=.V ;RWB#P^T/?F/Y2=3@=@$#[R[%$W>X9UEAT(")@1S@=QJ+AIW79 MEG,(,OAP#USJ_*6EX^3.:)OF%NB]""KF%_QU=[WJ":@^AX\"U'W@;%8,?]B? ML&U0!!XYU?6JQ?J%8[C"8['8KSFBL$VO0%:.#P]_V!M^?D M>WVB7Y\(Y0-T M I%_?&FO89X($\P>L:E'B8U9$9MZ]^>? 1"5/_^,@2.&9$-WH)3Y[YT#YLZO M%6#0RV$P<=7I?^_6OX>=A0GN?OWYQU$=#?SYY]?F_ZNN)$-9_/E'4: M$>(0,O:CKFIPA98+@>TM:+[J(VX+Y9Y "B0N(-$@+.?]YA0+US"LE287Z1R[ M&$9[L[N0+H[A?-BB M.F:W1(.L+&,@D1HLL30G3K#XURSJO8BJ0*D$]210ZHXACYJBAKK=6S";4N,KI>X=)%-.4NG;L2T+=E!Y?O(02'@+%@H$RQ1R^H* MF.?!8C7=DFA9 IO)VE-^D!Z,ROU4IT%GRK%J:9%8$6.2#MUKNBRN2@!H8L&N-Y,*W 0WD^ MU]Q2Y95AW&1&XU(RH3M)1K%CD&RK7PK3.)RFXDU5$_L[LW/ 3+=K8R8-->O.7.+&X'XB>5^@/K6$Q/B,P@/ M"$\0GZNV@%Q.P1/K91.];'-C4S,6 -A)U0*R8U@V-*5L5X/3=NPB&$O VG95 MT42]!%?]U!-;R;*P^S1R6+.Z_% >ZZKDVJCA^MWY@-1!H8FE3$!7KD+8R;F^H*#"L^WP.S M5EX.9X12UO@\AV?5L9E799R'0M(,PZN%Q.)ABH&ILBTUTTV)F- M]^^.(X<1UE0%D<,()+;Z\C)$@S1\Q7EF+>7R@UBJVXATN+K5$\"DD:5F N*#!^@_<(.5-#CYD!V'74* MF_14&5C/L+4O(+=(!Y87MM!EL)+EZ[?D?K@A5*A4ELOWS"PC$!TFY^PQ$'DV MX>;]61-33>T/'/L)87LHBM-&-J=$T@)&3*9XN5JLZ#VEBE!$'L/0K_UHA>>G M0<\9V'_^04&A1]N+]T#HA[P@T2,*I?SWSH8"5$/!'^_9P NO(?(+;X*4#W-; M0>[;KV=]>E]MP[6\;UZT[7&-86\1KR@R#X^&"]M;IF@YBWU6;$#I;5@5458A M;EG15!UH\L%F.K#LE*LKV>D:<=543&D-(%%A9;D:S5.]K)SK0!BM)P0\UV'S M3570]YX*K) '#' TPLEF\_N^P_.7-]W9H(^0NOJJP,'FIJ;*JK.:6DA1X:]> MG/T.+O;QV&+O_GB<_M;5_O/KZ$A_-E/<3NC7L=6;GBK=3MZ! R"_Q#/DPQ@. M_]WVL_UM"T9EIRGI^2C[OVR^;P;YM4<0I^F#@"IT(Z>?OIR)0)98)%5-%*;1 MD6B[]08[E'+50D @[R00$GFF&/,6 GG6]!P$3MRD1'PMC0O?CA MKN#?B7RL"<,95JHSOMS4N329<2=29D'G8W&_$<96VYQ:Y=V?(P&>;RTR=BP[ M\L"R^RA%:,-V/JL*$L.7K3(]P9.L8T"[):"(M\J(-U,$>2Z*>![3>!\)U( C MJCI0.-'2H3&V,0;+8F5ACSKXE ]G'+P,^I8\$'VG,MY)!\?7>DYB6&TD.D3R,[G9E[@R@D_SLX ;.4-) MEQ6>P6)%,8/C4OWFU?6:K)V8VC^3K*;?JBS&=[5MVHY4O+ M6W>JKL'/YT;W7D2^AC8OMOLL1557Q^YXHWB_>$_F7)NC>86N4+-6OC(2^Y6A M!8Q);U'TG81!$> M]._^H*][X'^1FM[4\U&\K48Y@;B/C[EED%V,/_'-"RC_ M_'@[M/(TVCN(Y7(>,A[P[.MH&%A@LUN>:M6X^D*+UWEV"(4J$6WGV93OS/R M:Z_)M4_D$O#M-?GV*<,B9&] M%0OJ:8OA!'ANGU@O83)]2+)>GAP%:U%2ERVVQ"]TQ:9K2:K7G0?DZ"MRO+KL M?"/MOOE0$ZG6:P/*60*>J6*1='24)M-=W^KO(^@_OJZ?A//5 0G=-C15\=IE M'3#>WY(MP\%$%*2IK]:]S:&!KU8L0W%EIVRM*R3MV)&K!\_-Q.V>:,*U51W8 M]J;3IS?Y>L4"IJ@J22!M8"]4^_D^I1'9*@;RCLZ1S@@,2-_)M]4)C&/0?!)R M+X#S<^'"8WC8F*A[B/B\%#V)P?68QU 8<-65N1/BN;R>9T M,1HOY\-I*4/74\F KWS+5\>0&'#6&3AK_,COE69I!C.Z0#* M?[F'?N2L?50$G.4;SLJBHZ7K-7.:.E9UK^%'-%<,'Q&%+NA,>5:HV1FAI$^F M_9ODCI- N;;V">CTO73Z3 \XQ;$MSK)E<50V)GFZ76L+NGV3]M%UZ/2-LOP[ MT.FS@\2^] &.>-93*A&OEP6]C.7#K7:ZKDDE,+Q)"O\9'L 7>M;7.(Q]BUQU MU/[',SU[6E!C%7YLR;%65AS,Q9SOSBH$?'45^_\G<=;9/>M4W4X!:5#2N'&B M+4\Z0[%NF;[,ZO8;9_T S_HV.>N,GK7C2.JR4$A+')B13G>A)D9)[2;MN6_M M6?\\.GVF!V8=!:],!WH"$V<]*CK*&6,W'T2 _.99^X%./U6T[84CX[,\<-MY MLSWD)V.!&S?C]2RN^H[\?'=DW.]1E[/0AHG-EM5!K2ECZ:&5CT^K4W7IOZT; M?]/&5>4&M4,;V\^O'9?;$$7!T/M0H(^AV>H";&MH4PF]ES*9$6=4@0-9= MY)+I84PISD3.773I4BY"C8V)+WW^RYQ=458BHXKO1-GE*?(0AEMS M_U4@_FR2%.?GE9%ERHE@N<2 X.H*WJ[1>6HPTFZ"(GD+&4D@;P4CWT*0SYJ>V>D]4@'U),FMN+AD.-M0<;@F MULJCI!/E7"XQ)\IL75Y&?"?XWD8,!ZOSAV>[5V;M_*<>/R%CVM%*2IPLLTFL M7 Q/M&0A*KF\[WQ5GTF"KRQ/GA)5R[L:-;'8?LQ ((J6/%@4P!1H>]C>MLGJ MINO87@/B/2KI4#Z0(*\MAQDAS"_:2[E.I&O-*N%;^? V>#T1S0F 75IS7518 M78E&BT"T76NU&RS:ZGZ@E;,==0Q%7[FW?6/[(:G:LF:@=S]'K2PQ*51!16%' MBP@M=Y/59K)I^5:@O0*Y)UIY#^@"NCU*MT
  • L+5XYNYTTMC[?X,BZF%2,G M%N;U6R#70+A^U84&?I*NDE!H*S31%T78*%R.+#L7>=LYSES3)-3IH^Q\[30:-A@,NCY,MAQ M_<.N?N#_=^'ZV5G50M&J+6;#NL"S9G4RG8^FLXKCN^"V/PZ,^@'71V3]F_EZ MG"T;5A.82V[A CX[35NNE/%EU.7Z?.T'&?XN7#_CZ[*M#5BND;#@FU,IPN73 M(I:^-5Q_XX/@+VTPO^UT+WP\-G3O*H$UOFO9J= 4(E:*KV.#=-$EG:[6\QV^ MWWFP]V"9-[OE_%&T2G0]FS6-O(ZY2H//S"O%1;OL._7L4[1>*!OD\UC-@FXZ M8E:[- ]YW? M[%.T$F?..80X73$K25651;JL:*J.J&T<29V10*[N1#@5Z^=S0M9-V[-;-S9/+ODGQ13. M22EFM*B4TYEV=Z2V1_52FZ:R SN@E%OQ4K>4PNQ0"K.^=O>)4CYR)>"DWS75 MV8)9\@R3U@?CIM;.-GUK+)WU6K\S4 +S=DI@SGOM[GLHX4/7[C8[O456:](4 M[\H-VYD.);EK^M8YNN35N3=-)]$=.HD>Z)8W7\2XS>: G*;J_?TT[X%H@81H M P5):H@9;^051BQ1A_3PU$^C6F.'(W[6X?-**FRUJG,I4O*MN/G\A8YO'FH' ML#LIYF^'["6I-_IVZHU^I;Y[A7H;,^,LU/O4S[(I=6F=B3[;JN1KVOS^"F9>^N!XCO[0LW5$<#Y5Y65]2IJKBBMLW#8PJH,K&=D?-S.JP"K9UAC"%C@07ZCR.5^N"%4J%26R_?,+",0'2;G MSZWEHU!9I=2= ,OGJ?<%J_(%@/K$!\7/N/]U/>),9#/=!449LY&(\YHP'%06 M ^ [*_-G$N?^SAQ^T0.]%]$]6+ UHJBO) U8&UV&VW MB?WCF2Y;[G,IOAYFK/Y,[^F^>Y[Z]J*J&CI.4>[P- MXK8-MB)^2IO.+./P.:P\"_?+CUHUO*X :WVD M2-0\%;BA [UG]@OU+BN-6AU%&,ZR?:XK^YA\7V_H7[[0V+DL_4RV#4KA4:R)U6V\53#BQ5JC M\CW0_O66OK_0?L+49P7&9'DNTL0FZ;K"]0>MC"9]#ZQ_N:GO+Z2?M/6GB]D\ M8:9R$2Z?Q2N2@[5MX9LP^Q5L?7\@_DW&?EYCF%2XV2YS=:V"%0M*>ER[<>5^ M16/?1XA_K[6OF"TU&\]4<3XLEZIZ9:D[6B^P]OU)&-OJ(F>H'B(L0;?7[.1T MCA5S!:NOU*2)YEO$^^_N@&>%+[ZX\.-IW,XSY99FE!H%;!Q7"@4MR64M,<#M MFW%[MH*0*]Q2$+$KW*(MWH+JJ'TO?8&%\FE94^(\_6*!4Q15: RVX!3 MZ#(3$*?X26XT"4_F6A&/-ZI1W^VH^9F,/8E_#+8!!9^?@CWP0K=I97"M>RAD MFH.I-,SI(S;%YR+0KJ&CDB\M!I_3\#'H?FLJ?G_1MHO:%)I+I40&S(K<)-M) ML",KID2FOO.-_$S(5[(I?%JHZ$HV19$5*F[,5BN/>M_@S)XA1ZS.=E- O5(2TE)IR?'DP3M-1EYAD_89Y"@4V MRV'6P>5R,L'(HWI39+J+!CNS\?X+,$5OO'_ )#I$ M!U;P7"&R \:#J=U;YCFB52FW16O<[W%/1.^=N@.[G97<,3)K#.N#D#]X'SU, M MWPRI,?=OM6$MKKXM?^[/?@\DN=/\*^#->2@;WZ.@"BXO$B?.'//_!/R'86 M&F3IL3@/SU3%&3SB&/;OWZ:HH V=L 9ZSB/S$"6>'EDHM63SS+"]"CEP&$U$ M9Q-_WSWKU>JK>M@QS,?( V$ZO^&\PP/@]4!2#S0-'^V,"E\V-Z_V().&>^)8 MU1:/_VE T] .E< L5#/&HOZ?^]43^'\;LG;O/[^]UK:Z!+ C-(PW[B/\&$+_ MX='5!S2 &!I8H/??NW\U#!E^M4U1WQO2^_RHHZ./VJK;V6J^ZT=W?QKHNHJ0 MT0NQ2(Y 8_2?7Z@7"%01_F<> :ZL =%ZE QG\/LYG%\!X ;H\%W'&#_B#Y@Y M_RT9%D3B[C,GY-GGH7]AWC_G ^3S\>$C)#K#HJ;V]4<9H+K[S^9#'IG/$SY^ M'X4Y&@^1QRZ\)4-3?D]56Y6\'>_'@:I 90+?_[]_10F,_+V%^A;BYUGRX?K> M,GOF$[,7/;$E$!03Q6)45" C(BU0($(+41+^Z2F2I) ]P,0P_&Y%95^S4FEO ME-V%W?WA2]D&EPS5&_$&5P_5.9:O91M9^#%>2H:X-IN)E])AY /[$"(PFHI]\00/J.@#='-]4*:@3 QYD(.Z M13=T3^6I(G/E?1@6LP6JJ],&,?"U16F]R9\3GB^'7I_%45K%"KKX.\S$]^^]B8W M2%9U9(T_AKTG+Y/C&ZG/\=3@^IVU"I -31--&SQN/JQUPZ.GDAQH>#C*YI6U M%HP^S76:*[M"(I^WM]Y M\;K1@G0;0;FB1JFN%(QOSN,DQ2=:&7!"QM M40.F83D[_&+W\X-1IU^<8"K9=/ QB&F"6#TFBC80JH.^ 4)\-E1?C"')_L>C M@UB$8I[HX @7_7*470Q>#1>G.&\+I= *3*&*:]DN]+5#CA&J R]K/H23(<,* MX?1?RM_(VG,&(.3=2@8--CA9Z,^$N+D\0#>SA>*R@YK@,9+:LK('AU^(YG]Y MK.(3>>VMXVG]%<\U#G%0-"C')/D.#3\J*!@+.QTHXF(!+5J@7XB(5Y/B5E[\ M#@F;B^34%@>VPTU&;*N;RR5-.QU_99<(RJY#'6=)@\)73K1B[^$<5$W;QB M>@+3QS73C6FE798Q+1#VF.9)5>U 9*VK>I8Q#GG_.,:9!=2SN!'ZSQ-*KSEL M:R1[<@WU MBBQC$V7*9>16O^IZNU2GUH&A\F$1.GIIK?Y]W/J+([<&^JKM0.YU4(W0'007 MIM-*J5.>C7F5QHTZ+BY!IOP:@ME*-H3.-82\@PVAK"X_7!?5?W%S$+Q5&8[BL.5F]+=9:CMH M04'6]>X!BJ/+J_C[GO057[(&A_[U++1Q-O9 MNL75>6;=+1/N]R/5[T:=;92AB,KI($/@[ &QE24%C1W#@L[@ M]O@E8 U7=ZP%:RAKPPJ9!40O48ZDIW-.S4X81X_J]5EB)A">8CYE6B6!)LY$ ME&3Q@CWE.WY[CQ5^FQQX=>N](MOUT^#U%;II7+-93'JC%B,KHRQ M8;ALCA&U$2>I31+E41]:\+KR^*^>]P]<#<&$,9*B&#IRF@1O1*#LV9JKM)=# M=.X%/M>Y,7ONA/C[YLC]R[$:4.X-K?"B1!RB'ZAUF-;[ MY#,9?GDM'5<45-9M_;^"J@-\JZ'K5IC7,;5#C29V#Z];,Z9>758%^A5[\*B& MQC&2B89:#R$6K5S755&#@!25#YJ,3^@]Q;Z7PZY?V?GV5GPC.NJVV)F%'\M6 MPYCI.U%S,2YQLAX>DUAXDHR-BGU\,E-/YSX<9>6"ZC@:< S]*.^^L[/[+]HH M6@/&LXG+5@6ZV]#^W=U3$-O",IL?R^-1O9\Q8@ CLZQV.AGPZ(+8YMP^NO22AX9/'$+B$_B=94H(,K%9J64'&(B:5)*#M#= M7O[0Y'GG:B*H.2W'7* !DP$B)#N0>(>!4,U%\FH MD BI",)= 7^?E NAB^6-O;R;&WW[;NY70'8G87"5MP(LH(3,8]F&Q%_26_,, M'W>36S " $)4,"$2ZZ$#;00N2!0@!:H7E;$>$Y$54GJ>-&)-.HV%C8^*F-LH M6\PP3HKM<1SRS$%Z2;==:1:BSG"(3;!N-=R8IZ5E'[7$G[/ZBZ^5V4;%2,%OS>9+SNY]6L3FJN_[[1)$%KI7[06M\5'_+K M6H^[*\Q#Y+TD_NRTLSE_=K9X_;O'="_^:JTA\\+/:$V'/[Z(!)S>8@%]/(M5 M_ :1[=T0C"0M$.5!2-9$VWZ7:;_FHP"@6X!:HF M3NMD@7IU @"12=PQY=!_Z7^P!P_"0*5JAJ:BYX!WG M>0*QYPL*60R%2H8. MWG]F-W# P<\<,#?Y8!_R\V.MTK4NS]974&YE2 D+4+R ,BCT!B5W)D-@)=4 M^^S0WE_XWZ&!:(=ZJ@9%F:AI\$=T!AM)N(FK(OD&Q9H$U@U@GQ\_D!U2X*_0 M]41-H525@>>(XD3(*[!AA_Z"_4&5'+)=Z#G9 P.=' RMZEC"=T3G^=QGXOXL MT117+Z_7\/>]5[+D+V*U1@DJ=OB[-(0K0.V]IO E-(MU/UZA96\2WB1%VPG% ML) B+NR'516-E_YN,'[Q[7G6M2PXR=5)>61T>E=3[>R,4&5Q OB%/<28<6PF MUY.\6<_,7B&:#K!?LAQ>K$C0@J,C#-K/-:VWU[#J[.WE#)YW\:SJSGEGL3?. M*;26C,M,X'U@H*XH4+Z%E$/<#QE_K#H.%!5 @P+ ,G2D"[5%"$ UM0AED4DH MREXF15)TQ%5M@&="\*F/7:.OYL*6%$8C.5<#?5=;9;;7PXW07XB,(K\)DGA8 M-W &JG.?HT M!$DU?/0'>PR%%!S%VBA\R(UCN-C%/3*_8'?09D%S[8?ZEC%S!IN?'Z U!KRY M*:"GZIX][:6.(9 1V.^79NC]C/_>-'NUP M)Z0PL;$L=\W)A]W]=B4">CU24@0I@M,"%9.C@D3 /S(F2G(/!P1.QY[OC;-. M9C9-#9/,:$&K;2;-@F5WM#DUNK\S3U>GN3;KBJ-\UDI8K?ETPJBS=0AOK^5H MV,/".9:9-US/)<=$/AF'+0]&SR:'9;PX=R98W5WH;C?L#E0']7E0]"(% MZ+2NM4I#/D^D"Z[+Y_J=9'6=P'G.O( OK3Y!/C"W6;[@#8O#\>]76F,G]( ] M$"^&E&Y^=3CU<*.H^W3FM6]8\AVFPPVRY 56YR.6O 3N?,.2[UW/T7CAN7/F.R T/_4]4W_EZYAR7DZO0-:W&ARBXHKF*Q MZS&VFZ#ZV%7$J%4V^'PB&<^W8M6I8+QE$S1^2&2?WSGWA9!X1TER7XJ(0$,' M&CK0T#[5T*5C\2:?L=@WUL\'2ZN_%$;S/>MY*_?IH')J0.=5 MH=GE6#[?3U8[6E[1JNANS$^JVE>.*ON#]U\J[+UF_A/B;C>;" OTLM_D1J"7 M;UXO![SY37GS0*=SQW>[?,]TU];H&[BE/;"Q*ZAM-7MG2.NQ>1@TL'PDH;,M MMYRU!JAL^X8 MXMJK'6"('^!==N4\72RRSB)!V25H+&V!!I^I<&@X;$B'2S&0-0JYT/,.=%&7 M404TZ#.@.KRHL;V^W]@.H5K JO)2*C3YE_CWT7W<=DK3BA+C]UU'^%I6SFM93S>6;\1\/:N_NKJKB8!5$13$KJL+ MTU?W<9\Z2G@?,ES'D]->H1#OC;AIJ5J(Q.Y#B*0?0VMF27G9>+ K=(^ZQPO[ ME]BO;Y1/495T75=%?=2*%\Q)ELTV-6IVMW=GHNZ.%<-1@*Q"U_PN9$.[!H(! MV^>TN"V4>\@?QU:LU2]4A+24FG)\>3!.TU&7F&0KD+76W=C_O\NO>S,L/RUXA_,4O#IVZ7%]P(^)=!X?#1/9X0AR'H[?XP1Q3S',AG4V<%@A M\7W7DA^[!OQL-MJ1:\E?OQ3]+:*7>8>Q?<8[Q\^>$=O/^.M;S'$7LZKO(_NY3U5(H(95H9UN,&>[(&1 O58AML,JP(CQ#Z M(+PZ32/V'& ]BMI,7-AKAR'*/)#,OY_N>EROF$2TP: R9Z&GC[^W9VAV9H.2 MN'8RL_;RN'#H1,7^_2R5:_/PE4,]:^\5G>0AH*>)D &_KM=%X=[1HOV,L(NX MVN3Z QI # TL)(O^U3#DHS2(/D-"@J)-VZL@M7YT]Z?A9WM*/Q9W M<;X#AAVJ @17*9HC,*C%&#V4_V\ M%:'O7WW#]W.0>&6G3KU@?UEAJK/>IOIZ"N0;3F:^+TOR:,VR]V=I;8H[OG1O M:XQZ($\&'2Y\_&_G)M'#DX"7%1'G2:![WQ',E] A>2+!U"_ MO/81YXRC8 MJW1*/I#1@/"O3?C8 W.RWFQ ^.] P>M['V]4!T>4SZ7#TONV)_& X+!71GG] M[!48?N ^VD^+[:^%UEOJ6YPRP5X^#BB]!1Y'9.AMK;\"7:HWKO4-DNNVUGX, MTV\7&E>6$/O+W/IS%=%RO%-2SZH!O^3/;-SP> '(#R1P37$PQ="X&:DQN?MBG.G7@3R(9 /@7RX M;?FPM3ZR#A@?K_'X:CP9O1K"MQ8(:Z !408&_.3M['C)VD^&B7<[U*IHT5^\ M+KH*-$R5OP^"T-])#/TQO.*]VQ&1)NZ3Z8' MLDU6J:2H30W8KN9X3#;%SDBA[5!P^7') M<)WU?0>AFFJ/ COC6P@D@OY^,B:0*H&=$=@9@9T1V!FOV1D4RA>W#,V&JK]B M&3)0D+(7(JAP<.03!@:UNYOB#> 9%T]#!-;#MQ S@?5P([(BL J^*8,&6O^' M\>Y3OF6\ULAFRZ@2P4ZJI! AZ"C-?# -\RD/T^LWR,&\:=D0^ @7]A$V':U/ MQ)";J_K\+E&"6$(@)P(Y$<02SIM]60!]4?-IZ&=7H/(P;<0 M*@3S_>1$(!D"6R&P%0);(; 57K45XBB%("7*CF'9 DDS)/V9[08\OK474+^A M=<>!J? M9$I@*GQKP?#3386?P\@_WC@(N/Z%\OJJC#"R@U$4-V$:/F[BH MJ"^074MU5/"9:,+3N8O=<4+>0.CPQ&JHT--87K(";WL5]=:AA\"8^!XR*# F MOK58"8R)G\+(@3$1$!@JM1MHQ(@*#X5O(F6#X%5\%,8.; * JX_:A4PW'P >/8 M0I2),4ST$^8 LS4'-GT&5L"W$!Z!%?"MY<%/MP*"8PX_U";X <<<7M#\]6RZ M%&_P-:XND Q)X2@*\+Y2"W6X2-%9;0!(@8:_<5% 1+\?=[^;GW]YUS?[]'I. MOQ3:.7$KN:+:IB8N'CTPKH<*KV^F)2)0 II[-[>3] .#'NW?C;K3]5Y_81EH MVN]3O'7>VU5?I#2"6M\'CVVO@R<.+U!%?_]G[X;>+;.@&\$-Z_%?F/?/[QT MK@%#>-S3!^'5U;-B#X[^*&HS<6&OEQJ)/5"( ;T;QA^QS=2\&^IQ[(&(_3NT M\QD!Y0!OSZ^0W[,<5Z]MGJUN%-\\?.4.W#7:T<6W!!3R^RBG<*^XR&5OP_40 M0SYAYTGKK:ZV_X![^_QF^D/']@1;/(?T,0"*(57Y[YV 48RB4!%&B-"QJ$!% MH[0@,3(F*#TY(M(*@5.QWMUJU-4;WC'$[R!:J]+H)K VW\90&SGVWWZ:_.Y- M=#YGI;7(CLB$(M,2!64TC@M4#Y!"3*)Z@A@%$2Q&TXSL.5=/8K@A"QU#BA?G M;#C'$41RGJ"6^GA&SP1\*YVW+>/4)%.3)ID>5S?B>JSUUW6 MU9HCCEQ7BZIZIAUIU?H"?=@23V7U20OGQYR;S37RX72\TNVCE@J0N2PI1TN2)TNKF1']7Z33'#IM&!7^T+TL*52G6ESIIY- M\&,!MP"F#%H&'1=BARW5^42W\CJ@L7*>)(KLC&6X?%_ L<.F&)41PY5T?\S7 MQ\T.1<1P06(A,>&'3>,UDDDEER;.L\:<&$UE>2E68%/B2*_E2*6GC'I+?M&S MX^U^M3BQ(G$!/X+[\K")-]-\V.2(<6*D]CG0471(HT>0;R9CMLS/!Q:F)L<) M:IK..SD^CIH>X)08"=5FI38V1W6WPF6HZ&34;'B]'B"U 7JS?(*BQ1'@C<&Y'B&L3'UJ8&UK6.;38B(V'Z@B'4%S M/4)9Y2'1PF)X4<$8J3'259>N=L(S@3A"6>Z,F#F46DUAZ47;*&GS2KLP@H+B M"&5)/2X7)W+A#*\.X['.4'/ZN@:;'J$LQ; 3HWS>X'DFW&E(8SK+('8ACE 6 MX,>3>;HEJAPCZ\O),B;G5!OV>H2R$E:A-.,'$YHOTW)^K"8 (*-P64=H8%)O MC?-94XIRDPC?"C,#G8WF8:_/:4 0:8:@ 2,+LDPQ @4H ->IX (=422%B8D8 MT8N^_PV!^, [Y %QM"IF.T,1"]X5I4K8X8@T0JD7ZNF$X6L3AJ>L!T,R$?B8TGT^&HI77U-);M M)5)IK^F&Z;P0P]95]]QJY*9KHFF#Q\V'79L".;9KIQ;Y=_+*+]P$/3PO6G0= M8_-@Y4)[3_8\[=U-FU4;[, _/JC0B:^,F+=%'"/T \/\^T1@;L=IW>G?@'WV M-&.V,8$VW\,S2S0?5X&)&833J_& =?S'&WC35)2@(>TZX,*!@+/$W?:B.F\* M] Z@_1J&'<@HIH# M0UY4]$ $3Y 1.R!"CC"#X@@'B@Z0(0/$!&()I\@ HHF M*D#$^1#QSGWZ5XVEKULURDCX:&AJ0X/0<$4/_WM'W'U4,& /L9,$^6F 1#\9 M,BR*ECSXOW_A#/:;Q.]7'[:QP\NJIZ\EAJO@GO U[I- !F,)6"?1'XB LXB MM5.\UA"X.0]YFR&AS3:VC\F$P @J$ EG% FW30OD.>3#;NZ3+ /PY:E\IQ89 MM^W=3>\V;NG P@!2 X$H_] SGC]K8'S&S_TY@+H!(Y1U+0M")"1ZRN/Q;-QP/0'PA;K@FR_RVF;O%PKO M;[[(UP*,?EKD#5KFV\1P9B5317O@9=W)Z .8N.I4U%:)HK=K:^PA]W]OV9S> M,0:\S?==1))[&?ZA?]0YG+2>LD091<5#KJXZ-914SL,/0MV!2!8M1>#K2<$6 M\:I3J&1D/MQFJ)91G.D1(7X7\G($YJNWXK90[@DDRH% T0EA.>\WIUBXAF&M M-+E(Y]C%,-J;W844(*MC4;/_>Q_PO;V%2W#PUG+3>*M>91+#P>E'/:="8P2+DRT7N:C%U.N7YS0OXI MW/H%KMNUN?5R&O6=[&KVZIK9J,S"W)@VQXZ8SS.-216R*U2D$?(^0IRRA6_? M=RTU^P.MXXMIW@UQ+B ''V'=>8\A-:7L:AP[-)=F MK9-*=*29$$&:-DK>DU$\<&._FQM[+7W\ ]GZ?MB*GM-S]R*G..ZXI4,7V4JO6R$YZO)U#S:=C2LSF-%%:>3 MS4@S+GB'*''\/LH0@<\<,/VG=?@/9_K+*?2/A5R/=3ST7N&BGQ3SQLGO $:AB-J%]/R/]%.#]SO\P:^7^%?/5]BV@TNO>1! M>&K0CJ.F6XF^$/.T=A2[CZ'+I@('/'# P?<9_KZ-[%S5#E2E&5W[&I>\3@%F!:$OU?Z M$/WVO[RK' H>PXE?T4Q(L"9@YR+#ZN MT\[-S;@XL)U!3>_R"[-OQJL=):Q'9HB;H;7)D/<8??Y!DI%11ZT;-5IL+@PMW.8( M?:S&TYFXT\:A=4,3]Q'R<(O_IHS$,X/*2;@MKI^I$)RHYN.S4C>&S89]""K\ M/L(<KQ=<_$I0V"?":#FX.:RYB(0I@U#F:F:=D25S"(X3@F+ M:'14STQ3G=9DT&6Q."J2C$*2Y#U.!R=;@HAD$)'TGP+\(,-79R11ISHBSX?Y MH5+-9A8YLN-514>12NH>)TYE#MQ H'*S]L"S"\(T7Z!W3[ :G0T/7:(4F?+I M@<-F'#EG:'85B02H6ZD(U*U8$'0)6#,(NEQ*19[@S49SY#B88XVQ25UT(ZUP MV^P1WHT?]!MX\S9#*%Z*T1>DS5P[:^SZ7'L&R[49_6(Z>"=WKF3H\HN; M]$5.KUGDL-K#5$*;3<:RV,2)/KJ[9U7&@<9/)= %SFX@("[K#%\;+M<6$)>S M!-XJ(08I,5<=E1N3T6+2ICI@..GWBC,D(:!90-['HN>W"JZ=3GO1PS(DI&'% M<-&NS568^XQ5F*Z]KFLSYX639H_9Z&31:":&5(]OS0PA7W9%H;RZ% ^J:Q*/ MW4=.LF/@0/]0;CTXN/(#N?72F;!'V#4^&M/3UJ*$\6Y^7$[KCBW+DSYB5Z@[ MB1AYST2_7UK"R7+C!57T^%A=GU*U'4,>H8Q98-F(H?'(;XB%GBJKSO>M2?Z] M]Y.OO.[ M?Q9Z[[:/NIYUNUW#^GW4[5O[4EV!R6_?;65Z N1^\T7^5/(-2CY M_?4U24UQ@6K,?1LK(*CT[_GD9G;4).)M*5(>Y:5&(P,:,M;% MH=OJ%44CH-=*7?!HS+5I]Z=:[D%M;W_&EM[*M(WVI#"IXEE@W_G)';DV-UY2@R*RVPEBOLR/226&D\7Q M+,Q-8H8;H8WQH*9 )>K5(Z-B]Q"QP4Y-P*O7]L6NS:L7U9QO9M:A-1O$2+G; MPUK.=?H-'?9.E'>V*L2I.\BC'3GS"-,R1:L6W,;B='YJMY$!+!4P;.#*7DQKOI]CHXVA"!*C:)P7:]F%6G%2ZB 71QR+KJ6\ MQT_>ZWZ;;NVJQ(ZV=6XO$1?VX4;(]5D[V$_^^HH[NP+@5%&-R13,-/#G@E=TAB'O\9'PK\)0#*1%L(]^FS? N,4'WC4BMKB]JH\6 [0SL M1'CI=F=(3""'F[K'R%N^0NOX_O%%[(,?S^;!==5?LN]\A(=KIBFT<)(OC=*S M0F8T:4_)Q0(ZZ:N2/4STGCAR_T3@I@?L'5Q,[1.5?9J_E7QRJ46APKWH9H32Z^/EOF6V!E/.97FM=2@:Y=3"[CT=]"*ZO7NN2&&Z]@(*E!= MAD0G5!0M>1 B\?L00K/7(@ED,): M7E*!KD"MYG!L WDL#H/KY;_F/'^ M)RPL($TKK;F-Y=DH*?.]7%E*SYZ_^ZGYKKZBCB"T((MHJR?KFK?K1W=_0ALE MN$%'4'DOX"]_Y^*\@;_82+>6E)*9."9VZJ3"YAJ:Z5;]R%^W&62KOUP;^WSU M5Z^]R""R%D36@LA:$%G[GI$UM$]BH,7=;C1MM01/%[TK@*1ER60_S1L *X]G MU89.V,EQ[56GUJ>1M(\"0>)Z"VPT7S#).QD/SV>T".;Z-G/RF" M=@"Z$R$D/+G0&V)E-,#&,YL:1]MU,]I$04?\GHSA]U3D\-"I%PKZ#A15?@IX M'84-V91TOI,F'7Y2S5 I-Y+H\?D5;"B*NN$F!9Q0#WW;\5DE]?16O,:@.\H\0Y4)ATT]'A(IQL7<6-W0E? M/E_*VX*9]R&(.1- 1$Z!M@A"+[<9VKRQ],<=H>091$=RI-J]GEKC!^$*5V:' M"VE Q3+#Q$P@O%JX>)#^&+#G#45&;RU]\0W\&>>I4B:-%R%_ZLDANTQ,6DZS MBOB3?H4_;S"R^JST+2N:*CIWL(JL ET^G][\D2$F/\960W_=EDJ-0PBA:8I: M1525K+ZFT1U.ADP,UPJ[/<+-K3EM6B JM?E6+5SH5/.C6"0;%XA5B5J,NL=C MA]6LSY&K&P24?]:Z?1I0OA"W7[!2_:?872XR_N&-70_'7$! M'8X<'!0,#@K>@EJO 4=4=:!P:[+= M(>7D:E__"'MS'3;637*+"D88IJVI[6ID*L0%TBM82]/WD>#X8,#TP?%!_VKW M#W%]/VYFAPM[4>4!$4V" <#G'=!'7 ^5.HW=$T=V-;Z'5[Y7#,!^.04J* L2 M% ^Z;2]_-[]OE2Y_RLQ?3M-\A18GI1';QQ-Q5J[/!L.J-[>[/U3TGJ(/[8# MJ0^$0U SZ#:# N^3#MR\5HOC68/BU>DHBS?[2CV1]:0#LA?P^QAY:"_<8@S@ MI5)!WG[XEU@+>U1.0BI7#%?2P'78_XP7K5][7==V +ZB/%!<5XZR]7-N[H%Y MS4V$1Z*F+HP*G_X?R\8$?_P/Y^$OJ +V5 MD0M942O2,V7 7Z9-AL3N9NJQQ$CHP)^,?*>B;YZL>PO!UW\[AOF.SN5R "B MT'HV,75OE%7J'-H3466O7@4(B;)LC.&D%NBLKVXX<'3'0.2@H OAO8I$GOGI M[1/T5%W49=4+*, '7MTB"/:O7)!O(7V0Y+@'[/=.55%M4Q,7B)[!;TW507BP M2G(\37L?72&V2:Y MR%0B\D#2:#7PT7IQ)+2'T:.U@L&P?Z,%[G2]UU]8!IKV^Y1]O>GAPA1 4#N6 M]0HKY YH=O[^S^YBGGR_L&QHAO6X42T[ %P#AO"T3!^$)0N(H[#8@Z,_BMI, M7-@;5P*J+7RCMAZWZHGTC'WL@8C].[3S&0'E &]C<1[>@=M:JX4UT'/@$XBL MIV>>1MH^1)=:0X'[: %-1"FSSY"V1KMCF(\$_L#LHYS"'R*'*+^(WT,^H>4TG*"(:,70A>:K@3AFB?$U_GB.:B/05#TE)\ (V# MJ(()#$;* M6+ $&*X)(0%24L B@I%@7BW6K4KQ%TTMXHNP+C[@];R898:&N$ MTI"NS5!6EQ\\C[+N2K:JJ*+E5:.5OE(NGYSN5LVQNVJNOE5N"+]E$U@BPL[* M.6:ANK3 +X&\11:75G@HR7]I>HA9V"X-IRK?1\"/8?_MI\KPNN@JTRY6OGM6! /B (EPS+$;%<%'IT0(6(RF!DB*4$*6!)/0H M68PP8@^(I+)F6'%CWQ9'5:-*, M9.)26R+Q"'+6>MZ0Z#ET=8-4AQD:&XT&)4HMLN2]0ART;\P*>K&;B40RT MY&2RJ=K91@FU/)CGLDP:,K?(SD<@6U+=:GHRF>:KL.7!/,,1B9_1Z4F$2RM= MAZGP%%2!<8$^''UDNJ.PTFK+7%Y6])11X(;S2%5@#EOJ]>Z,8Z>VB+&$W"D4 MN;E2@U"*'+96\+\0.6];KL?1 9!-#SLT1Q4J-;W%&K"K@V&%3Q#YW^^-%'WET!TV+9+MC4LMR"F.&E%#,U>?U M! >;'L%]LT?DLVIM.,1$K5LV8FTGV5_""1Q!?@U2>66..]V1NM#[;;SH-DC4 M] BF*DTNYQ9F\1%7+\SJ9 3O]$U])N!'4-5>,'9'+/52W*3?9N1N#AOJ4=CK M$5PE*'JB3F));93/Y^5JLK-L"Q!7^!%DC]I:VC'FW3QTTK1HF0Q='[3(VYDO-@M3I%#(-KX[] M0=/AE*UT9SFZ(0CO2Y9)7.0"8@C MB"5=',NJ4K6'A=LIBU2RUD1 $SB"V%BL7AC$>F.:8Y@16P<3NC25JJCIH:24 ML@.:LWJ1$9 EKIBF*\4L.T--#^::+%>IN2D:%"\6ZMW$W!G2[867MW\P 3>+ M#X;E"J5P:JO;K55R>"/9]9H>3("4HYB IQ(XEV:26B./3R>CGM?T8 )#,EJ< M=XHMEB<6C)&PY3[+-*HH3>&0#8OSOHAC#,#<8:W(&I;842&PR".4I#N.U9M9N1C5J"25F0GD$7+I9>3PR F# M%C:V"W,RSK+\L-9'30\@D"C$HJTB.Z0P)E5(E\G*L%JAJJCI 02:\ MPI4[637/9]4*%883."(RV/Q L6V]XW"+Q6Q* :;:E9TX:GHP@9S!5#+#7%7@ M\ZE8JM<*RRK.>$TW$_ \R:U'M@KZ06],$TT;/&X^[%H3R']9^R[(BI=7UO_& MM_65R%/!YQV/9*=[ W;9TXS9QL+9? ^CR.CCRNV<0?"\ZNUM?QCF.)>HVBA(^>I]0YLY?V'T8_O3WA=V_X_$9KR'\\5UQCO7?3T;. M\2LB:!U^\08^P-7/P@/V0 2(\ $BB ?LY/G+ !&!9/I9> @DTUD1\?Z\G),F MU-PWR1^O_JPC3H&5+.E&N*C5(/C"!XW3#1>@9A]DGC5!?NH MB7.6Q>XM;471AW\#+!]@F0R]E_&/>-S73NTN 2=DBQJPSU/4%K_^BJZ0T^;9 M73]OW2OI]//6'9#Y+:[[0^+Y:@?M*Y:AN+)SGL/U)]USGR;4ON;,WGJ^;-)= MY8>@[?I5YGO#V$F#MRU'6-- V:H#:ZK*(#Y7;<$<._;F%[OH52 4"D6KMI@- MZP+/FM7)=#Z:SBI._!-G9J= =T'*,L8H30DMN*4Z ]:U(<: Q+"U8UF2;').0 M%;H7+<8F%N)H^NY/A+Z/Q$X=B[D][^B91EZC[&P:V8>'.*\MUEXR,*\-%__( ME'=9"1N*7*L[GJ+L/&0ED/>1R 6MA)MU90+!$P@>/QLSSP3/.%LVK"8PE]S"!7QVFK9< M*7-M8X:6LIFFOJS2G#I=.J1=8BDB,H."!QHS%'V/,<2YC9EK']C7-Z'>LPF2 M0&I<'PC^$1'/;!-VX;8E1M=+7+K(IIRE4S=BVK7-#3X\60QBVI+&\DHNUBZV M%V*#G@G,JA3^\4H=050BD F!3#B+V2!Q[7BG%BT#SHT883P])=O+0O_*,F$X M*D\H+:YAHWJF37$@&BU/&2034 5? KN/TF;"&[:!3BL'.[XUNB?GO M-M/ H?Y)R_YF='\K_MS^WG#H+X TG'>D' IS!9@6U).>_O5.;8MC ZYAN7I@ M#XR9'I* 9LS.49CRZ[>@KD7E/\=8\]$6-#)0RKVT82A>M:?5X%M[+KE#Z?"S M!M 'V"Z^0_#'RC2J>&'86)A5+KT820X8D,Y,FPG>/6ADY#Z*G;+S M\O$ <_ M2QSX:/_Z(N+ G/%&-B7A38XH&465F_1JS7)?B*XCP+&351YOS^U[83O[ZD9$ M8#W[P7KVLZEQV7WLB\@6W(I+!4FD4J.PF$LF!YDP:=I5P;L$CHC=QXA8L*T= M>.&!'/E&V](7D2,"V\T]AU#?8I5X9),E3 MED>P/15L3]WC)S= M,O!']&(OI4W>W<<.\F.#_-@?9TDXC)T_K^CS0 /M,6X9MATS+Z)WI-KI@N_.[<>-E-;A'@!6/_HZ=@IL96#:> MFT>P[#_6!#H6YMMIA5<:JKMJ.Y95SOGHFV(]@@)]C MI%W6H5H3='I%SFB_9(^8N96AZY-6\5].N$;?:\9^J",3F#25]!*C/SK)?W]NV%5V2]U>]/XFA/\&Z7([>'%9 MM?^+.Z=:QJZ?DSH]7AM3OK_3C=W,S*(K)5&]CR1)?G3$(W9L8\R(,>,!;(Q? MPXS"Z?!/2'<UELHXNCD?//)$DF=OYCB8\E M_CX4^\](/.T5*I22+ZVPK82M?=)7+ \=G@C*>Q%$DLH\5IP ]EFV9-L$B:EC MFP?=;EN7W![]-83ZIC)7CZFY0\ZMV>XI26X71HWZ.,](;GIS8!S\+>3J#;WV;94?0D!O=--([$'&;/O';/O_;E#;]*F973-+W"] M '%C(^F1C"1D&/UUEVX0*D[SO6%;]HME%')I:"'M@QL-@':CPYG#7D\83$8O MW51,;EK!S))7,E?^ N.HK(@'):?H)$5$G:-S;-R+O:.O->TO*OB7<8G.(OBV MWP2LHTP)/E4I%+)BGZ::N(H$/XT$GV'QCP3_QCVE-^H[ZC7%>8NOD;>X7^W^ M'/= O/M:V(^$_$,)+YD[6BYMNSS7Z>8FJYQ15<@U'&2@VB^IUQ^=ZV/)CR7_ M$R*>ORWY'6M07Y'PZ$'3/]7LM^&KO]Z==#F= M?WM;\FX##&Z/+@]I&03F?\#D[X)#UE(./@%\F0<3[R=0@ZF[=3UO-@#6[>=6 MN4JJ),P';9' ]Z& $_>TQZ& &$MB++EC6^-26+(=E%OMBKUU=Z"\AYE]G<\1E@P0O>R(. MEYIJE@^IV7S>QI<+.#5LUT-\RF\\1X*0JEF2LRU[P'0A J 9.'9PM/(@\R>$ MFR0MER.7^E0?M)WVTM?6OI""AD)0=HI)TND+;JAZ=+&(1?_A1/^R48+/%?TM MTUCVF59^HH-537,8+,>W"X'HH\@"F62PCPY"W%]LX4750^5^B";$QG]L_#]" M(.$UA$!HV!OV.6"!TT7LS(9"T.P89_6F,B M :_0!6PM0E0+KI0@L#A$$(<( M8I1XJ!#!KZ/$;.8(>=;G#$P397EHUSH8V0M0(KAC@CUQ%/I^G/\W6PL:P-N[ M_Y=)+)*0B17;GQC@.M+]?RZ4*[S"O&['([BL.H$9B92*B:F\KP]UR:N/ M\ILEIM2PK$@$EQ?OE=O'&):BO[8\^^K0?C.]_ MK $.%+E6>C4GN9H$$/#L=B@JFD;WZ,.,, MO6E[+1)!M1_LB8KO,'TT?R 6X?.)\"_'M2XAPC0E*EM.K)D"UZ]69BEYXPZ* M@0BGD0B?V#IZK\FC_+O.S5T:A^>3Q"\F=I^J.?=,=T+P>*T^7M8! (M$#FN MSLA.I]L6"7:O.S^J>!D[:K$L/H0L?JH*?%\6UY4%C9GUO"ET&[U1RVO9Q=5: M1;(8*L%H=8:'\#KW1SCC%$\TIQQ;HUU'I>_:.H, ) %A8FW9] ME4[5^6:JD?%'DC\6%NM@N $ ,'0F2=+1^EJQ0QK#00P']V$-_ (W1,@G7*=/*]SV0*5A;G"JMR/HE]73K[S_4.2A M[#>G/6ES0NR+XSR?TSHFQU<;6@8,Q\L:S:Y%,OT)6OL+NE0Q#EQ]JK># Y=5 M^+^& ^OZM(Z1^9;';TG=;LJ=5FDW:B,<^&GU_V]/@NMX@662 2I ?5@GI*\3 MV*N%^H_VZI'!Z^\:U.>:#+_M I"09*39)6L+V2EAV1XCQ5%0Z4H%O0K, M3@GM:YEJEF3)&C0'7 ]^8,+'NW#RX7RO,+MCF(I.\">!ZVN/^WW<_^V!_5O1 M5O_\!_XY]"0;0'(0,,[^5C1W84C;[X%$[!]^@#R">2+3:$CPHUF0Q_T%#/.KW56VJR$,_.X V+Z"KQ9L_V2 M>_;B.X$_T:^7F\*?F'1DQ2_BX)!'XB@E9@Y20__=L^7WA^&IO*79B6\F>V[D-QN,@$V,H#<_GQF/B&9$&<\]U^W-&3!DGP% MVLS*N4=U 0VWET:)460*!U.1Q7!&I&B6%MDTC8L8B]%46IXHTD3>2Z-T,"?[ M([)L: MHY34K.C<3#3H5E8G.G/4,C+.[:Y+3\R2-L.D_!A;IZ=&1X%4@N,DWC;-=/-* M22QC8WV[V.I"LSR6QFOHIXO8VY9C?@9$EYQV]:VX2U2T2D-Q!)A9LA> M6N#&JM(GFV8]1N;JFFO8B:T=&!=K-NP9JO:5%HZDV+-?'4]Z&04(&H9E^^QZ MXHR6JLA&6SIMJ]/M,$.3)WJ#],36UE6^AEI&*%KH.&N^[Y6S>K'J5>PEN:PK MMM2::Z% 3T8-O>O62U51]?MR M;BUFHN/<.FY95JJS,3_H%7J;6FW2RK$J;!F1):M:&ZJ%!LT+4F_"3,P4;FFY M-FP9D26WV!^M6A6^B='+7GL]+*3GJTH6MHS(DMAMLY)GM,L\H'*ZM_9S6FV! MQAF5I1R+B26R7F_PU4EKF&?:@E4HJK!AE*+]77LCB.80PPBB8*ZGS!:S1D'3 M*.*61D0UQTI]GE,S*W7=,TF27J.FD;$VYS-[M5'634S"1UJYK%&*6\N*.!D= M %?&._30V52$%+G)2W8#AZ_6J&F$JM#PS"[ 9I'FFQ)1D\-MZUDRKFVJYO0L&$!EK<>CV%YQ'F0)1RRY+ZTY3Z(CA6".$[6W$ MQEA([2:"EB:4MI5S=DH-#O8$2K%#8I8'6SHM:)HWZ:Z60[W7RJ*FD7E5>G-! MRN:[-6S0:5GS62=ECH&*FD;FI9:\O*?EN*%NNGBU3[?&K68G&$!D7KU>&5], MUG-?Y]JULLV-C($X:Z.FT7EU%\V,M^8]3]_V1IY>RYC2 HW@!/QQS4:I6II5 M:\( &Y4&2UQE:^4U:AJ1P6G9[ZYUB6GQ!%:REM9XEIYL@UZCN-)3FY12ZCDM M@7/+G=RJ46_UTY!<)W!MO5IQ^,!O#/E499,F-A5.[62#IA'F:M5KQ-Q?&1I6 MK8U;=-^6_)[<1DTC@TTW-5*7<=X6H#9Q9AY>HD$I[#4*;51QV<\MAI105=I+ MW3,[$NE!&IQ P2U$8)Q9S^N8Z>87!#_;['(.',$)\=L65"JL!5NUM\6$Z MMR4Z[2QJ&IE795?N2,MR88NEMFQO84C%[:H7-(W,:SW(NL5:9;O"MI,Q255; MM#=AUJAI! E%K2T0BE>F>-.W,P1>;Y7H'%RO$U#8]GBR3FJE!0_:LV6O!#EX MP+=1TPAW[\A*VLXM-WF]V7$J38_?X*R[1DTCW-W=&#VSJ^MMK)MANSAG&9E2 M-N@UPMV8,R)2CB"J MV@QE:%*GNS;=#TF;N#",ESI"$,-,NV84@+%WP_O#@V MG)%COG?*D7LJAV[MZS# 42!Z'P/ (KZ[YQR>NN\-#\WPWPZ?4]A3.O/1OH8C M'_OHD39\S-2PUP>S_O ^A;K^'L91UI N/XQ?[&-5P8,/3:4)=!=]#UPX;G': M?0D:+G[^5,%Q$.J/$AF9)^K#[Q$#$VWR$C$VW="V3;0A__[C?KVNWOUB2]\$8Q.\R!HX_I3_$JNLOO+1 .Y[BY?X: MRYV59=_T#;2?,5[R1MS1,P1B",.-S'&_' ^>_*.V2$H M$O*:%\YF1GYN-83,6S[) QF@@L<)$D\FT'GT\QF+GSZQJ]:LSKIB\/Y(O/1^SXI0]E#IW/MRUTXBZ[T=SG5F&P*@A3U8,%$2?I;KF\L*L6YBL] MH;1IU;?#9O9WJUP?]?\S):V%XG#DSQO-I=!(*(*%@-R,##$RW"$RW+:-T &>I%E .=PLOD>' M_*S6ZG=:PI3WB509HY2&U>F?&1W>@@)1%&>N45IOA*U/5)59V6DNS,!UP+[] MD\:2!$/'UD*,";^W0^JF(.%3C 6'*H!)QN=(/L6EU2$YJ&;8UN^7"?TU!=\N M[9;>U!H)PK;"]8B)DZ\1_4"622C+>#)#1F7Y7_>5:WW-K&^J\8>ADH3FNCY0 MX-(JJ,@0HF!J(H7U \T%L-R@O&-B84B6>[;PV=UINO-=]_BG[K$W;[770K-O M\46RY"\GI6VZFOGMR%G0'>($[8H43 35C!+J- M'CG ,&[0W^*YS,+,]]JH0@TTETX MXN^8@6,&O@\&OH0E=U8E]W$0R+3H":AT/8;7,+5:$4Z4*TGQ!D"BJ]LX7(/I:,A3#QK7UWBMZ M'(]ZX8#@2 Z"F;?_/.O*\S%"S/O7F/*AV^S"LV&WDN/8Z[>\]"G4^-%9L@=4 MIF>^2^6\"K"WDPA):>P66%7P4WU06F4R)"ICBH(H/]" #['-Z&U0Y9T RM?8 M>71NW^BF;M/Y(@'N&Z3"'63,'H#SXUQ/+ HWF#R^WU!#5IG[KA=<0-&SWWER M8'%-WEI<'0 GX4(>Z )GI8 MLLNY650 GOGV#YG$:.RALM.W)9HQ0-T'0-U2)./+L\N-"LV-Q3MN69SN^V;9 M*^CHO&!6O96^9OAFA]=\MKX:8$QP]0KY8R5]][M..F#A._(,4C.X4(ZKP$2WWCCREH,KLF@V2219N,DVP,E&KYVDBW>7!(S\'TQ<+RYY-=UW7N& MX8C=30IU>2)AVWZKN%&4R= 7T55WS+=_J&2&B!Y$C#5=#!1W A2QIGLT!KZQ M&,F7TH&7V!/RVWJ+S=6R.[I=D?CJ0,U:NZ*]F)I(;Z& Q@\5UR/N GFQ1?91 MC84#9L!RM15(:!9\#[[?Z8:06\3".)!^NX'T+Y!]ND$RQ"(1BT0L$K%(Q"(1 MBT0L$GW7R$*OEQ@/'34?%ZBWV#)-E; M#;$ ?(G5C@4@%H!8 &(!N&\4=5Q7@3^L+H9S86F*O-G/=LNX]OL; M,J %7 X,X)KMNB=25]TLX?CMMMCA_>EX5LVMTMM>JBVR83W')'7),O!?2W;N M 4YNS>>.@>8SDM\_P@AGTF(;(C5=\,U1B\Q@C96M2/,>(ALMNPR[KD MR+/PNED23X8OT&)<,HW]FO])R/^*[4\,<+\"\,M7KIQO4W^GO!+[(N,4A"XV M*]9]TAL;T_4GW;BRRO!V/440 [ZK=J#\C(1J3\B*F?V-*V0&3U(/5CGY%K7O M[8G8*RI=MKKZM:=Z[?+KGPDEYR^\7AQU)VPZI_ 8EVV2,V_#9OTE0I#'NZ$E M1HX8.:ZY]?3/X.+C\Q:"STYDUA Z/*TM\WFM:YCDN2]W>K=66=HJC6DBPQ)\ M=TJGNC;+XJRJ0@P)BG5223SS8#>ZQ$@2(\E#V"#O! N;4FOKZB-\):1*'MX$ M*MJ^?N;K(]Z"R&)3XYW4S*X*&MWEN>*DOQSW U<&10S328:,K9$80RZWZ^;: M,[VR,;+;J/T5ENI@V*!(;HL5;CMGS^U[O&M N*Z I6T^QPM+O)K?MCJ%?$-O M(]E'!UW8))7^G),N7TKF+U[#X_:F_&7S0U]KRA<_DGN#;LKS'E MF+._PIQCSHYWHUR>&O%QCWN4E-@[^QI3O@$\C#5]S-DQ9\><'7-VS-DQ9\>< M'7MGL7?V9;PSV3;0A__[C?KVF_,GB"?JNJ?7V-=\) /+ \X;@DU>/60-$*_! MJ1G*WT%5/=.VPK,'0>+V/_^>/!:$LG_ &,3O,@:./Z4OBR!_O/#A'L)XN;_& MI3+-@;"=RLL:#;\V9V9"$J0FZ!C6XN1-8;E",-K$P M),N]AR,S5P^8O:W?2Q[7[R7_V$4VYL-J61,GM-!TFNDEGN<\&__M\%G0E>::O7\3L&5R1II7.;;/_0E0U-?7*AB8+D^L,3J]M8X(I:*RY]$NSUM M.^&'V5&';0+>9^P47ER1PUWM#\,W9].07FA,;L]^Y\F!?3=Y:]]U )R$"WF@"YR5)H/0(.P V5:M MH)? -CQA_)6\2;V0JO0F>K5FMDM@QJH5*2OB- J/I*DX21\CV+7)7$'\H3*_ M^STZ+_9;PIX&<1L'S"!)M15(:,&]S=_O85/.'2!'',>/X_B?6$;QQHD0"T,L M#+$PQ,(0"T,L#+$PQ,)P)X5WKUM=]R:R_3@1]-\ WMY!O&2"_XI5<.(- +<% M"#]Y._&G\L@]D.TGKTN_8=F*\P2WS%^Q6,9B&8OES?%7+)9?5"QO>E_0.[4V M%MAZUYYU^C)6G#O5[*J]TG;YW]\0!'V3Y4("%O*[8_,<#],O9G?8'SOBO%ELJA)8!4%=7":9P3XLFA]8G#A2GSFA"*T_XUK:C^%)W[G^EQ%6_WS'_CGT)%L ,E! MB#7[6]']?NJLY0, M#./O=U#R50\77F&".MHS&)(U?427H[__=3R9EW1&2K8-V_E^@.@CZNVI0@1H MK8+4Q &2GI*F\.G?)6,M;=W]5)G,T_-->M^?49X,=C$&1F+BZ#6B263-3&F3 M.B+;7CFD###U#G;FX;, V9\_M-W P_KN $/RM!5XLV;[)??LQ7<"?Z)?+S>% M/S'IR(J?F\^#A2&/MG-(B9F#U,=_]VSY?5RTD)HP7ETJO?_HVS\]Q('H'"&' MM%$ )WMYD'XL$V])?8J"4J!51(HA9)K&2!%,IFF1PG%99/$T)5(DRV* 4MAI M&GP+G_HY./;1;8AZ/H35U,TR=&.+EJ^@>$^ M*PON6%D\^P[!.5%.)@F&O;VGD?VE6PIO9O@NIZ_[KE@8F6)*O0 M5>1G5 MGI-9$I,E:<**,DE.1$H!F,@R"A!9@J!HD*$R\H3<<[)TL*A,H:K.9U-YPA.C M\<1N$IM%JIU%.<^W+5=30<D-L5&OJK*2/A@R MGC[A6">50BVIMRU[ .MZ&2.7J:EEP6U#:Q-[VS+5Z?NKPC:?$OR& M7E"U6;9?U-8B%6TI-8;]*DUB#M8@X>[F\U.C(WE!/V0UU M[8WH;AJH(A4=IT?G^[4<;F5YK=BIX"YNCTE[+::C3\_*:J="5XB>,*#T @%2 M?!VTUB(=;5EP*B+#LV.<]TG3!.TB4\JNLB(3;8F3!6$HUDIU8=N=\"[9SPU: MA;;(1EOJ*8PBZJ6T)PP*F)1;^&N^@Z_%3+1E!YIK=G4RS_&^*DW+>B7;&(EP MW;%HTUJ/4PL5P!:%IIX?IIF*56%!&S4EWC8M]]):F=;F&$^#'*-:F%O*$ZJ( MXR<(14\KZ;'KI@2 9^LMC)6,1G:-[MN(-*665G\NKH8=K,A.5;"H9/C!%O9Z M@DUJ"RLSPRL]0J\6M&VMZ6UDJ-71-1F1IN,Z4^!52\GH1+F"IX1B;N;5@Y*+ MD:;YU$!;MLUR6C>Y*5LL9=WIK!X4Z(DTW>$+"Z1%Q\$&,E@MY(RS&VQ@KR>6 MU>JS&,:NN(7N;_/,@G:X0F;<1BG]2%.O;;H='I]UL"69FQ9%:D TEX'?$VEJ MMCKU"2B42(%>]\8.V>CW=Y@*?;<3%)CE>)[H%>M",9\JD[Z9:KJ0!X@3JV6F M:S,>*)JI^[AF%*;FLH>I;9$XL5I%JV[XQ4&U@M&*T:V1.ZXI3>$ 3JQ6+F4: M])+S#7T@3'J-;-XM91"DG%@MLC65"D,.].!J<0XS;A9TG F:1IB06]'S\43! M7*S)=GK]]&:>9M)PK"<6=J:4RN6LHS8ZUMN?U218UC?3J*8OZ%&PF!+;T?$HH M=/1)4X?$.L$N97G:'(ZRA")4,7.2WTV5B@?%D#S!+H.*6I%'?3@TOY;*SUN9 ML5R4VR@P$&DZ D-];FQ':9TKS1EW75E,NI.@:3K2U-R,'&)LF7R**=5WZ8*Y MQ#JJ2)[@+-=0\B/.YR?\MMGV 3>:Y1@6]GJ"LRBJRX"TMS-U;C8C5@VYAE?Y M-6H:(9:V,E @"O12Q@;L4F/G+653Q;*H:41E[;I<>I2U^(W@#_$,J<^;.WT'FYX" MH@JM]MAIKZ0W-TUF.^UTIHH%B76""=.UCD'7R_1E*!"XT1$Y(@6_T\)PP M2X\$4_&GFUZJY].RBII&!C"FES5M+;3;NLEV2(VC=Z(\#YI&!M"O;3NRG&F, M=-,K*\64.9OE!EG4-");$W?!#@MKG>(US>^J1#DSG))P6B=DJTDY2\"PEHOY MO46A/,OU2H0'IW5"M@JMLH(+"Z;":[G!N+5R19_,M%'3R+0JI2W#C&:EG>Y/ M++9@-+3AHACT&A'#<655V]'N9LT7LSHNNRU=,5D5-8U08)5N%BESK&9TX YE MIU^;CYH0LZ@3$@ME6Y^;*M:%FGO0T@U',X96T#0R5I>MF[30X2V!\^MLU:_8 MDM[(HJ:1L3J%QL 9Y+LBQBT7#6A':GYKIJ*FD;&:%&,P"[,I\!J_PJI+S^ZX M&3B $Y QTKP^@UFXJ=.>/ZL8Q1YO]574-#+606-7!/-.3>>7Z2*>\>M5/><' M32,#R*SY-&74O336M2;4(#_OMC@)3NL$$&UZ%&F)IDMC@T:CABF,-)'LH&ED M %EG.,1VM9DLT/[0G=9JPF9055'3R 45N#7 M(-;T'+,)P^NR;1C2P@7?#R^.?2@4XMB'-Y"C+X.J^-SSTOWZ8(0@#0O03QGZ4V3D*31SU;\,^I]#;/<3[#N^#4R[?P_#3&A+A MAV&??8@O>/"AJ32!7K;O@0N'>][/,>&_D&,ZCMW]:8J-CA?B!A8B\T1^>,X^ M7HA/6@CBB?APLW:\$#$T?:V%B*'IO OQ\R=*?LY8^KQ9L_#+W\[#[GD06J7H MP__]EO[VNPA-/F7PM[M)/O5X%?N'F8C>S $@48=?S-P$;RE 29PZL?.=G%K)[]&]DMC$7_!,>X_MS8+C" M\>>?GV1S = 14DM-H)UH*ZCTCY+SYS KKS[[*^\S#6VZ^ C\25S\ZLP1B\CC MB\@=6)-G+6WXHVC";>Z;_Y'K?7&&^^1*$=1QI0A*Y+;^<$);5H,OUKF"M_.Z M=L;X_5.P+<>>:MX[92)$OU#!UE6I@@%<;TRD]J)E$FA+$_'MGW222J9XB(Y<03^+2+)DM,3/7;M9;Q1LUK3A M>'>74; W92[&7M/CJ>%C[FU.RQ8"="JIHM?0V1\Q6IMYLKJ69 MT4H-K#0Z-0D5Z(0T^I MZK:3QZIUU<0&=*K7K>;LPC2MBNS>AZ:QV(>^4QF.I?;N=.Y/2VVGEK,)Q=5D M70*%;-I=51JC=A9*+=2U:>JC^MD/YDO;4TCKB9?07->7+!G Q7,]-ZBV%'RN M:*X,A^T]IJ4=.]N/I[E?V]V%L&*CI7*(K[.6DM\S]"D+O#C:U-HE:I@60%9N M4'Y.4RIJ6\P@74ZE+Q@-ORFAB-WN6/SOUP3X _$G<-H#B[QLZ(0B[6C0S2VF M4A:*/S0*J OL8[J:!8"VJQJ_DH MD[PY)KUK/5.4-,M%0 KU8"&2QRV%(A>LSJ=$BM' M1<4FT:Y9_"-+\_[]SSR8 L;3$_/HE*Q*#R[=1BHK'EMS>W MW(\?V?1FP$FB@RX/8(/';N.=!WX#;GRN1I%]/EZ%;EY %R\\W\=P0FBQHKQ/\M.6L,EE4IQWJ:8+X*/83>]:W+-6Q'-^=XOT3.:XZI-XHS^LR M7Z0V-;I*225;#^08.=;16],>R:_F9I*EPJXTZ_B4:;#;+,CG&IH42$)\XO3Q M;>_XQ&GL=,:,_Y G3G$BW,4CAWE,5'X :"M47#[VQ&(+[B8\L6CHY,"MG6=F M_2@]PHZ'(PQ3 . U5TQWO0W1;W2#^ZV" C_XB2!*[(_=AVS'TGQW_MB?2K/, MSW:C2W;*^IR]8*.JMV>&GI(]J; ML=OUL%G.(]X]M8VA6>=7.9L!/)#SEJ,RJXE6"2Z7)%"T)9EAJ3C!&?N:L;3? MB5[_6-H7^=5H@V=R*N^W?$*C56?;]-9(VE%L-4G1'PK[O?G7+0T/]"(W M=!JEWG)LR"JZ\!FI;R9)X]'#J^=3WP^NLZXMVU]#FA_[]I#0Z S MSDRP=;937@9"CZI8I,^OW6\@V[V0MBC?\ &^E=TOA]<1Q^XM!4RZ0F1U=Q.$SZ6$C.6FF8V+4=NBWA0+@K'DC0;I[;O5:!C$7X C?MC$5YVQ-&RVS=, MC.ZN5!:D26-"KI$(!V'P-/E@%]Z<4,6.#TX&QH]V&#^FG1V[VE]$C2,.K[UP M\R'B]GPJX>B[$Q"QVLC:=CBI8/R2:S0&=&I>,P'4\D$AJ4R2(2]8%/*FY"7V MQ[\8,CQB5OR7X>#=<'S):=86SG*AZ5W&$C/+FMTLXRK"A:#L1Y),1P-U=YQ" M?R[TX8 5L'P06 JR[\(A0F-! 0O;UWP\0L>5\*!,G#R\VF_9LFF+60X$K#V9%?Y05>VX6#C@H%D)^ M='HQC@S<,S[$B'#?ML.?P<"[YL)HRXG6ML#E^&9*G. MCA57>AOA0;CA+DV? MWUJXMAG-_E1[=L#AX(PW@(8EH[04BMQ5<5'_H1'6$ M4Y'*M<%(N""00K.P=)>#;B:5[ZHB$10?8Y,L_='!FS@,$2-*C"B/E_+X(T21 M59ZH2;Q$"9(SKW0+N=18F06(DD:(@F'GOSGC58TSW=@7U#Q)1:&9'G) M!%CZV@(5!@O+72$G? :A.Z&9R*$,2H;%^\#C%-3-.WTM:1OP:L_.RI"E'0"- M-6B>>=L6XO.LI? '1C]AHM6W+,NS' 6$)B43F6Z=;,@#:**1P0ZS9!K[,&@4 M>WWWCP.QY-^M<_9'DM\G"JR/%2^XHN?SW MOMST%T@'Q>GB^(*C. ,:,_E]!AJ#9&@ U<\!LP]CBM.,6V.60V; IY0=;E)8 MH<4::Y$(RH-=X!#3;6RFIE^RG;X;W(4$_ST57XSS$G%>XF$]W7>2$:>!X_UM ME7RGPG6T3DU(Y6=EKK$F,=ENBT0Z=GGC1.<-N,37ILM#N\SG@9!M1DU1*M91 MA29@TK7ED$(8'OC&7NW7?^,+/Y?$MRG-G\ZIFAV(V^96Z.^?=QO=3Q"%#R==,8%;!TA:UMFZI(9,*" M@)DXGHZMLUM&Z$ U//TAR!P#T[C M44QS&A &A*]?F8>B"FJ((9_C\ >6/2&KMJ,05;ZP M-#!IS-L;LV5+M*"*)!;N-B$^%M?8G;YE"8YE]CY4[Z_*[(!Q5@.6;H^P9>06(I7W/_URUYWM>F MTD,K\R,[O//,],UI* U=) PGT,$C-IEU9C-N8'[>MO&Q,J2JMC67]86;_*L89?E/5JPQB4 MMW1OATG+N9F=KR7.2:E(UM%^I$RTHO3=^[W\= ID+V%/$V #C7]+!0FX;""( M/]Q]A0@N2SE:B5T/LD>(8?4)$ M.E7&W<9R0L6JE+#MF+&F.[Q)L!9TV"GDL%-)AHROC+U7<(CAX.X,AZO#P915 M>RM58K,\H#+](IL&E,VN$1Q (X%,XB>RV??NU'/OV0?)Q 3 9A:*T4.7?Q&0 M]VNZ+;&+?PM8E'7%YE3$B6?T<:@"F&1\CN137%H=DH-JAFU=R1@Y 2;2;HNG MIH5=1^?RC"94-X->288>1U@ZB4A2^$>W65FCX=?F[$IVS DD:3$ZV W&VV-MH^M$9*$=]MB)'/' 8R/ MC1 /[V ^?&*]TG(^XKM3PSP&3O[_W.A^JN?.ZV;D.F72,5NH_976*J# M88,BN2U6N.VI['H8;O[\84B^E.V39#PI WL#_E']VD3GD_TOHZ<75I'(L;J(;Y" MHG;JZMLRWL+]3D?A_7R!]?'.VMMD59$*:S)]M'/^;AVT1W7)8O&[/37W(_$K MSFJ=++VB@#!09S.VU!!R:7&-Q ^JN1/GR1_+:SS2>H=XX)W:H5_&A?R,\^&? M5X+X64 [ ?N=2O,VTS6^7RR -C:@Y*XT'LWK- XE-"QQ1']X+47L0MZ!Z'Y= M%_+N2@[!/CMH3BE[FO)=D)!<%Z#BN!-/TJRP\M!S[0*(!]%2N7%:Z3ZMPJN M4>RG/,HD[YI_[]_0WY_^?6N8T:!@=N<"B[( M(NNVN;=MR];AB#.Z*., J$$9[YHFA0Q\RGMEX$ M'K3F)=J7+5;%VR(5E+T@DOB):U?NVON ?69E&3[<0\GTK81.3Z'3IY(L.SY0 M$F"S !;4$$&(2)86&CJO$GRH:%YP8 5]L3 DRTL&IU47Z$Q+T$6@6F:VH20T M<^'8J^"T2^S/Q/;A9Q;5"AB6/^+7LB7[C@.4G.\U;&\$O'>2C5A.+F>968X1 M-'GI*ZO4IEY"N?Z@9 5Q(I41>WQW)="QQW>7NOX/)-H:3B9-T.5$OBG-6;[7 MM-ST)HLD&JIVBHA6J;X?]P[V*4 M[7D&5-GN3'+ T65,+BJ":?A*F/-YJ]CO MP0C_&J[?76K:A>FYWY]YKXM8[^5&I'VM6F2*9T.VX_=<=T(\"_A@+ML;/J=+ MQ'HPF1?2>26_%BDZK#])80]9!>)5M]F%9\-N)<>QUZ_ZP#\K>1G[TY?<+?!O M#_E7%QB.#- >\1^QV7$%@I_DI@N/%">.0I/[86NO<_?H]7>D\C49?ML% &DP MVX0CW*+XI66C6Q<\&T&?@J!%0:^"ZEV2!]_L+U>"3JOKP0_V+JAVSMG]S.X# M),#1^?RL2"O:ZI__P#^'?F7H6CM(*&9_*YH+G>_M]X"S]D,Y%$0AF"U#'L?]" C_I]U5E*!H;Q]T=FSJ&'"S,)0468A#ZBR]'?_SJ> MS(L1GI)MPW:^'XK"'%%O3Q4B0 P5I"8.D/24-(5/_RX9:VGK'BPZB#"'>C/? MG^O*D&A$. :I_#^)H]>()I$U,Z5-ZHAL>X!*&6#J?=__[/!9 "[/']JNAI3= M=P<84)^OP)LUVR^Y9R^^$_@3_7JY*?R)24=6_"+)!?)(A*7$S$$FR'_W;/FD M2 1"8"';POC[&)KV'WW[IQ<$HNQI@D,632"S>WF0?BP3;TE]BH)28':()4/' M22*3P6F*_1;V?O0-P5 4@Q$GOB&Q- V_(J/?I#,4GDDSF?TWH<72\$U(0_D< M]MEK=ZCIJ)*E[8*.N&?<@V]RDJNYS6D+^D>HQDSPD>]J%G#=/'!E1UN@C[*6 MLH_^0;YKP1_+&G![<(0Y([C#,C#-)F+-V6'3308(0I=O*P2>%IU4NAV:F\%U M UGO@W8B:H9_2\#'2@LX=@\:@I='C3TK3DY@\3,8OR[)P[7*"0Y:V(G@0H4$ MM%V?@CAFUY^XFJ))3G OW^1)_WKX?RFV84@.AH;[_\E^H(PFEF0(P2GA GEG0-%,/#]L>\D;(#$HLPDOIG* D&OS> 3,( M 3IX@]$ %E2%+-@P\$$RW,FD&-'13]R0>?!'TD_@I_H20FP+#7 MB(PN"N'9X00LX*UM1P]*QZ'WKVB24+6H@&?=; @ PL*&9>(I=XX _#C $EPAD) XB_^22:R@:$#L8??P 5SW0/YN @]9# M29,2G@.% ;$?9*R)9.F!]PM!+QR=9+@V[!**)N0F"W(T='*M< 3! %#*^UDL M#JRXERO(?+X+G3GT6S2D?4X^)8 N!PPLFA+'# L^%#$'#LY2@8W01. M!7&['6AE^!@?CANU1'E@V-M3XGI0"#M9H6"X]WKF$!O5&9SL?HG0"LT@OZ1< M(/L.(L@+,.SK,B.H0;@NH^RW)".R:> TZ$"#1H+T@'V&M$< &%H 84(=(H*A M!:L40##ZO;L/])[FE;*EP+%#>.X>AM=];L]!QH"C2?QU8%:N_$&S9U">0,5J M ;2RINV #S@TX+D@LL7\[?X4O8ZH(QD0NMQ7. BYQ(9NB D7-%0^S_@=L#0$ M6C>@>+!PK]?M6GS4>QG^,R$F!VV/ D^:ZSTOW-1&GY*H,>^;7[H"=);@P.&,]]3'L[]'644&M0'\=>@ M2:LZ@:_PFJ=1- U^D$(P@$;_$D-# *-Y^T5Z>>YI=8L&_7I&)T?\X\%$01?] M#K8V$W!YH2YW?FXP;Q=N+R8!C0\H?ACB/F6&%M6!:P<[>=PRJ[Q6F4M-C>\Z.5Z]D,_])Y8QFA:2C^/ Q)54 K0 M),TZKK$;VG6V[:&H\JNJO&%@*N"NEU3JJ=@R9$3(K,YSKM5VE!=XEUX<%LBO M\*<+ _:M @LX0>?P>^C\OIBFKW@846UO73TC?#&;;3WC^$R"*#D!P#J*A4-0 MMTW-0[TL? <9!!Z2J *<#J1%JAW,.(M,(0A-+'I$!ZB^$5*CFQH^0843#,5> M:!;Z#+8(90[--HF^@A[X24) C\% =R3#F24D90Z1._S\KSU,[B]3"BD+6Z,D M?F!;O[3]5PBIT'" X[< A ,7>2;3O9,QE33GY8D'U(7+Y1LO((R !6+#OEQF ML#Z(\8 28L([:8.)9(2VTPP +P@W3"'\R,"<0'^$Q),)M+#@;-] 3@& M#8H?=X28( B.(C('8:5C-O=.0&?6LI!EUPGT&C)R#QQ5?5Z=+9 <=&4%4**4 M"R'TWZ\P].*0*KB@.>4AXYE(G)ZA$YOT='U9HGA]*6NKOE]:I[E$O+*7^OUAY,#= MW^_Q$+W3)D;H]&%$G YU"% K+L"EK\?PO.&58@HMFJ%KLM+U=R7482 MD QM^KTN./&P5VI@+PTAQH<@N1_F+\CMTZL@%@0+,XB[S!%80EJY/O03WB?K M7C+#ATJ.$Z!&&!H-+H=Q;#@Q+XRD/._'3294VU;6&H)B"PDU= 94+=CK&RQ$ M$4@&&[QU2Q(9,]VM/V8E.> $"I)DCPLPC'9T<\"%P&. M".E8A*M[%S=P? "B$.H+0M9^ 6!GB4.^!A(J*WM^H!Q"2)<#O%,TY!T<$->& M8O%,K:O@"I2S(S/-L2WD7X5+_;'15O.53G[*#C2L211[P.EKFK)53Z153K:[ M:%KE_#L)WBY*Y'VP'(:-/QCO>?'B)"=U'F)J1U^F7\QU0[![L#F<9 AY$ [ MP9HA@T9YCO(F](W0/.P=.W>37XA1Q8A]+;*3[/*S#I["#2@8*,4!UJ"V2%![YJX- M5_9/!2&33.QK_06E$ \RP%"G9."EY3'OGV)]"?&ZI*H.4 .:!Q%-9*NC5( 6 M+NN+-*! Q1H@;P$RG/*<@#H.E:&.G"!/^U*)]RHR1#V #&6N+$/_?J/93WWR M8DPP+(NE\0Q]:O,;2U(X_7K#'*KF3 M^'Q1@$8'GYJDAS28Z<7-N"T2T99=MC^V\I/5!B,4K=!D[5%_D,W"EM3;EB*^ MUD!16'(\U^IHI9I(NVM)A2V9MRW[?F^NNZ/N!.,P;3A?%;-K9I6%'B'VMN5B M711ZG<&HJ/N&N!VH6FW2Z*FP962<&8NK@2U54O6FHPXTI3E4.Q749V2OTC0OIL=CJ5'+BE1TG+5T/K7( M-M=;H5M/0:*)7'>Q12V)*)5:TR5&N67>KW+V<%=TN3*[%M/1/DLD,YS+S=Q< M6&8S3,;)-N1AKBW2T9;#1;U.MGFFSF\7Z7:F,'9:U=X:MHQ0J8<5RLOVCEWI M2WKMF)E%S1+F6=@R0B5/6K+.$("50+3HTKSFZ,(H>'J$2JS6Y^Q.H2#Q5967 M1@.FTK,+69&-/GW=57R_HN=:/%?R5]N"UZ<&S;:8B;8<@E)_)!ALD1_D-BF\ M5/?:IKV&+2/CG'5;]4RA17!"DLE3/AC#+1W\+'4 M:TVDH-?(4(F5C6.EIM' JJO%?%>=UI2='_0:&6MJ[!;R>86NZ\W<&,-:M%3I MK6"O>'2LNZ76LZ=@BD.W(#OD?9DS_86*FD9XKTH1VY&S';)8LSL1,*>TGH[9 M-KJ6.M)KU6^D>J"WS6!5EK8J=5:85TIPK"=DM-H>2T-Y7I+X5&^6ZLF3K2F7$[8+&8-,FAZ M(-:%XTV=,-*&2K(BQQ$=AAIHWHS;Y\:C<::QLRBO&CM.PJ1A8^?-;+[MJ]EH MG.ETNXO&F?X@'DX\P>=XB:YDG#\6'D9H4!Y*FVY_6$6RK\,#7;5G.Y9*@A(1/FGGA[8'=SL-'G" MK*R+ZARP3?M2&9(C0QQ[^MGC-=C/GX_;[\+8A\_""X1EM!5YX8+OAQ?'@T(+ MOA\0BKG(8:SF=6P+>SERM@]L89& E.<F/3KT=!8Z. M'HFVS"'3[T"EP_L4ZOI[&!Q<0[K\,"BW#\ &#SXTE2;!)A[P&<$XR![IE_#* M^^>N?NF4U?[OGQZB_/!,:;PNUUF7S%/ZPU/Y\;I<9UV(( <0K\NMK0O^%"_+ M#2Y+#&.WN2XQC-WFNL0P=I/+ F'LPU(C\;K\T;K\8LFJ'SJ3UR#"[VPSVO,D M].31A__[C?WVSO1-V(L!WN=/DGG*4(?M,(?=1OABDPB2+HG#1IL+4HS]:,/0 M:1)^M!6B-W, 2-3A%S,WP0<;<^N2(\_"@Z$DG@Q?H##2\ZZ(F)6.6(EXCY5^ MJ('P)XQY)%9JA4>\W-=\9/RNTOI!?/T&+@IRQ@^CKUU7]8*?!X MII]<^--U//%5J:@R.H&2W6BNN$\/BL]7INPW5KKU8,=5\-.]ZF\Z>Q /?HBJ M@!Z^.30^=/9A0%>70Z3I?0^+U,KJNCBN"X/6LD#SW@A0 M^?7O7Q/P<=Z9'OK[:ZN=O, M5XU2NEO(_\%])F/V\0ZC?6$Y3"++W*8(T_J:S&XS(K()&GLHX+G,5#% M0/5^T#8&JG,!U9]C3ZW4GZTF\XJE''2T9>]@8OYU75U MVFQV.3+8\\Q^^X=EDAGFH^M3SN:Y75/87M6L.9N/]K5 ]$>)[FL@RSGOY[NI MH.?GJ<5K+N@-T. 6N?IN].7E#/L]8 =XO?]]6ZVJE$&4VQBH>A9/>CJ8D==6 MK6DUO30& ML7_(6QSNM.EBA,53&\GY!*XIF/KJF-P2H&J[-NTHC!ZES&_0G\ M&=-+D*6$945?II8;HXYG>VWV]R]#/ _^-,>E985LS5AA, 0CO&9QW4YPH)#] M"?QYU*1,&:6O#D4%@*&9FA6>MKUD=N:*Z;L;1.MW0ZC7)M,O(7SBKYM#MV/> MYE]8^W=20E[==*5UN2GI37M930\[0]%R/]N@@@L!GW,"V9:,GNW6M*ZB%_N% M2:Z0W6 M&QV 1A>^XM&(Q;_B<.FEPZ5W);OA]KD8RAX3RM[XEAE<)VIC,%H) MG-AQ2V+#6J[4S\Y-OPMEY*BUP_(UL,8TU]+S@\T$;)FL&-QT>^*BVQC)8B2[ M%)*=3A?=%3GN#LD&_?D&YULTC6DSP6F:PF91^?3 U;O@-&S.:R)%U'-\L<,9 M;*\B]T4<@1/R(,GT1^ATYZDA.GC$?K/BN1S#5Y)$0DE2;!^5.+@%-_",>V.N M/%05NT5ZN-OIJW?*R5XXJ$5M"K/N#N;RL),DRM:Q;A-4>SU7+"<3:\= MBE9K&M]KJ?,&ENH-EW*_L1U96P0:T,M)DTF&B4$C!HU?]U:N/TIF@/V_,%(Q3=09[/**P]8E6( ]"AP'$\F2'IQ]UN1DCWG]JTSY^KN>SD>$N'A'7 ?F=^O D'$=F+@. M3%P'YI;*=L1U8*[-/G$=F-MEJ+@.3%P')BZO\$XHESP.Y9)W5 >FT'4+8#)K M&+R9&\K+T5SJ.HMK9ZQ;='>7RC&YN:Z-:''>6*XM&5U9@Z&4-4,G,3*NKQ#7 M5XB1ZI:1ZNR%8/#2U%W5M$Q+,!TY,RA+LXU4N79Z#'.)5'[X?9CD?/B(N!;,(Z0? MXUHP<5[Q 9GX;A3DIY9^65&Y;+P.YOG!0,), M&N^5O70NIYG!W;O0D,V_(RKM7AME,+] M]*BVM+?7#AR()8N=X]-5AE\RS5;7FHYJ@VR -^Q/X,VC)E[B6B^W %5Q@81+ MP-L9:[VL1PK>6LVL'":MIQ2K5VS3K]Y,@83EH%,33;;3TS6S7VNT>UK5Q501 M)X)B+U1<(N$+EDB(:[M\5>AZXSQZWD3;U6K%"0_6I#?>:CD];]Q,^02ZL=:$ MB4J4>=#H366>:QI=)XN@"Z5SHK>/Q,@5(U=G>=VXF(NOV_^7'N: MMQZ%^FDOJ^D:,X[OY1SXR]6$X:M%"2M>^XHTCUE,5:RF?)@V%*E!D=K@6 M\>".-":=9#)QG#HNS!"CQN>AQAL'QRPW;:WIY MM]/:H@YRZ4*QR=&\)ZD(-:!?0Z63&'W!#;4Q:CPD:L3E7#Y&C0D_S(XZ;!/P M/F.G\.**'.YJUTYSC[)@YIF,6X7H5-:K*M,4AOG ?$!I)P)+LNF/D.#.W8KK M84*\J>PKS/G+ZKNO->68M;_&G+\F:W_"1J7+%6/YMR=!^_.?@PG3\*%II,EG M&[=FI6;AH6@XYE<3>?\X.OKR)^=Q=J-X#JU#;;I]2W <>R&W]GK$Z/5WS8,_ MEX]J4,"G>XDNM"5=2-FSCU6S($6\[R0=98VCD2)Z$=C?AR$%;_&_$Q8SKHS86_=*<:4)X292MAVJZ7T"P7^@G0W4_"GC38B2S[#OS?"G4- MIYJ0W(0,O8AP.(M@L' PT,Q/N MHV4\U^?D9;G#$?":M0,*R$Y(!AX72$_"M M[X+@.S18SC8A@VQA.]0^ 2S8EPP0FR<"GR?AV8F%M VV3*''K&U'3RR @SP+ M-/)"Y+/$Q/?@$STX>7-A ]^@A[F6Y!%#: D7ST60 Z"'@JDKQ-Z((G)-N%) M.@2%!*2;+QFP&Q>RB&9!2CC[OJ3%PMBB)I!&GNT@!$J$2^N&M- @OTB09-L% M"%;BL XN)#7*XJ#NH$,#N].LQ$\M/1JT E Z)1A!2/K SX/=%S0+KIH&1]': MDXI#BY3G/ #C&-X,YW?X #<&+X-GH%T_GT2#LB[[ GVV)G]1L MO._8$#63B3KD'^ @+@A&WM=<*?'7GOX("I"^.\D22%M%>_Y]%OEXO'L6^%<" MZAPIH1KV!'*[!^29%6"KNP]>01&!? ;_0RB_1:@"US>9J-6XI\0-S2:SC0_V@@5!^)!2[._EK8+@ *GX' MA+R-YG_4-=0TZQ?*O$^,WY'VQ,_,>[\6Z,EGDH$?65&_:5%?Q,[_:;/SD%*Y MAMGYEF#'FW*FP3^P1>,]HQ/9-GOP.$SB -[0?$.,[1[F%MB'+V;:NU;/VWY> MK)Y]XZ!;V)-K6Y!^N\#:#<1DZAM3:-$%YLY'-A TE59:8"QXD@D[2@'X%GWO M FC2P;XA"23U@.W'O3Y/!MJ@KT[B!EVCCE5',B$H69(*![C7%/;46\/9IR0W M):7V740F <XI6K]\:Q^[>BK?[Y#_QS6"]H%4@.\G-G?RN:"\V#[?? M)]PO\2%903!/9/JU2Q-H")Z MCPWI%-#EZ.]_'4_FA:E3LFW8SO=#PN:(>GNJ$$$00 6IB0,D/25-X=._2\9: MVKK[J3*9_\_>NS:GJG1KP]_WKZ#6?G8]ZZ[2/("*.M=^5Q4J&L]'U/B%0D!% M$)"#BK_^[6[ 0S0FF5,C)MRU]UR)::&[QWGTZ&L\)8*SH%^[,Y^$)_$P;80= M_ SWY(1F"WX3/]@V/^?@@:S[7PL^,WUU['VH6S)DEE^FI*+ Z17-?))#O4T2 M3]0QN9/$4SIU0O&;*+[$@>+CL9D)3X_^NZ<+9W,&2!5J\%A(/8*Q\S_ZZ]\> MBOV ?,!S('C_:2 M?KU+6SLW&T69,OCK+EGSA)4D33)Y5051PTD6QG-,#]--D*Y37?=#SIVE1 DC M3-=4U\M0':2<@'U!C@%F.*8PXRT@Y%"G8I!!@KN/D#D0^X(UZ6/HZ?LO@8." M=WB9+B M8$F>([Q+<\'4%W1%1&D2! ET-X]1.!7#+M/:/X#&)J:^V-/;VZB M#Q#Y8]#1AC*C2MH4_!',&$6>0"2!H'C.@BBI\LK/QIW.'_@-"QEF-/8INP]L M"1)URQ%F1Q+[?ZV],"&?:QI0$82LNNGO"(QG>1LX.U=WRZ\D:$BG@(UK>C3G M=Q0($IXG@+LYZL$<=UP7B-CN Z0C]S&M[\@BJ0"&Q9)>*]&S3[5G?F(C M$/NU[J@B4N4HJ;K[MCQ!PW9?G/'>J+&$4L1>O.QE2O>\@L+(7;H8\C10&;R- M^!&(EJY)F O,*F*VW82#<,"$/KR7L.4M2_+ 1/D%X#<4)L $$ Q>-9]\?G8& M6@C=FRNRQ_N4CI]@AD(E3Z1@4#!97\;A8L$3#?@6SX.&@[SWRV=C"\/WV:6- M(6F6'UW[$;?_-/3U?1#C)Z6!"_[Z=>??X#WL^"&Z=BJ@(GR_MS%>.3_43;R* MS+DUDR28&,X?<<^>O-!^.QI:"-S_,[/@!<%TI/TZKSP3^%;_T8CJNYDA#8^( MX)'>\Z> YR'K(DI'^$P$]1G,^C[M8IQ#!PPZC4'SZ65FG*:?U;12%?KLQN[D MK&6!AO5'?WG^WVYD9D"JBK) M]M9)@D_27(+#7X\L:,5X;U9GFCBO\/%6UDX9I- &(XG7(R3'W1FMB$0MB1!$E>H:1S0;8$ M5;> N>N!-^=475#^"KQ\1]![:1=W&TI33+0&B]+672W7?P''5^ -\!8;"-(M MXMH/6,A+Z-0)8/T%E"6TL/U*=W#5-YON)^SC;G[F;GX[0R &VGJBJZJ^AB?N M:-XW9I6N,)-$1Y6:DV!RB&\0!P&^\3-&VG2_HV<8IJ+I=):J]5AY,YDWS4DC M3E6F-V 8\M,4>/M0_B#6W%VN2W[\H!XE@7:QJ%<%*P#*\88E_0I^.)P[G)>? M=X 1N.!%[L>9CH-R"S_-@9^D)VPS>&N0F/96^=L%'^G4.Q4?!VF$@U="=V0" MNI>#W.'ST+R]5!'QR\=T4C;_YZ,7!4'Z,3C*EKTC-?*2A /%QQCA*N_UA M\='E@JN(+O>A2_8ID8CH$CZZD$^)9$27\-$%Z+%T1)<0T@7,C(P(\:I[") M1$$2T/7OBU+QR1Z?8=/_=V/_DPO5X4*!"IW&\.S)]^D\"!.:D7VYK7V)!.SS MYNE;2=B?]:/V;57(4 S1^1?&GYZ[7,\NA6O!UX'V0-;CAS6?HBVN.3DX/]MN MIOT5'N_@^*"4<$N5O#O/3#X/XP,1@GXA-CPX?LU[E1-GX#FV+7:YL'C!8?/M M:6F>H)O=^7#*(7"O5#:6SF1N!-.3#!TK7PU;T[=OX5K=-00UL$(_4E()<@>T M8R:+TCCKY!-,/)^:#A.#:C;3^GQ_AT^*:D-=#^UV8K%1R$9YT=Z\=$QE $4U M]=>_5#9&)J_3>BTLD2#K5T/?UIH^BA/Z,\*XL,CZU:UR4/X2,/6'!/Y%3*?Y M7+/<9=WA/)7D!6J43+:Y)+3-F5@VF[Z=:?Y.=C@2\5 %DF&1\>O;\]\2\KC* MQG.]PDN=X=,95\L2U"PI0R&'.)FQ-'E]HQXRQ_1>)WX_?ANBL/L&!CZH:MW+ M?@F"6[PM_\YD-)^F9WR#'31K9']@3GJ--,VEH)&G,B OZ0 H@#\<0+P^]GZ M'RGAMS/OGQ;Q0B^[[)1LZUEQ2_D!WTY)*;'=!B(.3'PZ$,4A MB#&^,(O0D.RW=03Y7(Q/Y90BXH-.PBP3ZKC*+.%-<2^'D$ID?TP.X6Z>10@E MY'[E '=?>@B4PUCG] M$&#Q6NQ5S9"<3BJED.-B92(T^W-AW#Z'U4+,G@L%LF;V&$K#E:XT?,YPT_8Y MK)::7LAP TO+*-1@UENT\?(VWEN?PVHIQ)E:5Z%D%I>R^I#5:]QZLUF?PVHI M3FIL)9U:4GA)R0V6*Y5VU/;Z'%9+H\K6@X&_%^$U5+6 M5D!-Z*9["9)%J^+X,.,HC.*D>]1ZMESE1VKX(5E0S?X3=G%,L'X99AVOC]7R M,6"6@TF$!Y!EQQF^*>F=1U\9&D,MM1D*,Z69-L5GJ_"<"QMV#IX+&^:^OKH&9_9D8?".+ECM<,=K\"^%YY^(Q234-Z1_F+8DGN>V8>8 MR[\%,$E(^3M4%6YAW*.[5[S]J?0\,/)(&/DA;&5?H=RCNY>!74%H'A],!#RS MPZ\QV.K)E'GUBC71=U[5]X8(>=02H]UI#V"Z>L!S9ZH'N$'&((2,BBLRU523 MYG9HOI ^0$@Z&\MCHDC&FZ65,2!H=M$? MX8F58+82R[8/ $+%2.(Z]XCN%G$594VV9I+H]6>+TEXA27N%0OIN;P<#[BM! MYCLC?7VM4%C9K6>>7>AZ>CNNY]:%LH_&0<52">([H'%4$8Z1E#D]P+*.*@2XH:M?&)1 MZJ^DM0>-0<:RZ=/(\WJW8^\M^Z&]Q_+C-,-';[G\$-7P!9[ 1W3#O&XU6JV: M(.+=:;RFOM!;,V%,/4P-,I9.G\+6_M;%V'"/&NE]:NFSJ^][KN[<'? MWJ0WI'.WSZ0!T26H9=;"*6*Q77-;BELZ4P_@(I.()3)1W/R!,\OO((AGSQE_ MH"1^@04]+XJ*L4[@:W4F*/GL9$UNLNMN@U][4!)I/);*?N%%T(\>BW^F1/+F M5SQO,.D;W^YJF;H!I-1MJ;QFTYK(+!W96 FN73[KZ TVFM^FQJS^:I&9_%& M(UFRVAXKRYHCB;1]81P'AQ$WN ]VKD#B\'[8"7525[K<1W[ZS;>YY_LE#/P[ MY2>O!0_5;1^4HPNJQ)O0/LS^$67+4'GW%U(DK_:"3 ,7%,X0?.17Q:,[?\<% MZP?//7I87)!4]9]+?OQU2][?+%@ADWLCXAN2[&E5._SWOXYJ]GP-3^VIG4!(ZNH4)''SOX M&>[)"#;3NZ[NA_[?C&8_#A.U<3?)+;NO&+))ZH8W(GB:=TZH3B-T'# M2.RI\[\\-C.AROWOGBZ<%5[X,V!Q8(;5(TW@?_37O^BN++S F]?1]5!K)Q_\ MX8V&\S+Q>JO/[>#N_G@ZZ<;Q;FV;QJN&0(E*BIIWM>FY._X5IY)[CO=>7$7> M#%52(+5ITJ3/W?&?)4>.7*HW&::;S0CK=%NDN^[ZW!W_[&PR6+1GC3JS&+SD MQ?0\&Z>3TW-W_.,U9MW)IUR"B7;\='WNCG]'2K]HHZDC,'+-W1(. M7>MGYO2Y._ZS47Q<)-JXB,>)'"GEJ,JF%)^>N^./E_)Q74B-7G#'H"638,:T M\W+VCK]4)_L3GL^+"B\[= 9//G,O4OO<'7^ZE!>9R7-VJS2W^$165JF9\@QO M[I^,;.;F]7H[_C)5%K7^H+NJ/M?Y(L3C.7W[QJEL4MJRP[J);6>BE*QRGFYS MF=.1BUYO_)R>5!.XZ^)#>MVC,IEZFR/PTZ%V?$.+-)'+*%+32.5+6:&R$ "+ M$*<[FK43DQ;7*<:5:BM%;0Q"8"LK-/0 CL"W^\@;N>PC^+;_6B+[":/[^H9] MZ@E#/D\,V[D\,:PF\98T P_"R@O#U%<2_-C"@!>/-8&;!!:H3;U!6 >^-*Y/ MXBSXA;8LR;;N Q7@KT+:KT+=K4)^O0I]MPHT"#.#53C@%QZMXMYX V]ZI*=^ MJ,4F""F?K>69066R$*<)MDX2[1LA#1Q8(1"G?M"APS_NO$6X ]%-Q@AWX#L0 M(L(=" DA(MR!D! BPAT("R$BW('K4N+13HJ/'AOA#H1L.R*$@A]^TS*JB X# MET<(!1%"P=WV*$(HB&Q"A% 0(10\YI64.B_,9$TR773_.P)^?V7$.B-[*U&[MCK<-Q=>2H<17B>91O3IDBVXU3YG2M333&_GS) MJK&PK;17)K>5K#6UB3&O=47ZL#%Y$ M;KXN3YG1F Z+UFCTEID6)W(FXR@+3MPDMJ.^O/80),P-1=$S .HXIQ8#?L8$_>*6/@KXP'!MX(]\B*1$VS1+E-'XK MHMDQ*QA7]+G55RQSKE1E5;$X4P;U.)^9%+LOH\DT+(HE6^*SV?J&)A6WY&[Q MT2B72,>G'O0&"/BC?$9X\QEA4QU1.N0WTR$7E$>>HXP\RZ3[^++4%9GI;/"L MCD.3#2F5$U97SMDZ(^>2/4VK6X-&A?:P.0@\_=BID-K9VQ=1RB-*>=S,B]BQ MW.&M)5\3T&M&*0PXC60&SW2;M-#P1FUF/ZT*E@C.\F,^V^WQINVA : [HB9S%#7VH M[$3S?0"(;U/G'S9U*I.XS/)-8W,7&<'NE*-K[>UHIRC M@<9)?4#C/&96Y6ZPZ*&*$:)DRWT\FBLAI]]*'6C-4=)\UB2FV9NQ(^=92*>H M*9=%#DB"B.'I2RV2'CP[$J)^*3]-,41IE.LAN=](-_0ZMGC[83?4'-G\*6S+A?*>H.I/M M;_A%UF!)8YQG!C.=(/JH+0"$M"" 2Y#XOJF$VQ=:W%T*OA#SXNYKO;?$ARY) M<%[D=:ZM+AM&H\F2 S%36TV:FTF-AB(/G8!$#$]=$OD;=(>[T"/CM?D^^*9Q M#LKUD"TGZ']OV/0.FY_<86F_OYA0 BR'-QPNDQZ+>#;-6%M,NZ6GX_ZL!O3R3-3KE[F)G@*QYMJH58=4RU7&\-N3"?/3*TI M)KG4RT6&5)@7LSF;/9?J-!AY\DR9:RHMJFR.<;[0UIG$$EG92K#9 MM928LGSI9=9.J#(D[;O42;L@*K)0?5[. M\>7<*,:95EW>3MKP[2<]EM+U3$G<9!R"&9A-Q9#X]G-_CB::>#W4L.?;G)"O M9G#98&EM3&PX-TZ?ZS U=CDAB0O]#K.TGN5ZS4TEGQMG.TRUBH+4?RYP6Z7: M:M<,ERCI-19>K#G9)W:0D@9$A329$BLDG)?4\MD5XFEO;5!8V$LV\'ED:KICIUG)-A>H/ M<3[#5PR7AB-/=W2>'J7KZU2SJ#1'1HJ>5L1BBX2-@D]W-#%G7OI,8=53I%6! MZ>=>%D/Z&:W^>%'<.)5.X5(RP:628YY+$MDLE\4I@AMG1))/)8C$9'RR8?WU MH+?W9I: MQAFJ.!;JJ:)8FJ?H\]WI.9%.)=ULNYM49=;M M$^[@.64W!\+TG$@3;#U=ZPFBJ'FL*)^>DYD18SKJ)K*;6EY"O]\I+I,\6J M0)\3Z9+S3-"9>+Z$E^*Y5GK6;F3<=[K2_7%E*?I8U"O-RW%*GZW,B MG7]1>^0F38_8:IV=BATSA?,6?5:D&[2I)0929?EK35P+&%ZMFD-,H)R=RHBC2 M-^Y+5N1EL\^KCK3OC&N=MB23UXE>-=V4#6;Q$C>R"8T8QK/KT]:XY\?=K#4N M](1.4&<_WBR/>L+@\C&T?M@6;H>%@Y51I??^CO.7][]#$UNAB1G^P M35ZS)I*)\9@*! GYB/"6%AB+XE75]8;X@>!8LM>2I&%@F@IXD,'#X%@&#B3L MNV>CJ2Q J 5X!L'BB;PM87]+&]GV9OB?)["/8.ZV9"YD#59G3W:KBJ%OY_4% M>)J+.3:8RA9"VAP,P68RB.=,8>9Z2P7/U$W91N/@EV7-<,!$P++@<._(TY:$ MF28O'3#$L;S-\&=X^&!9@WLQ,R4)&YLZ+V*JM))4ZPGK'?8%A!O/@P&R- &+ ML 13-M [4/] W9+\)WC?_85=X),\B,/!,11BJLP;\<);7(RBA2R5SNZBA0]_]40 @K32 MZ;\UN&T8 >,2@ORG'U#0PL8\)!Q*0_#BW$$M&Y>.#O^#N,I"#"O -CP^8UHP M=P!4%=@(F+L).CZ"SP(FER5T3"Y9(#!2)20),R@R!CP=ZT B4 FF*8^UDU4HC)V#P?YI@6( M&>_-TAE;-C PP A#8P3UL0.,&30AZ._PD[/R'0EI)*2W%M)$(*3GS95^(KI' M''O(L.XE]\0W3V##H 5"HG7ZZ)U KG@@UN /R*,R)2!>?.# >&)O!U,%,KV> MR4!CH('0O0$SL>$WY0G0!VXLD$8DY'"2%^9_3UMYS%^9$^[*/+YH?E78EW-S MO J"'JD[DR2[9.J. 7;V- +LCVKU85US%+:K96N+29P=+Q/TC6*ZRP<%O7W@ M@.0Q_8\58''OG;]7YNW8B)D0+-/TY ^%3G&?C47(UD>! F)RL/U@+E!@81=Q M6-3C63)OYS +;IV%K:%0\98?0%B_KA0XDK]]*+2W4$<<^<6=NP\%@'=L/?C M:]R-/OGBYMZ)U%,Z:N[]^P='U^R@&W4R#@,=LE&3]7 0@HQ:2H>#$,0[ESDB M0GQA;^^($F&@1*2;0D*(R&L*!QTBKRDDA(@T4T@($6FF<- !:*;(9PH#(8!F MRD:$" $A@&8B(D*$@!! -64B0ER/$)^\AOIN[OOK5IWYQ*I]EA-T%7[X__U% M_O7[Z83T;?N-[(XCO0D)DF9+YJL-&1^]Y+!Z\:]_\[QINF!"__O_QO]>X8K: M>[[Q=ZLW M7/)[(>(W7/)[P=@W7/)[84]XEQP%&-\LP$!U?UY9*V]Y_]4G ?K' [F@[^U! MF)@B]%$(+ CU>."[L,='F>%D,WZ7.S*_RQV)]!-^6Q?@)MQ1WY=^^^SB_[<. M+^UY/R:(F/<#K$T^9I_(KGPSNW*.[ ^E,2*#$G'# ]N/.^*/_BFS>.SQ-VN! M27D_G[4XS\&%\/]$IN3/33US0D1, M,$GB&O[HO0&@:_OKTK^N=7AY[S7=I1?, M?1KGW7G=Y+WZ@AVM^RW\CJOP\P_MW^!=P/MY"_\!'!UIZ!^T[HB?OR==O9JI MG[=N+Z*Z][IOR\_$_1=X%X;.//"ZPWX:L<-#H]#SNY(FZR;6T&W)>LB:U2MU M[OJ">NI[]^39H\3Y.'!<3=>F$%NS((WMGFM(]$:V=G_T. ,Q1EU:C"63RU;= MD4@;Z1?&*6YG>+Z5,=;QZ:<[^00H=/"M>Z3MX.(+O0!"?ZY73Z?3ID<#LY?! MR0$M9S9&/Y,IPZX*Y%__DE0ZELFF;]2>ZZ[IW2\JR?WRYL77:L#U!?,.G^ > M #@>U&'E>$NVCF0XN%W4G.R^<0;RWQ?OW]0*>7)9:TLM,:^XZ90P*K3[A;[Y M^?Y>Y[7";K;G6OAFICBE4_49WFQW,V23DHAI&BJ$E*<0B&2D$"([?E=UX",& M1USWS;GNIQNAW8^[&BUT/'9D.79CR@C"&@T@_\ST)*2JNIT_VBIY9SKH4'*MU&N@QCW$K6W/78^1O^O]L"NI@2^X MX_5Q-7!B>V[0KO2/.>5[PTQ'X#^OBD_N!?YSL5@^(D0$_O.S"$%&<%CA( 3Q ME(H($09"9)\B"-$PT"'23"$A1.0TA800D=,4$D)$JBDDA "J*<*9#@,ALA&\ M<3@( 503&1$B!(2(5%-(")&-C/55"?$;58TANN]XC^N-F=N>884.9_J!,1VO M@II AIO>U\>9?F""WR8E\@V7_+BXI1%C7\]K_89+?B]T_89+?B](_(9+_I&, M_:CJ*PHQOEF(<0%0^*&!D&^Z!$9JXK27\6HSI M@B2@"O!3F.D_QV**C$J8^>0-RC^4WH@,2L00CVU('ABW[^O!IB.#\LC\WZ8-.)^R\J@LK[JG63H8!&O"W:= @6> ^&#@%&;<3/M\ RC13T#UKW3V#H MGXHV'0+W\2X,3=Y_W1%#WZA>ZF'7'?;CB)NC37]U1?9W1 J[#6 @0?J(@8G? MA?<;MDNKICQF1DJ^5U*[HU1_9"_IK\*;7@^==FK(#<>,/.Q1W>FPP17C7X$W M_>49WBN'K0\HCU_; S8LXA@F%.DQ5QN**7+**WR>'/'\J-_NK;\"17K>T97T MS+:R#)F>M"M"VZQ/\SL4:2*6222_B9C?!"AF=2P:JA58L V";XDZA6^MNE^A4U9]A(+K5?NB$J^)KJ#HDEJ[>$> M'OJ61N6N![_?]5+7=?3 %Q=_?; W ?8&0+3/G@W [*8L7'5^L@98P_Z5H*[! M3#>?%]HS8K]QO9F$\=.I*4V!2XQ-@!K 5E /8/H$L\'?\OH"3,Y%VYO^Q\(. M@#XE__H.MP9?&O 6^ M M3UF-<4;.G ISUA<"Z"'\AB/(ID+:C0P(?6# .:W/M!6CHRF"-8G!7#>$'P MQIF2((&/(0 W'+G[W.!=]*'$"^ 9AF'J&^3^'ZY5!/]OZW"]X"-KIIMV'"IF MH#%M$ H\>3SUBH,\.)$#E!1!E7@3"L[L'U&V#)5W?R'F\S<_J-0@TT^)%"0) M^,@':T$D.L91.7CNT7-,@\R>9 .\UB)P$_15N"__W6$ M);/+34)D=-W\%=2K'&R?ORTD4BM3*>Y!U? 3\/I?O+KF7YK1N_2.*).J9W MDGA*ITY(?I-D96)/GO_EL9D)?9S_[NG"V1HG^#/@<>! J$=U3OY'0%D@20*: M(:\CH'IKI[KX?P]H?UXH7F_UR0X>[!!!/*6\20.I@_Z9K#D\\N^03S+FY'6B M5TTW98-9O,2-;$(CAO'LFH-#B;\\83W\&ER\[\W0XWJ+G]GJ@.TV5E6R&I]P M4G/*$1SZ'G\PTJJ/I_D4-\"9ICU[)M.R+HQ;<&3R]4C1:?.5ACUIL&0^EQ:> M[<6DU5MSY.DS%ZFFL%#,;4^1F F_-LDA-Y6G8.3),_$!S;2<997$F^MU-=FO M",GG9IM+OATW.*G2QD=31F;4VK+- M)*K3W)I+G8[L%4FY3IE9!G?5;*_38]*UO-$&?N3)2&LU)>5X&\^P W=F5'** M.(T3-)<^'>D.5M/E2W>DL-418^I#54C5:FTP,O5ZY+:USC>6]4V*LLQN=I.R?H2GZ.A)[3O5,JTL52W8\9-2=-M^V5N MM^PV'!H0_\C '45%!<=$8@2EQ.N:T],/6NCD76O F(TA:18\"QI?TYL+DU/IN0)S MQ[+EB?L9/S/8(\G?(\A?EFS9T WT/,V)KJKZ&L80:-(WYL:N,)-$1Y6:DU,N M1&;NE &;+_.?4I>; 9[?HM=IU\2EYL@!CM>J1AOL&N M7\CL1JTRKDB(C]>TO461=WV>+]F(X+&T8>O@L;QIZNNC9WQFDZYY&2X;;BB@ M.CPAO!FG]F.#M\!TQ4.I@M\' MXP@'NY"/SBY_=EW:5QKWOAX0I (-WC5U547'M<@;A.G!A:'JKB3M\H2?D(V# M..+>2_Q,B<5!J'^':=^[U&J?M]UNIOT5'N_@^*"4<$N5O#O/3-:?KF\R%K;U MRV>QEL=AM"9V//YB?/8*,O5YQS2EL_7RV>5<5A)SC66=Q3:>J[&M1*X.C\K( MO_[-Q(@D]2<53P5LLOA[@\4O(,:1S-9E,99)Y]@XOG4=)@8 M5+.9UN8-A=T%F6VN3Z;YP/6-5D_%!80TD+_77OP012R:("Z+W &[T M[B0L,'6&9**]U00)&^N:\]M6[YN42GXH]_T]A/#JUN_@L!TR6%;44Z M=<4MD6M\D)D4M]LRS[*#-9=$U\)B.)Z]DIE[&)OV363H=[.[WT.LKF_;/BM7 MZ4VF/V2=5%JI.N-XI]LW*S.9!G(%C!A%7;IJ^9@QG6_>S5U09_.;1PW>OL2R M_4"/\];&SOY#SWI9,?&DDK/YX45":PT:BL:D/$B+5YE+0XA&Q1/J/KD%' M@5W()3 * [_:5'Y,*DNYP:Q2+^EIMKMXR?75?&Z"/T.IA/>6LYGO$?&9TIC_ M'%3(]W-,H^#N.JG-CL=+;TL4OR8*>4I/D_ARY>+=3HTK%0<^X <12R7Q1XSL M;LR7WTK2HA#P=NG-=Z5O$I\4ME,[7L.;J:[0:8CIRIH)<#AB6>)27N4Q(\ \ M;\@VF-Y6$A$YX+K #];^"F;DBT;1X!=9QP-FS/N\F(>LZ-\]>EMN\TQ\9)2* M2Y5UV,[(JFZZ:7RQYM+(:J9B.'XML_G-V?J[R^XCQY$G #P/%$+)L&9&LNQ' M\^QN5D(;15NWSBZ6?99[UW;07+%4Y5OU.C/HX62/;! 9M0EO& /;DW>/85P/@[5FP+VT M)A8#WJU!UO6+Q=X6^7K1$)1YNT@SS?2U.1V(?]U]NSWMD!6S5Y\Y0PYH!X$,X[7NK5M1EA#B"M@ M8I.Q)/Y'T*]17!O^%45Q[>TLY2>;5'-D[7OL,O24-X7;=6^IOEDQ&7'V*./>VW'<'.:I22J06.+E] M3@R=YZX]5FB(&XDN(J8N2GX4XCZR9KAO"'SO?;FW"KA=0OO3.J!:',R[\2UC M,XZ><\OCI5W@^T@' -N?BE'X=>Z3A!9_Z'!FABDA3"E(=ZRGV[P*H=Z/H$6O MVIPA\QHR(@$D0=0=B)YY%Q5QI4O/J1"LZ]XB?NL+*1\2;MW@JS4@WD-&JI3R M+_JR1#5I!.$, ^QL#*C[&S57^3Y!]P^4WT0(UG5O^;WYW94/"?!+M: \OSA" M1FEVLA-5V!2SG3H-)P>L@O#@]3,8 M>E!OQ]!Y]R&H&@:Y(78 +FZ8@+XFF#!\SD0" @,\!ED3](77)\8"U+3@;57O MW8!58O"E:PD"$UF8):D3,&G+,1$\@Z#R\@(,G_$V-N-7$N9*-NP<,T;)?-T$ M;SS?+<:#X>>>586@4F0&3Z:/&Q1P&8*0)#PI<928F7!)0<"Y<3)-<02>30J) MM,2+1/KH&[ Q5S5CIFICLL)6Z^L$8>8R25U>>/E-M;BQNS2L%5L[QO=P@ MGUB;!3CRY)GJJB+,EZV$QDBS2HY9",.4U:3/M;)8,2HK$].6S33-6EQT905/ MT&L/=>?5R-*8)18O_25;+>5;W98S*^BKMH<24FN[OS;Z"J]T:H6E(JAI$5X9 MH%Z/U*FYDDU71AD\OVS/6MEU5W;/M\=()UKI]JJ,C]GNL-$;S/!MMA"GO7+F M5^TA3,),U!N;MA*71OE*NUY:5-+3@T8:-\;CARVB+G5_J&79](9@4TF6G(V2 M#-?AF@R[]JR"K &=0=L7QOF-8:X/U4^^G]O;:T#TZR&FF_?-78R=_'B2[ZN[ M7&2>L.-V7E?L<4&^:QPN;>J]]_#RS.G?LU\JW&O4@DP$>QV>7AG'32.M4S&U MG"K+S-1J5\DW>W M/E:/B]NHY0C?[IV;[6G_YZL_R+5(\#%X[-_$?P#G.,;UQ.F^5RG?E; O*CJ"L?N] M6>8:949^\/L#[\?N3\C\,S .GG[" SEX M9S#8G>R-;NCYY\(O&L(^>.RU;= MD4@;Z1?&*6YG>+Z5,=;QZ6_7(QV?N^5YTW3A]=H%(,JYDB0IT7:>VU1&4IS) MJ*F5EBMW6(4%%PF@$ZET+)/](Y3KT.F 2.(CB;]>+>%OBORP75HUY3$S4O*] MDMH=I?HC>TE_E3),%VZ.#*4%\ M45&:2*8I'4+=(*31APD+PJ&PPGO#9YD3SQ3#D745IPJP)P[T2F*I]&E?M_]$ AT)="30 M7W+EX7M!1VD"B*81R?@8L^3\/G8H)O%",0L_W MKA\>UVI&8=2#AU%W6/>/#;INYI[ T*WGAVYG]%9M1<=%/3\MX8.,TEXJQ%:< MH!Y@*#^2BB7(/VKO' EV)-@_6[!OYZ:\(]FI3$4O.FU'8AR"$_H.@N,8IDDVO,-X0P/V ]W,M]SKNP.$?.'YY-W7>F^7^TMBZ7U"\(SO M/6)E4RNMFG4V;LXHTFR[4MR 8 -15!V)?23VCQQI7Y3[C/*\?N9>1)&5"_,F MT6VQ%F'#GHD?C[D# *2#FT^_3Y6G/0\&C''P25 1N0 _!Y62@+NDQ9F[6,<7 MK ZO9>TX$5[^U\U? ;OM[H!MSCP.O?J)DG; JZDG/'!0X>Y(.^;!>,?6,1S# MX7L/[U!] G[@S^!,+NP!.R^9.S]7Z#SP&3 I*H'A5Z M^Q_]]6]O)F%'5;]CB3=WW0\Q'OP?AK8>,WE;@BYU8%B^>*(?5&J&8TK<^H40 MFH4<)2C=/D^-W%Y^;1'3.]5?ICZC"F5-:D[RIB3*=I$7D&4/VI)UP/[3=@ML MH2XRFKC3CW'24Y 0S)MKSUZDP;1JI'#))L&$G]O#R78-874H\K1'T?_F MYH'_8$0*8?L0,83?D]<78*-=P/D+0Y4@L \@M#Z9@-=I4VSL8K)M8>L9T.=N M7%]KL&.,,[9D4>9--X;E6V4L7\+*FO 4@Z+_?VX44! I*(/$;\M@FLLWC6Z> MQ^7FJ-WAD_/NFCCV1SXCA!\JB*0.A&Z@5U]F166[8DNL,FS8TVZER4W_^CS5C?_DAQ/WU1]@=7K2L#A M!'SO63_1D:#T4-C?4'I@*$7B_QQ*./J(^.<_"% +.5S@NU.'-WDP8L*"F6"RA1E>YT\XS'Y-QH.OHB=V)DG>Z''Y@26.W),F/@\Z4C(^M@H"&06H!],5Y<(612 M'QC.3ZBZF B(%\,FWJ# MP)I-78WM1O.6)=D^8"K^7O<4-%(EN>@MGG[I/6([7%*R!)@S60UN6+LCH M-X0?"^3) HHGAJUE>X9!XGL$1(BT ?TL'SIVP8M@8R8VY #P8MF"Z]W3U)\5 M.AU(_V,%6^C7OH.?+"BIZ(%/G])='_4'7H,()B"(X)]?F(AW^$Y3*=@9QF%R M&[*9[PK;])&/CA\ILK@E"5"90> 42])>:S*&-U6W$^QM<^*]\*A. #]07%:Y M:M/Q[++%DN5&.6D8Z6F* HJKH9]H+6]3+0=PTD[RK#U!#X@(&!%&+8A+UH - M--V^,"ZQ%Z%S=-YW]06*T%$!NX#-0".A/K,P";#\&?1(]'+P PF5AF5( LP] MJ.X3=A/@T,\YY72NAG6DE:ZN8&^GKW+*W_?#X98=:0- N[$.NS!)9@Q#UTK! M5@-O00U%Z M" ,V%CP,3@4EG[AB9K]:F_\W0J^%O/-BHZ@S.T9( PW,"XFA(2 M<_AU?L7+*G)F//9"1.(-0!^P"0YDBY.WP+F?Q13WHNZ#R%Q0 75@,GWVCRA; MALJ[OU#X_BJE1Z:?$JGC#"@2F#>SG4'"QF0D=BO_NZ<)9\(OW\Z)>(# !6@#AZ.Z;_?"'@&/GA>+U M5I_;P0.@_B25QM-X-KD'0/?!QGTO]1(PN0\X?GM[>ZO<3P*Z=N3'7+M.8&^. M,Z2^F\=MI=&D_U+1F#Q?J9E3L3->JO1OIX'.Y6+K_$9>.(M=V 'B85LHTA#$(#\P[V?2%X\ M"S3VCZ$+:F?J$X#=[PH=;$K1VY,+>;JVR> E(MU)*/EUMU[2'+S2R *"D)<( MXOGD$U-?A"/]>7FO-\_-@:HW>C5\08NUFEI@RB9_C[UV-ZU\HLFO-LR"&;V, M#"Y57*]H8#DO,[^755O) ?OO\F:FER+58<6#G]( X:W*"Q(:YSE[M7*NV0&Q MCR;,@")3/'_9,;PX??_QP6,<"SI&* KW?5J(H*E!6W!PYQN]_.\@&]@L=O99 M0&OG7".?<.RE5(I^_Y>.!-0L\+A1# ^,"53$+[JI()>S*=@ZRA\1?^AUDF]Y MG>_YE?![O#AWK'UZ SB6]DQU,5$74*(.<(X*+);I^ND0Y'+KL#\-,!_>8FV@ MKFPT]B#C(VLPY:.;[IW283L5;1UXN\$^'.W!6_G9?0(1Q-6 EOX>\X8!0DSD M':!R0\@._B9"G 8- 71D&6 G0%1DZ$Z%@JE]E\]YFMO&9Z7']!_P;NP*1"( MJL$#=4V"W '(BL'P2][$$9WV,P@H+5L7YW*SI/,N<[,S'%[[!^]GR[2Y#DSW M(4T&?ZL#D0&ZQ==:5U!\P:@^X$NXP^BT%'X=JC+.3_(W ]DN!J(-A_E/$'M) M?5SNY#;LLAF?-.OU:;WZ:6ESJD:\#.@&U 1P*VY,>LD#U*YNY\_JA".]_N0\C!]U/LZ=9PVR: M[J=6G0;;;,FK7L9<)OC2&KA'3ZF["/A'J716P/^$2LJR2RZ*&MY@FDPG-[6& M>B4^^FWYO#*5&"V+QPU5-952HBM-AMJFPDRGD$KI.)P++ \T$'AX<0ODY M.2]#&C18"C*F0"\U,.Z#>"#F':0"G30FC#8"!"R@?^L([=&V"UT MU^R0WWEW_O"OXJ.&<1)\F(!-@ \$["1 ?D4,3QB+(\WS]H;&#:\8CJX(G^#_,-@ MX"I+DXEWCH31(*13L;U1@V=:]EJ2M)!HPO YL,:ZH"B&N^TK;"587;1ULN&HY3B M4G.8:O7,>?>WE=B?D367QYUBO6)D%:>ZIMO9BC).=N@W#>+?YW3!?T)$[6L+ M<:50FF?%^IIG''>4:E32R86^;%^S&O@/#,ZTG4GERRE>8983=;K:S)M,0D0& M)W&6>N$AT[6%LIFTTW@E-R.9KD@,.ZEJ M6![0;_H%?[\RJ_^Y9L+M=\LO HPO;*?0,(3SY;4AE2T!>B/W*Y;.^TE*83:5 M[)DN>OZ9*2W VM'WCI!.Q_:^(,R;*?#NX'FS>+8><@T>?[O#IYN#8G^N(/P, M8IUT_MQC8UOYS7;4<%BY.U"5G, .TQH\8WHZO9/ZJA(\/X8(#S=VR75W6JH(V3JR0RO]D/Z:Q'>$I.+0L,7\.E."/4A>EP MS9&G(V?K6K+.50A"H5(LD1TD,TNR3(.1R=&0^&=S RG*O* =%T^;76G M@)=.YID:4R,)EW--O$2[*ZYHY0I:#XX\Z5ROV-L\T2QG7A2JHB=,.<%5Y09$ MODZ]'EE>#TRF.E87BCRLD227K\LU 0+0GKR]7.(T[F554922DQH*F7Z-+G5H M+G4Z,M&EZ6FBFJ[CI6V:K"4FJ1:7@U!R)[LD*KEUN$(M5DRUUBCKP^>:/%B">9_N M?%-8M(>L6T\PRQ[5KH]7_("5X"@<7 ZVKC.WE@!R>= MNS+D?>['YC?(;T$6"$2G.K6#$G?<4 M+#!<3:\<&RCM\P'"0"O67J8212GDL,,Y R/9FC= @$!FGD[OOZ,P[N;[E3C< MKP0W9H;T2R?3E!@GK<>)TBHQW!X?NGWE?K7:K+/9\*FFLF2+_&WS/M)GRC[AT[&.AR(ZM71]9"=.*O\VL_K7O5&P">4 M3/&/*/D&K409WJ"RT-$I&H,NZ4S\@A^X!0XL>PG4U>Y[/+Q5 3?5^N5MQXUM M5E>8 =JJ4G-R7GXZP)G4H&^,7H7*74]M6G/M3-:Y[HI@J)3::O;=LIMKK&]E MT_9EPX?0&F\"(Z!OPC]^$ 7G$Y 6WJ0@=_D3@A6]@E<)?%PY?8#WXI=-XR?E MSK89O/6@<_-??P!3 RM(TU&SZ&-.N$O;[NP3&?5/#P,AR"?\(MQF1(@O(T0R MHD,(Z!!III 0(M),UR7$Q[%J?]M]"AELXZ[#OX&WYDXSH##M>3UN_@Z]C1[I/.HX/TS; M_I76;D#>H\$G!R\]@6.89JM?:G0J;#RE5LH+:434D_!@G0 "3IRY!7PU:;^W M1/S/M53=6=:"6S!@$(TNI.RT&!TH,6# P#X!^W7. MDFG/Q'P*$1 4:C$I)?$ZP;5FL)I6[B<23+ZICU^>;3'.3."5 M(Q!E)FZ9_7D,:8VBS$BJ0V2W/RK5B_*DFUD4A"Z;WSH;8[S),2_.&DAU$@&Y M_'2I?LP(L^!3WD,=4^6%;/M=@@"K!]UR] 5D"O1YY*%_,_O=G?&FE(, X_D# M,L.KZQ>=]$+=UAM-=VFQ^<&RWM<4;6M48=-M BJ#3.2D1Y'\=]03D7/PGLHX M#>?'CO9LJF-=6=J3GM,TFG:]V@::(HD C+_O4?!WCN:;$&_D.]0FADW@[^XC M(,KN/M*F99BM\4'*SL;ZI0U7;5K3O-(L=3.&P!+M;)OF,M 1P)^2/STJB&+] M1Y;^GY&X?T?DWPX"7BB93W*E-L["CVRY?\/@0:%]6K\ZSZ]KWZ_-<*4K0O*3%>!1%O,T@&SA1B\ MER 2BX/>HCUNU"EE,%,Y25;T"?7LBPG@2TFD[0OC_%:GMP94_$V->5=<1P)_ MP@[)X8.P805I(@NR?66!GC<03,_KUME,-0Q;M>XE0 B[!F41+(MNJ/>N,+RPTY9L%:)RN+E]Z&. M$7OM:=Y$6LY4UV589P.Z1/,*S*6-@9@;G3T6Y $ M3QSVZ.%?(YKP3'K?7NA=",SC+JE[J?HPR*G/ \5DJ]359%Y3!G3-6);SY;Z: M7%\Y3OL<2[P2,9'6Q(YD P*)W@:U$+PG8@WK+&_DR]ET-;^D#)9_&7-21\K/ MJFW &U0F1J9.CV@]QD (X+)]+%ZH#ZJV:P=E <"-1ZXB:C]\3:3G]CD'@1C M=4P7;38M +\%["_MK1.>:%T4/JX]&)3&:BW!4O5J@;.I.$/!GEU$YHD\@^*^ M$[X8K*Q0'032BOIN6:C]< QV<[VV'?CCW?P3LW#$J4B9G34(\K(HZ^U:*LF0 MPT*I.TPKXP7J#GVFJFAG#V ;L:"A60RJ+!ZS35Z4, ALCXUA*R,(;^VW24?8 MM:B'!VI=@9AZ/\]]C^3CQLJ'BI ZXQ? !KOZ& 0T >KM[H&WU#XD1^TBQOTO ML#5.'AI=R02V$'C?@##[UE(](+*ZV>(%&;B >=Z 7A@P-+8&W,,BB*_**[\E MPA9/%]NYVBJC +GH]O+S<:5=NZ<6(Z5E2:.?ZWV6XJ925K"I1+V\!MY",AE+ M$*<'3($:0XB\WK(Q?]V8OW L6#GV-UP[5N[_!V.[,:S6.FBN*B1W^J8 CCA M?'2-(.@.D/4$5>)-F->8_2/*%O#_W5\H6^#[-D&6BTP_)5+&$;PQ\H".L?<. MGGOTL+@@J>H_EPX1KHO>]R9L#YG*92W(,WY"?@];]X='OW;9PH07W(%M_A_L MX&>X*2=$@T#.!_MVA.7L?^T8SCGX\!V819_FMF[\(HDGZIC>2=@?[X3D-PG& M$P?!.(\!9QHHA?_NZ<+9?!,*SS4HI^H15)7_$<3V@XR'OPA M.N-YH7B]U>=V\%5GF]L!5,88A2#(*?'[ ML.Z,"5!^8P\RWS=4A_[$/GSQ)U.2DJ4YMDNKG4_V7EN**9:HRRII; M^MA^-MRXT'B9GFO0-!DIP[F48R1FD4ZJEE#/;3OX]%R#)L4:5.*#EY;)\M/Z MDNT-1@POTN<:-/4:K,(.@'_*R&2Q,.Y13K[$K<\U4R+,7GV<97,3AK>)Z=CA M%&=2];$N7K6'FG2' W:>KN+Q:MFLK9@,U4W1WMWY5TV*\H/MMFTTX@K/I1AC MPA1[\]3Z7#,E0 .NL70R:WRYRM2$X;2;GR?.-E-*5XJ)GKYL=Q4G1V;QMDSE M9@9]KIE2(T45!OUJ*JO$]?K4K(AE?%Z8GFNF1$[58;90T9HXW]9HI3VPFBVA M#?-7IP_%Y4Q[99 ORE(C9S."H+KU.AIZ2GFY3;G- MUEXVEVTZR6V1S>1T-/ M-BHYG69UZGGT@@\V4Y%AERS%SFB..$/1K+FFMXM">P8Z1\L0],6/)#QX9$$]8L#CD%GO9^?NUA(*]B 6_ M&2<$IQ8QZ7!ZGEJ4O_'-N"M@D^YJ#/N==+QVOA/T*;)KPOCCK.GXWE MVK1$C/BR8(+(V2C;M>&VX^3H]P-_>\;;%Y,T!\84N50'03IPB;Q.\YX+Y"W$ MS]:!+^\\L%>$O\"B8TG@'0MFLB79A$RI.C#9AZUU1P7$!PX<,.!Q] !8B:U7?CAYK54]S^HL4Z1>R'2K)E=' MN/O3( MGK1R*C74/"Z629SQ5*_8#>U^G0:]QEM(LWL]H#+ R/SDL[/<2RO;X X;H MUQ>W\'I%8&0K:4TL>!-\HWL7*^;ZSV-[:>,+7"P:]9=<&Y=NT;V+?/>$[XTX M.K4;MZL&3WZ\_N5:#;W\&: <4!Q_2E"I="K]*C=T4'YTKL_74SKQ9ZV^O/16 M\BE-1+U"?K\@ZFI-6X@GG(H($09" -&*^AB%@A)/5#8B1"@($>FFUY-6)MC16QPKDW4[ZF&>U\Z0@DDWM;-7U=A M:.@=WGM)7W_GT'?&?N#"D0;[B>N.&/T1%QYV]VU7Y$AYRGE_LGPUIOU20OV? MZ_'PCY^_3Y^E7EC\@36:GDU@FFM!+;7!,O M+I8OL+5."EZUCF72IW4'CQZ#1/[;M==]9V?M,LC9K9<=Q20_:]U13/*E:SLD MA&%*Z.0(WJ.7-'TA:RB5A&$/[37=C8>_^RHC+_^[+/*1^/4!G>)7>2#O>L)) MP?^;=PD>V9NX[#L&)U(/[#5W9%[/VZ M8AS>E.,DAUG+70Y?9-@MPY=4.=V";3](>(4H1E)4C,J>0I]$YQJ1U$=2?]4, MUU=*/:%GB+PRJK18OHRW[<^KK)UI9GBV0 M3L(^(2FH+$#(0%WJ'OKXR0)_TT*2+@@SZG[(CBO"O%4_P35I3M[2-V>TC+UP MMB]6:KAD%_(L;M7H7)RH0'0<+S>1IK*Q!'63AF11;N*!Y"92,2%6,?=(@WQ" MQ63FVM30C>T4'Z271:>R&DQLBP8JQDN$9'$BELI<:FGZ8(F0(T$YQ$6 W_I& M9W MH,_&6;_B9.E:O-%"$*,DZB=]VK8DBM\B(7X((?X* M&?YT_'0+&=Y,6+>XX'I%)>\^YX1DO]*I6%,HPRDHP]E+)T._9VFC .F;*ZJ' M]AZC>.C^#!PZTCXT1S]F/%1X$[\U\J4>S)?Z?@&1SYQGW*D^+KXD.^UM@8T7 M*L/L-#LEYDH;-CWP0B+J3T*B*/ZY^[I_BLQ^N_CG;9$=NUJOT,,W'69A5MSN MF)#4Z?,4BJP7 ;U[1!0TFG_==2ZD]7IEI9)GH&*R<&I7&CCT4YSQ]VO3^_+B;-KU'OQYBJAV"N)\) M@\^VH_>[^B70_TX?Z;4)'/_[A!WL'T+7/]K!KVE/?\KY\.>@0_V9N;^:XY[7 MC O+WTW<, 6X& ]>&? M'+1\;.K(:,QQ-SC)@DI+MF:2A;K""0)@3A$V%9R]"7 #>!A0P> WU,/7 ON&";PE6>B5X!L+WO6:I\#G(U&#G5W0 MXV7XF2!9J'T=G)C7E,X*9H0ZV_'@"39L=R=**TG5#>MH+3'X$##-N:-YMLK; M#/ L6*,'[!0&]\*25&P&)JL&38*\1\8P"3:BYVVODSJ8HJY-=3@&-26&&P'7 MX"W*GX4!#)XG":^WR/7ZV8#OO;4_34@M^/J3;\(^?[ Y(.IZ,[ZXS<>D7,NJ MNJ?G.6K"+YL29!8P9? ?V-I#]SH<[7L ^H./NB8%'Z+U3"34^9I7L8D$6<&R M=.&@>RY0\7[C14Q0>7GA]]BUP++WX=%8>;Z4ZY+?UQE__=L$7 M;=AT6.&G<$>Z$(,9=OC&NC2V JJO5<;R/-BZ$O#5#,#@ IB\_"]VGY8H1PKE MT(.##:.F9YM-^>L2=X +[V[O!\NJP/H77,^R\L]Y,F$P MR_ER,!YG^L6.O#[7*C,)G!GHSQ"HS7-M)TIYV+IRU^09T7%'QAT5N_V\(4,6 M11P*&-1O]>P[/P>/@P1Q+/3 X(\M"2F"_1C_RY5YH>$:)3*+-X6.*EFCWLC- M76R+%+U^ MU"LX%I7(\2PKJXWA=$/QW1[9_NO?"6"J,Q[Z!\GI<[C/&Y!98,\WU$/,0JV/ M@%X3H KT^XD5)5F3!0NC%WQ/ B:A)^DFK]F\IS:#AP&&PQ#P.S)T/&Q5H_&8 M#;Z@ 1]@ZCZ]QY9 21O@P;;?<=9[+C0-NT=X/>]E&ZEFT1&")<#V99"_P$:H M$C(QBP7@40'1]EBYBSIXO*;;_A.D8*+6/^"YN^ZVX!$@O 7"%/PY[JU,1%*F M:VC!:&_0FJ#./^C7I_O6$[HFDFD=36#?HEU'H@36(\K60K:L8R%&G0.AV=!L M0 _#8UC@&( V48&286=VL%W9*"E46_T&% $$UF3="WFJS(3Z I@(U'K*/!' M:,9A>W3HTW2DE0Q4=: &RZW.3@V"C0&!N8CRCV!3P4:@AJ\2#RCOM_2-%$?8 M%4=F6.CE#2%N*>30DK/X+"XSF?6U%(?OH *7RE%MSS';&;-7A@^X:"Z48=22 M$#8']G80?M>G2,!41]QJ(O[T).?8L'J[@#4G$Z"CD.*"!EFV4>+\D'>1@^8W M=$,:">@G_U6 W7>O^R?BYC!Q4D20-_!/XJ["5^DL)"3#Y:&:+8 M[8PG2K.>;+1TFTO(-K".J/??'W"YSR6!89N!Z7@=4>7]A *O#[+2(=,(&,Z#E@2V# M\89CHI!8 $L#8=046'$M,+' D/@Q' J:QI(G>RMHW?D5,+AC:$KV"\;TM08& M0\GR+1-<+33PAB&!J6"!*?2G&HG/@XH/3\M#8[AE2SC?G#.=XG;U,DQ._UQ\ M#*B\=<=2W2.!V?F)FGBW[?+YU.(BK Z;=\R*_MSV^J *[XF=)4-#] M="GWZ[7O.>A*)*@2;\+SB]D_X!W ^W)_H?C*#TB#BR]D^BF!VC^"C_SF2"AL M/>Y;=/#SJB3$XK7!;#5Q;Q\LBE)5+K_*S,K*^O5VY+L1_OM_,W-OMV=CY;15U!($$-"11$^1WB_7*EF"?U,@J"CK'M :JT;VXEL"V"K0PD M8829N5C^^A:$81W5UAN(/PUK.!>.9,%>QVL\,VL3.@9R: )XNXHQ8R$P0P"$ M7S<5>X*!6MLAW&F ^VV"_SKKL38PS#,,N\P ?+"0N-J<$8V-0R%;AT(G^KK4 MBL#G0$$8CM($)()W:JT6#A<9!@#LOQ[=1Q/,"6RI8LB4OL!FF$NBUE9?HSM4 MSO*HYA=W&3X2SUSACL*RT.@]4-1TD3'333+AQK;:MM+#&.A:=U.D171>UV[* M4O$/RQW8C2%Y]DQBQX+X@R H#5C$+9,Z7" )[D3X"]2CHRGNWR14*HPZNMHA M/I8.Y-.I7>O9($8@>?B'@]Z#W[8=4P!37\$KZ MR8SN$;5 :Y58R--QHALY#:9"3[K5)+(+RJ/%D*6T]] DV1SH%,#< ADWC DS M>!U&!L7I8!RHHZE=W).QE6:P]82VL:KI0P*WJ@T*S^P=S^PK.II $_)50S'0 M7 =%/_9L?V\&;$!0-F'@@:5*XTA@UAFD;B1KNI]VN:];H+052Y@/Y"X&A \H.A2%7R$:.!V1#V$+_GO%Z&EW0<,RD&QC6"<$ILL,DY+RVY\#" M*466T(V80,1I@Y?ZG07S^>!X=03!)A7?(?L)J!Z-V4UHO&&A[R6J BW8%F!' M :.>"*H?;H1&KJ;2K1@4G 8(84MWYY8$'5?Q)A%(V,SWMQ[.MZ<"JNO3DS#4<()9:C:(KEB0@Y&VK?0 MWL"5!/?^(F05(9.&\= G1'UQ_606/1/HJ=>JTWCM-!@*5J5CF>BVAC89YTW^ ML#F")A1:)/53HRNE)#&92$BI']3Z67,.QE2@KEO(/Z8.IAG^@:H$ MEMP-K!["7^@&@[3@':2HSV2[@0"6UJ0O8+%]__?XJVF0'VQ.C\6;Z%J-Z]IT M@W$2;1"&Z/Y+'=_&;>/6#\6+Z?)!-@@ - MD (Q.'$.YPHH)R!NG&[8)F9H$J"G@[+1 :'"Q5_I [20Q<^D,R?HS*ST\"SQ M&0P<<8+F';@6VA?3#1J_G%%KZ4OSM.81D4M$),AHK0T4WR J.F*T[2$*: MVF!K% !AO5H6*%FI-*VUR$5<#+!N^D<0\0+B7@'IIW$U$-AP^"S&V( -630L M6:P_6LYM<2P.,GG9U$VKK3R/WHJ&O9WC.$7+,%CD;+*LH$0<318 -0=+B9*IIYKR%&U?Y+O18>GF)9MZJE4QR"Q%@)7X_Q^*E*U4 M )C\1MB2B$NV T'L2G@5 MMF^!)_Q$N)%F+]\DV F)G!I\OD02SE8F_?#N BX5UWUBMA?\9?#87_;R\!34 M%)9-9VY[X2O";;1+E^F"K,E=72P:#S4GV7N2WMQ=^![A]I?&$\LNHHFP5,;C MZLMQ]_CL/%&=Q!.#YTFVE2GW0,:S*3DB9Y8=N_TF"2>QT="R/[O2$YOG5>%? M50#LCZ*9?T(58J">>Z:&>AN?LTY-TP*_D%E=R'?B7-HZ6H=K6&H^K,E@P6KU MT:.D7A\?I=1N^5Y)/4TJ^9&#RK#4N$F%3F"DV$(37Z5:WS^V)F?&?3)1]=2* MXPZ?&^I3_]/GK\BNWY>U\D:ST6)7VN!PD@=G)DIIH(U1.:2.K=ORG/@*08-T!%37[#ZT]C'GHJ6__1.HXDR M6I/(&0[!N2M7F2P-VD]]?31)O513J:+9Z=T;#V?WGSX8](VR)+>JDB+:=46\ M:$NEJ^>SLT9_ M">_AY9L@-J,DE"WI((&?XG7[@6V.8)1G_)%K(Y=6[)A@U) MV/"]V"519EB2VQWA1&O8Q'&5,]3,H9&YEFX[[E*)Q;W]J#Z.TH- /T_)?^KG M%YWLR5,E_5@HVZVZ-JB<)4;UW!J#$!_<*;1,+5C.5LVC*$U69%XW64L<802L M\$,*^L(JQ&+BGZ#KQ'Y\Z,NF7-5MVXMK+U;;G!P&7>
    +AE)9^S@45'41QP1 1] MKDV-@6-<+]]U$NZ+5DW=BNEBIEN,%Y]&BRDU3<^>2ZGY8ZN7_'./<6>S?4." MX%((!!-B4AS<-"X4L7QU\G1VKN9/^^;M2DTU=V1%)YIB!^(TE]^R0DRE07Y! MMUD6)2(E'IHA$$F";P[)BJ);'_[!F]GTL*G\T!,^N.W0-M$)_@3"@GN)L<8@ M8%>X#H)U4PSOD^PNMC%/]B4ZR@X3C6%%TYWI]@4:][C5P(884@B4 M.@',7(ML]P2P1+U9DI#7LYK4Y[=X:/[7C2 M" $P1/5H>)G "]O?!%!AVZ!DNV?)RLY<,N:*8(> L%&67.FO,*8)UN4K\>QI M(C]KKMLL?J:& ($N[@N!8R(NA/,L-TV#H?9TW"RCK\%3=0*>L4-[(RP-IMN! M*075]0V+C!WFH&JOA:/]$OPX][UP-D/!(GI)5UR*T ]K#QOQ.-'WQXG8?$-U MJVGD:&F :"*.,UI'NZR)%[WK1^^ZE#C2SD<_?F?%1"017U9;<>6>A.^"ABZ[ M0-]!"2['"-1WNISX^KOZX?Q['44I=E9D/U,,8X4".U>7O<#X?H-L7RK&QUZJ M=M-.>$\%SSM[R"2?]?-;M_WCMY2)9=+?(,2QG4#.#[H%&Y;*<2=N:IZ:MQN/@*0GO7:5DYQM$#9\2/,N'0<;^J:A) M0*6CF$LA;RG:V'?;:^'BY7;> M5,RIN@1ZLA;C;&?%Y5N,LT\*RYSE1KX\!D:> !_OD8U+I>FN=E2K752[9V)9 MRG;?"E$ZX9:[CU: ^ML M*S'ERC(QEJTUWW!&HP\)6GZ;C7>^\!V*0SJ0BJ71\$57"+N,6 M(\SN2,MV0$H@*U]#DX=GK:J4O>I('#R^/*1NJ]U"U0%+7!9CR44TB6W&A,(, M$):2NW';2 HD$X]T5W37T*Y;9Z!6(.Q@NA(1PV_R'5UK%?P0,JT(8<_)Y7*9 MAL6!R)6I:C1]B?U*;4X35H_LRL 6R1*!-D6[=RYM3M1I]2"5J5FEDINNY5_)'-R0Y1V>G3Y-$ MPAIU%:EJU)\[-Y..-I/[$TU^*F&C\;[4-#XM-;EVV];:P(TS$S#=='25P%:1 MZG<@1:F0%*7:\?*)>]*^K!;SU?'QPUE:CP[:I$CLH@@!3!F$F61;0Q%*R"$\ MT6!8@J/W/(-NA/6LIF;0O160+996%NPO1\)'\M@!%\MS0ON.I/HA=6,_$!'( M):VS\V:Z6!?EP5"ZOBW=F*WF0D1@(UD ;.N>'%:@]0*]/O.M%1
    WYZ6;23:MGWP^<6MF 7D] MSJR4^T;NO#.8%/32A39QI:/KEUMP>^/)V!*$CW#.?IZSE9'%^KEH)F\2H]K% M35=IWSS;FC5H34JC-7&VT!:O.FGW3.\JC[6SNJRGZXV[$=Y&OYRSZ()R[GZ> MNQ@N9#V=U.X*Y8F1*U?SSWW=E3,/%_F3W)KX6W4;\L3)P:F*U,GNG("0>9;S<-#-2*SZWS*_.BFG>/XU7K1#KJM_ 8 M@SB?CH7<\%]#:@7@.@MS<\*;(7O)P.]-O-/K2O[^5A]/NA-;CK[DG$K9$;'> M(4R<;;S,,2;L[;!$-S21L.8WR2::W^#XIMK'F!]C^$E+?EX:[N@$9;-=@O5L M@\GI6+"(65I=.(V)S$QW7>U5Z[!A*30U-SBL2\[J8U 3]6?$DN9( M)\U73\*$:Q0$)3%('0YRQIOF1LT,+'P..5?."VDI$Q'>J5V-XL'.B_L'YFEU M:B3C)<'6T=YL#>+5:SEEI8>&$P>(@ 83Z%X M%,T-[M.2U[1"T=(<8KI.1$*E@9I:BZ1]*HX?#?-OHQC2I8K]Y@ULA/]O:;KK MD<12TLU$L%35LUF9%E*JRPE750QE$/MIQWY]>8]%JH6^98>+Z[*7X&8$6<]C M0M4/- 3I 9C?&CZ$%0D=CIR)'H02#$BU%B4XV!RTHR_YMB7S2S=S+52)67,M MF++6QL7J3B.\ 7OSC4MX;+L]U!N=HEN=)"1%/[GOU'+9T6*]E^7MMJ+>RY)- M!BD1$Q@5A( ,F]GO"*LC*2*-/Z+Y_#89&5%BAPZ6U=Z#+^@M*-#1?] \ZEFV MYD>]35XQRIT.+C0T,SK-'?@N4GF>,5(2ZUL*:P M"S1F[4YFP@KT4A905V,*8>QN&@9>T_&$#7925B8T/A)M#B@$R&RI00]8)-&S M55J_;=I=P-H@8Y\M#HA[6$51"?&4O)"R=4/[J9""292Y+<-37:H9I(JH7YO(643+!]P)*!+> M^='6J8*R(;^IQR '9AODQE?AM?GF4N9-G?S 098%.B];7.B9,K0&8<(CY^<; ML\F#T]:P=1C]J68,-707<28@;-'ETS% ]WP'18I)V3E?*#,WX^BR*9-I9UZY MD>XU.A.C*YM*9W\M2W;];'HK)>OBO\=:0Z=2GR?E-M]/0^44G/WW!B02:Y,2 M2G+R?99\&%Y>1?_VBDDOK9#TQ#19Y7;Y[,#DS%PL#2M%^H_(4,6/7_7ZIV=D M?1+Y0WFE5/*L]_E=M:GGT,U'?)L;:SPQ52"GB.!K[12FUB M+,C+KO9R6'U@='Y8H)@4UZ0F")H98(,XQ QMV_1R+PR"LV"/0\Q1PZ,[-GH; MF1#ZCA3MA>91#(1@DZFCY=]'1.RTZ:B671-(RE#3B\S8H)D9C\6W%^9%QZ,) MA=(]F8)IF5'\_,HTPQ-@MZ,Q^RQT4QIM2-P;U8J>6"IQ).;=T0S# M(=_^?^123YPJ.8>-A OJ83K3JQ8II?4A>A>& O8W*XM-7SR]_P8K_ 9;&H1. MX'MA;>/ D0U/33@"\WI^@ %#X7T@-T";IM8CE5$#IHU(#K9.+E.,H/&*=80- M$KCJL^Y#!)E>^6;@!QO==EN;,HH<\L9CYXT)O W<%WC 7DGO424RXCF@2>P6 MN!!7"3F#(>-A<5O7:*WSCP@D^6(Z@:F/! Y+2S<,6IV!_9#Z,XQ54RZQ;RD5 M7U6KEJ(BZNJLFVGA?T(,4JR;%5LG1:?UZ=6\)%C!\OBF;,R?86EQS\;MK7+P M;1Z+C.ED\ZJ')2W!UUK.\8/!^AF[[!"!?I8 2U%^ <#[[#H-NY6QG1*+8 M[^WW,#JL=J[2 _F/:D/BO6)Y(BK(??]FJ5>T_.WEZ-/ -\5-MB0$UY&]/4!? MV9>3=KLT_6 4G22HK.]FD3?G^7UE7U#LR$P#<6.BBYFI[-[7X.;M5V!^=?N MK^V2,J9\8@>)YPZ\F3N0Y+D#/'?@CW('Z-4=%;4^.)%XR3TX> M7\X3M[@CRZ[R"%HF1O&>HN65Y\+DI'^>M\OME^-FNRXOMCPQ[$[9, O5;KYR MWIX8+<45U1RT3,RWK$U.'KH7WI-=N):5XTOG*)JU1MAG>KYE7U9>7FZ.Y*=" M?BC?78]KRL.-CGU*XGS3;G20'%V)IR51,\5K,5I(6/4&:1I?Z'54;5=2A6JS M*G?KQ\3=4760F?0K3_)12G)RT')A]O'+U%/F M]$@ZZLIG\8<">&D9[Z(-+1=F;V;O[)%=3I3%07-RU5"K5F*=I]N+JKW=5'.,Z%*3TV M^_)%\ZC;JY9/6TFU,*YWYZH7/RE6GQ]922#P56_:(H#[_'I/CF^&DYZ MMUB==J'3YTME?-[/Z'?=5*JCGB:3&;&4:-?3BYV*M_E.N].[:U>CS_5!Z>@H MFZUZY:DU?+7/3&?2.>BCZYH'YOD[0L#-;L9N7-SH=^*%T>VG+/K MGM=OX.L79U^K]=/U^W0I6M7O[LK5>+UU>:R17A<%ZN;^-BKIPU*W)MU?)M/M M[N04II]=)-1-6ZQVFJ9V))XGS6O%.RHBI^[N4.#Y[=-)CTG1Q"(]URYK<3++%[L51 M[DK/9$8OA?MV79(7N^V=/5IQRZO:A=2P]=Q.WA:MBRQINMCM7<;VY/R+.R[H MH_-V][APE[N] RHL0>#X4^KIO*U>1<5!_5:ZNG3/HK7^+39=Z+5_>S2IUJ(O M=]V+TU'VKG"G58T'TG2!N\635/9$;'E'8NWY*O\RDI+Z\R-INL#=0JH<;24N MJD?57K$XO+H3[\^UZQP9P,)@3#\')2;Y.V"Z.M#NU2 M#?3UN#LP7MK%^_1Q#OZ/M%W@;O.^/"@X[?2@JE=+9K1W>]1_+ *]4HM$,+Q2 MKW^=<]IB*JG;J4I%+LE=F-D2B%%,*WN3-!]:U=2C7NVZ:N_E>DR:+M#KJ:W< M3A)J-5TMQ^MW2B&M%.. 1M(2D$EI^2/=4JY;A>C9F58?B;7FI-$F UB@U^5) M2I-/NT_MKNR=9#N9YO75LTS;+M!@+%4N.^EA?UC-1UVO;>3O[2. .2FS*#-W MH[/;2NGDYJ2:TAN/H^%=Y[@HC[#I @WRLB@9S929@(6K^715-D=Z>9C#I@LT M&(*!/,@Z=P_5Z*U;G\C:[:WW0IHNT*#<3=6>>B^IHCB0$^QZ8#"5&J-;,M:%>3V;^9YVY4G(UO#?I=@[5".IX^+G62F OW]9WD..W+8])T8;3C M0O3<3-\W2H6!?/.H7V3JC>+)"&\-7^C5T[+PO'U[65"J5YKYT!\[>C&'31=Z M+;C2>:DMGGNBEBS$CRM/MG3?(4T7U>;">>@<1:,OIX7BX/FH>7)2N4NB1;@$ MZ*S[:[/[\MPNB!?5W)5V[U3NGPIM;+K8;>ZZD8W>%AY+5674>Y'2=_I9Z_FV M+B\!NO1]YOJR?Y%TQ-3D)-'I73S44FX;FR[T.A 39V;%K3QT>PGKKM4L.P6O M-\*F"])U.KFXS!8MI5NXB!92@VS&YLN@I=UXJ05[:C5K25*DV2C MH&6C"=+K FGK5]7+T]-D^;ZJBZW3YZZ=KIZ>DEX72)O.J<5*[RI[)_;Z2K3@ MJ9WQ797TNDA:2W*+U:[VD*X6B^;(/39'5^V['&F[,%KM(MFKWU;N;KH7HZ%U M*KZ8=L>F;1=(>UVZ&S_$KQ*C[L7Q3? M>H_7@W+BM'R+39>LN:G'SDG=ZYQ7\X^MR9DPWTT^V M"^5R3AG++\?2J09$6(+@)Z-1_%+-5,:B7# NU79"MDZ46VRZJ+FCQO'=>3]W MU1VD[I+I\UI<&=1&V'1!$ IG5J>[JG:'W:=D$0DG5//C*ONMEJL7 \R*B9\_1S9K3,21]7VB]M1;_L M% ;/^=+]$?A YYW<,B?]XLJ<&)G2H%GMYMPJ1ZO%2A3< MKURS=J-%;T_$XZ5.\MG-@W)4D7IV01DV$VJO>G/G/2]UDHL/ _$RW\X^5E,7 MI]9CY[P"B+O421X]WRF]^&7T2?32#YW&L*N)7N5VF>N92.K@F1R).3'ZU'(1H_&^5[C6JR=-5>YM"5Q/++_=W@J5VX'M82=S5Q MJ,1/P@[=*P<[WLY*_T0.N[RN(-C2F\67;L.%TC)+?L*GU6+IZR3XQ?;FG,48 M_G-T20)B!),/1YK!4EWQ> ENT>A!ZB7-6?<#]],T4):O2PZ! MA+>+,#=!M.&VH@K3FS66CH M;E,Y@=GZ+*]8>(S8,G0\(MHDL= E=_?>/D2/75F_$U/9X[-15&\>=T[;:SJ= M\J- X\&S<70YMP-&@N+@2[ M7=M_JY\91N?@-H,9O+''D9!BJU,2*^LNCWEFPN^$*F6@8^_-\/*?'C(_-+9F)QR4_K#X[Q],<"V7L1 M_ ,#:YQ_<%A^VNTPD=UHFYDJP<($X=(%@ M1T*Y(!RZ()QA^R#OQM![NDES;+APK$(XXCLM'!7,REJ%L1@^(JZJFC9[%'[] M]N.5YE+KE^2P?4*LWTY!V?2T_KV"F="0WP9F$A),DK 5SCZ,SYSQ_NBM@!^] MR>V=##YRL460= ?MSERMY\S<7G'MEYSTT_3F[KPH^Y5PC_">,LUQ_';3RRMA ML&B,YG]YUAX_G<[.9/JN=IIWZ=S#1F+G>*QC]Q1PQ++<2,0CP^ MC03$"TCRK&908OY)R''3\^;8LLO8PAP^ C'L]T^I M@99+5 ?GW4%T,#9*4JYRF[G=,++D)P\UQ[T_.N_JYDNZ5I9J<2^)YRF2/W[+ MB8B4S7!DXOC^/G)4:$8E0>G15'R387 -T&G&)+_X:)L+6JOD_1-M2? MZU;1LIH.O*G,J@.7+:.Y!$X*6N+%&R?[2>;0MK4B;Q M\L2(E%YT4CCJ<-397]19=91NS_G+A7P7A)R']MY>%5^-X%U4[YJEXM7#A:AI MZ7;F]CB9N(ZB4;[^"-Z>ZPP'CFFD;WN!8Z_"?I\RC.O2W>"JVLATQ5K-K=N> M_GC:&&)M/8SNI<5(0GK+']_!M+C@(@UZ]V+1MAQR1UP+,\3W)$%N8Z8!C^7O M98"/*,D-T9$E$!+5SZ3^X.2NTYW873&;[E1+HP(6W91__(Y+D41VC;[UX6G: M=NS_<80Y'(19?RCO;7RIG2;T=GO<37=K6K&?+7;ZJ4<);XG!V)T8$66>ALOQ MY2#PA:?6<>GFTLVEFTLWSR3[UI#2VP;:;:%YTK7:XF4W*CU,XHKT:$DR.H 8 M0TI(D>0:8DC?*M&!&1UM,QNLDTWNF+8:6(S/-0.=9PK-E=K/%;Y0R#5'V:ZT0IWB=+8NHN6RA' MGU(EZ^Y(=/NCM0*.=!$WTJ=GM>=NJG?F/&7BE>N)AE?.90!PTI%X,L$1AR/. M 2$.ST'E0LY3R;8Y[O>192U32-TG7EJ=4N$ZGQZF!HGJX^40ES6,_LFPKKU9 M)FGW,\C.Z&6*'D1O1^K;4A M-C[5K=7NO0P'4OVY!.U9 BZ-VYPC73VZY4*J6KWWJG;BR.O=UM,8$)3E2'J= M-O/^[:/-0\WR26Y<_SC4' [4?&,L\$V@N="-H[/U.[R1 M/4EW'G@.*\>9_<29[3PTMY/!OQF$>?6PW?FD='9C9CI=<3!T"G+.J]UI^39 MS>MQ0%XPBX/-7H -S_GCXOV'.7T;G^K6VNSK"OZ];3B/TIF^7KIZK,K%KJ&Z MUT='8V(XD_)PB8CTING\\?#?:W*R:_=R_4FRX)Y/\KUK6/=BD@>T5;7GD^3B MNB^3Y.*Z+Y/DXKHOD^3BNB^3/!1QW1D#?0=S+J#/PM%9Y3@G-"8"JZ7VD]?K MV;WSP%L!N(7\L.;-Y?RPYLWE_+#F?*[PVYS@;J<\5ZD^M895/7?QTC\25<-L$'5??X8[UW:N[3S-_)O3S"?> MI56LEZX4\7IX+#Z/1N+9\*B-"O\=>>9QLR^B#U-.]>*UL_T<:'8>3(D1D_F MQ^]L-L6QAV//(6 /+\_ I7O'$IBV=F5=<:SPBRO;T]F1WAC5LE?=\G5Q8@\> M^L]]>80K&[FL*2)*Z1V^JVDN4$@,#$%GV5WL[J95[''QNYMVH=[X/FXY?V<: M&6K/E65:L[L2K!3T6UO/S7'M_EIN>.U"-&4IUK'24*)%,)]EC!FF9+[MS$O M<]S92=SYAFRV+Z..F,U<.D]B)2HJ3P^5N"RU;TME@CIXHQ,''0XZ''1V"W2^ M.;_NR\ASHTH7)_=I=5C5NI7A2SE5[6?.VX@\F1^_N;G#D6>OD8>G^7$A7U&X M<'N%? /+ZZJ3"[^^O$4O];-VPRX64@_-T[M:ULN,GF]Q><.886HQV?#O/XT8 M;D>VH23WIX6'^$U.^UV)?,],YV^($^(K?DXSE4]LJP=3@A%[,.CKX/STD08] M:6= &EMS7 8W]&<59:PYX8V,#^Q?)*Z[K8YD:^+@I/!0O)&NRM;1J"[%23IB M(I))+-K;?/N25Y?GD+4KD+6^$.-& .OAOI-PAN+Q47=P.2E=JLG2?>V6 %;R MQ^]L)"7QFZ4X7NTG7O&0Y%=#DM^"5*_Z>])9MY8IIZVGJB[U!_I+K7A^%B60 MA2>'4Y%X:O',![^ABH/67H 63X'DXLUOJ-KND.9&#/GD=;JJ=]S6256;I,7F MH):K]-MD523'KC,1,;N:U$E^T]7>3Y)?;K$ODSR4RRVXN.[%)+FX[LLDN;CN MRR2YN.[+) ]%7'?&0.=.%W>Z.,[NW20/!6>YN.[%)+FX[LLDN;CNRR2YN.[+ M) ]%7'?&0-_V(B%_R$#5,O#A_WY(B1\?F5\R$XM+&SW;DIG=$E8UW!&=(TAC MYB4C#;>-81Y&$[ZL=&Q-$TKP1<<1"F93:PHEQ58[_^]?4DK\%9^SI3T6#9.F2&MSTA,$L_S\& -^S2KTWRS#39^FS M,.VUR\1FSP/^J4RP!&Z!R 87""X0)%&6"P(7!)**Y=",::%@Z#W=]._8Y,+Q MY\(1WVGAJ%BN8GS5?MR:P\/0YY7F4H/840SM(]?'[L9])&O-"#^:4/-]#0_'1<)6-/=3MYS0"@T MNS!6#0]9FW,<&*76K"CC)7FV/;6:]\Z_71W4I@R=\)5&* M9#/\R-S>52CFZ+++Z++DS&XI7[_QLHY^4] ?HY*7?+P<6).O5R]9#;;H_4[O MI-=O*-6+FVSC^<0VS!$H'9B!3GMQEQ:-E1:.$GU;B\;K.\_OJ&X^"? M7__",8E02(*M8F.S8:OBB7;7E<]N54EJ9%/-I^^VD%\]J-T",IT9SR6G4-1D MX[G\U._D\8JL3%V2?OR64W%^3)NCPZN[R=N%#ILUE!N%A]SC7>9:*WAI*RH5 MA_&'E\M->\*)KG&7U#KITVJT>%+8%>-8?C?L4 M[(A&STL_F_*EF-(UL5&X..UV<@1V,.B6B,CR&H-N>ZYQ''9V$79XA7PNY'LG MY#R\]_:R^'H43YMD;AZ.M5+UXJHLWBK*A3S.WN+ZN/XHWIXK#4>.7;A;8Z]" M?Y\RC3-')5%L7I=;!:51Z%SDBI?GI4*.J'[BQ^]T.I).9E8>X-N.RS7H#;U% MVW(I^"?$1);HB.+,&0XY*6N3Q--,NB6\#3/$^)?>RF:Q5N"Z4]OE-L(,,D?OQ.1K,1SYCB^' 2^\ P[+MUA(&DS(1ZZ.+%4^G9KBF-M%C/(=A@8EA$CB_N?'.P MX6##P69'P.:=NU(-+W&BI+11J3 X>SS*=^UL,SW,K15Q&NY5XZK8D].%2:J< M.XIGW?QY_181!V\VC4:L/NA6'MQDNW!]VRQ;+Y>- M>#5-D"8)2!-)I=^Z89T##0>:W06:[3P^MY,!P!F(>?78W9/BGM1.9%TN#%*# M=,GI/BN75ANQYO58("^?Q=%F+]"&Y_YQ\?[#W+Z-3W5KK?9U!0#?-)U=+W'O M),:I<55S$NGR^7/K\O&)F,XD!"A&DMG5'"7=EZNZ_B1I<,\GR2_'W)=)'LKE MF%Q<]V*27%SW99)<7/=EDEQ<]V62AR*N.V.@[V#>!?19.#JK'.>$QD1@==5^ M\LH]NW

    "L ]_#F?;YX:77YT:)=+&L-ZSJ1:/:SST5^A7M.5>7D]^17K\; M,/:9K!RN\%SAMSG'O>%U*A?I8;\E3D3=[!X53MO.T0C5??TY[ES;N;;S1/-O M3C0?IVK9RX%^6^HJKG0V+F23F91*UO?O2#3G*L]5GA=]. 09^P9G=VN-R(VD M7%^?.LGK^UXY5:?/X9'S31F!?<#ZUNKW/D6%PEH#GPT-/\ [2(G' MC[EX+GXA#\!O3&&82(Y(J35>WGUX*GC ^QT<>O8T/O5%X#D=W#W6B\/S?,$K MCYMW=Y.V37GIY&.Q MDC@:HHN5(K&SB"AE.?IP]#D$].$5&KAT[U@*T]:NK2N.%GYQ;;LX$IV[RGE) M+Z3ZS_'F252JUD9D;Q6YQ6LV9+?V=.&2K2E65:LUL4K#CT$IBQK:MC3WJXNZN6[YW!15XN-O()^(/ MQVZAULY8ECUTKHTL<1\Q2B5)BS&JO_\T2+4=*6Z2W)]6N^%7".UW_>L]LYZ_ M(1Z%K_@Y38\]L:T>3 E&[,&@KX-#NT<:]*2= 6ELS7$9WM"?592QYH1CYQ\( MF9>BUP_)2NNR,'&KB9J1LMU:>E27,^2HI!R1LC+?#^8US3ED[2QDK2\+;B. MU7T8M.ZJ9N^V.F@?/VI5^W$9.*%Y_%%#B$+(YIR1.;W(G'0VE?0XEEW7+SYO4C; M'=/%) M'M#VW9Y/DHOKODR2B^N^3)*+Z[Y,DHOKODSR4,1U9PQTXG3]XRK@?/_V?;,K MKP=O5'__=^;/-[W81-B+3=3S$^^AD3+-JT*QE#]Q7]RRE35NYQ-N[C3H4H6! MDJZN6T'<^<:V6KKK.ZY^ +EB3>/66K,"0SDR++7+W,]&_2)_;N3T;O=!G#3L MW>U+@W3\#[UL!1[<-K7=O3OH'ZM"%^_JF[(##JKP_R@S#![X5%2%3+,)2^ MH_WT/X3'@:?&.AJ&+W[VE'&4\,<,I"UJ:"TW+'Y1$ND@3Y@RBN)_U.FF/ES2OP5]M@QKY)/$_SN*BO2S86M*-SH"(OSJ6XZ. M\O'3U@R0CJ$VUR<+(I$7^TV5!LB)YVIS$_T>UI.&\.5'U1#F$OS[A^":E#DC MMH 1V5B":\0V,$*.)3@?MH /')FVA!& 3''.B-4QXI/)V^_:2M\WZ\PG9LU$ M#FQ0?/B_'\D?7\7C1"R>V.@QALSLYI^JX=[7',$:,R\943UH6$83OJQT;$T3 M2O!%QQ$*9E-K"B7%5CO_[U]22OP5ER+TPW__:7R]#L6>2(G\52F1Q%@VL]-2 M@D[PK BLRX39^%2IO"_^NS#]UT0.Y>[/:O%N/&@TMGCSK]HQR/?I\]U*_K;5A/%C& M)9)(KJF42V+SXKN)4/X>J6W\P-5VO2=KWU/;S"CZMT[4DYQ< M&,%XDC]^2V(DDXZOKLC;)HQK/\$N(IBP<*Y,]_8<8-Z+HNZ;#JYGZ229H+.G MVJDPSIQN!PU]Z[S#TV5O(.:>I&;5DX[*K6RU;;T\MNL)7%=3D82\OG5USV7\ M4!3YS:#COBGR&E.Z_U21NW?.Q>GY4[S=37EVHYZ\D3J]T2TH,EY3$$EGWCIJ M^>?YV5OBO;(;M%UE++ BJ[ML#K]]O- /QG#?=EL7:-](#HY=,$T^TDRMI;M+ ME/BE659+F:-+2RP:7LWL:.U*\2Y73])+CF11Y%[N[GNYWZ?6W/==I^_[<;4^ MZP^?K5+IJB"6<\>CJVK]\BYQ@6J=1+7.Q-]2ZQUP@M^\"'%U3O%VETA;]7*\ MO9/=J[7YB[<7V%9!;BB-:K^J6^K-8[_2BKZHG<]-S- M)1\N /EEO%BPD[ M>_P@72",)#]:8>6UPWY;>RZ.#XP/;-T#0V50J?(J3&E(DG_H[()J:(J-<-SY MU=2=OJ%,?A)-8L/Q@59.Q^))'"0\8DL_?.<@"^.Y:_5_RE(L-OBJ6^KA%G$"V6@*N8WCD.E 1)7S^9;E2S)-Z&07GM,P_N6W;[:'> MZ!3=ZB0A*?K)?:>6RX[JV%3^L4PYOP5'PJG;'X01AP?'*F M8DP&CX'BUM2#?8$[S?$,ES0)K"B2-/_6$)P@K7Z%Q-%-X#3#[]=) M R8GF':F"OV[EN!V-%(14Q9_Y:T>2,8D0OZ4?OF/+<^>?^0Y_@/+]I^--/^9 MC2_ OO,W9T(>#&&A" C;%\"(C!&*Z4 MQVLX>E-7;%US8L()]*.@'0W(Z:#Y M# B'!,7187:(WH+UQ72%%MB(E@T#[RB8T=\R/)Q(4X QPFL)'R+D1RW+,*P1 M]M*<28WXD>YV2$>>J7C 7PW/@"!%'?HI*.4@ MM ));CW%AO7#F(#X M],&"%F 0(0>,"IZB[8\F<6 MA*T5P]N89PA)E2PR]ZB-#=GI5GQI9D1 GP' MZTUJX!@^T2W^\3ZA=%,U/)P/O!')G3,!)XTE=+@(Z# !.C(B'&LJ*R MD(B26ZY'(%)@8B#>6?:L/(]01[H .>!0"ZZ.F5H6^>_?\'Q"''V<&_P2=;C_I*GL)3H MJMY?UHVAF///=#0NF_-/,4KB: L=4&B=?SI:]E!=_I 8C@O]J@A?(((+/U#@ M8:^_.$6]-__(!?W3%AI:#:2;ODCIMJ!?]P'4B-R@T"1-=2E4@5ZIB.\ ,(*KVM21!AU M=+5#?@H+LP H C8$^JNHWJ;B>K9&Y,_1WNR%@L+L4T%IP.C),N:X8/II;5V% MAJ 5Q(>@, :XU]6@41_Q"D.%H#(1,IR&@K:%1==!T"8;\9V*+ W&D=\336@Y M"!^J9A,(:'DX:J$)"F)8_2EB MUT6^A;Z WALJNU6II*,-*C#2AEPUC'7@N MJ@P5H#>X5#&A[ '!WB)&0U,5#P@&W4V8V8/L8.."89%69(X3-JJA!LL8)3=: M?RAU^!-82B:"WD/:H(5GZTZ7#M7#V2)T$H@A%A_1&(&^&2Q!-!MLW_KVI8:^ M&WMNZBTT1!$M;" &S)!"=,>"GY/X:Z]/[+497RH'"FO$4N?+C$X,M6 ;Y@IRGY+[CG#I0'70?P5R I&BM&TUWKX0UST48$ 4.#% MKO.++$^>V<>?@B911QC7)6P5Y*-/'8;I'!4DB/\#$*'I0B'014RL9AH'#4YGRHZ]#1^SKN3_]7SACW;&]/F%$(, MT$*/N@H$5[Q^ M'T077J^;,T.%_MD4<&JX'('%26AMP*SIVXE5#(WZ3-G@S6TLV@8=JQKM6@>/ M*R(PN\E_MV6'Z "]!RVQ$UB*<$2!OZ1:31*%09GP<)Z$XZX=:.C TVT?."R$ M)^B6X*]GXAX#Y;<'OZ 2S/ ZF#QY+V6;%J%#"TDB61M@S-#WC!0"I<"OH;Z; M$QB4(=[V%<<)P !; !/@,85BRF#Z*U!'NMXP 4-N&>@RN42QL0E"C:["RT$2 M-(T,(>B#N4T@K89.,# ,\+_(^WRRP^MMC5J+'JY[L%+-=$4F[Z]X1&=<0F;! M!' )6M$^9^9J:ZKMZ6[$[YZ,F2X>:"L;X%_C_.#'EFEJ1EC.N@#PH2\(&8'_ M5-;I^@+3 DZI*EVDD4SX44,);\*,*=KZ<,&,V89BTD5EXF TANAQX"W2%7-& M,V>DLT5^[LS]2F?6-:4KZ]BA5NJ$(F9$ ,=4P1&ZS*#%8*[:86Q4)^!91H&H ML 9 %VAHV$P_'5\?K6"G+#P\2O'IJ@K==TS+L-H3-A"'22Z9R+0/WY@&<+.! M >"U!(L=DWBB;AZ3ZI:M@)T!,DC(X&O*"%UX8[*$[XS'.%*7"*_&G/0>" H2 M#18=(CP^=I*O85D:(H Q('4 V-P0>XI\5UPI/0V0?E@ M]KK&I!'#/;B^TZ9-K0'K$8+@[ (3&CEQJ;"=/QH@SH0:.A;&>BC;B=QU9GJD M@T9< 1N/B"8PL>?X\!]NRF@!&*Z8-(#'[!>E;6O,P&MC\2B3#F_NE^P]#'+( M&W$9=GR@#V.-9SN>-@/_@<$8D @@ :TT[!RL&U4S"/^;),!A^WP#Y,6W3<,= MB@VZH#G1Z[$!FLH<,%D4Y6",#/\I MPTDX++8U":)Z_O= ,,99:/$/# ZL9!LD"!9I ]PN&)5F#G7;,@DE 3,)X0W2 M'Q4G0G _"E4H%WTW&!>S(#A+,1HM'"*:0P6,-@_%!C2C8QE-?WF:$S4T -#S MQ]4>6?Q:ET0Z9A?S\&1MK>W!)[1MP@LXU2[*9C(LL-AZ4_,(3XRWB>N#:X:J M]0.0"QMH0M/3_-BS;QO-M6#<\OD9+"EDD<813"D<\FN E-%@ HCW(%Q*#^#+ M7]A!ZCQ?N$$5;2KTT. M*62C'6D*>4G8.IZ?_=2TP<4H,*!L7P2HP;,$J)4F M$!EZ,B;^XD3: $2 ;05K&*S;O@F#.*M1TPJ: IG)XM;N0 /BW_1T1^GC-S9- MTHB0=0-DG"[95$9A[I8'OP&H4W"HOG](_0J?AD@UL-$#>]%JN2#K2"RF(KZ- MRKX(0(JN5VSEH]/UG9"P5:+H:!LH?=S\_A6VTXA0.#[7PJA!O;VPVI(%M6%@ MX,LBG@DA#\,O1S$0NI0Q'1J=.SH,X#;1AC"D:2,_!NGO,(!;"B.A2^F$$(81H)C?N1QZJ[C2ER-E6/D70:L#8X1!"31 MF/4-(=6R^Q8Q#O3IV5#R-YEE!YQ=C3@KC("A5OX^YS(KD=EP+0]]96T,EI.K M^8M9$\,9:%[9=$Z*"M-_O2L8+;$MB-D&_0%\&5Z X(:%F]K08Q.7)0Z:HZMMK9$MPS@H.&<#6 MC$D;MHN8+<26?#_X\UJ,@\8,AI8Q9%X#_ #6)8=EA>+BY6_@!5&N/N[EJ-2G M)QXJB7 25XRZK[_(VA!RV\E2$'*SZ()%O*:9V$'8$<6ZM4'(+C"U+"QHJ[F$ M 9:Q\!];8BQ6!97"U%EZD:^ZC3B&JJ0T(A!PF+F$G_!=VUG_"&=>#T '(0; M@8-S0]T^FDAPYE.S[+OUY8"L>4 P< RF'O^4XD%L;9$;"P9MX#D2;C=!$R8T M[K(L&!!>/*F-9"NC.:<#)0F\&)0,SYEN>P?$(T;;-'S'XF!SXZ)6;]NP&D&@ MED8TS;9%-@3FPW\+- \+])Q_TH'%FIC_: JU-)B/H8S\P&X@^E3"%!*-9';% MC 0=WAF]B.-R/'LA.6-/'@V6)\M-0N\WC\8)HU KER.GK?1P'2 MZ%=(ZZ>!4&BALW1F7TM TVRT/9EI3^300@&#MDU09)IETM"HDO;ZV)AP#B,T MLXU&'8L$VJ&-B:%BPYD"TY()4+X&J2O$1@UG+& J!8X9O642& (/ $?!-I%: MELVT5U<#!,1P#J:W4!*$_7)-*TU0&0I&*6(F\ M[M>L!%:A(/RLS-8L 676J1. M!\F.'IT-%J^#'+#:MM+S RN F6QG1"!;C4[8%;7LMF*RM'68;M-2O2EX6[Z? M%^![J(- @@@TD'BV3?:< /78QC;=OR!1#[K_!Z"LN],@,>%B6"C8&Z%K\W7) M(4I,7T!9VO/7:W]2BR+\:S$Z$'+WX3_@76)@0:.L(-]JX^7J[^NX-H;W,@&; MAD*H8$X6$2<,9/@.<&M8+"048B" H*&88- X8 $%!XH[9+O346V]037Q!C7Q M+"*09#XI1Z]UEGX)=_ ;X83EB:TIQ:B0QTY(6HF0)FT2$>']7<1@U.\-FZCD M>\DN_H%=8N[Y@2!&-]+:8>->2$SY7+)4*'4CG# E;"9[L88! V]:E*$Y1!S' M##94$=SMQ$@>&H.83>B1R#BS[\P/) DX??!KH"ENAP?0B%:G0,/>?J) . 4@ MO)$/"YG7Z[NS2(&CHFEVZ!,W61P'+<37-W)7N=^MO9E3@*^$0>'\=#,FU#2: MAHEA1ABY'UK1Z>Y8WX,_5>C:ZQ.JD%@\80%1_E?I*Q!7<4I-DC> E.LIN%L] MZFAD,G.;FFADAG95(K/Y!0$-1O#^[4S@NQZB5:R--I?M"^PD@;GI]DG((U!I MQB^1"-S1I,LT2) +([(*TJ?/]?QYME&6%".H:Q LQ5 M\.,'Q'_&T )2?2X6!(]I?85T N':Z_^."#ERB@W6BP)-;EK/>PCI,*4=SPJP03W=160R["\#06[:=.L=!Q0RI,C(4:W(UC@#=CHU*\A: M(2\)97"2L>&N [R">---,*&;".O8DMEY9- =!11.PRT$,-@[N&9,%=2W^EBG M[ZHE0RC./V>X!D ;\1^P#5K[&A)Q6"/C^ M+E&)W 4]^K15V%&',MNSOO'!=!&K8L+U3*8)FP2\HJ?Y"F!@QB8FR*"P43Y- M(3$D8\NA-S+3QZ)2!@X335ZR7^O%Q! 5;CU.]V$6UA T6?P-S19ZVVK'U_F_ M9S8[4!@P[8ML18&5B?F0$YK.$?&G!,]\.V4Y.9>M*J^T# $/YNL:N)6."LKF MCV$(:]8=]!T.,'^!;$X/+*DI6I!D*;*O&BQ3;+@1:E436K)]&CT AJX\W'/ M)_Q,]D/XAZ^)7X!7;.01W F:YM*$TDJF/E3H# :+T&U:P69"-$* M FL#5M1PV!56 XLD (:LRL@T!6UJ*^%R;UI#%LL@Z$F2NZ,DN3N40Q[!K1-V M H_$F^ O29(X/"7N^E15Y8V^_-[UO M^[.EC[5F6+-\=*!3G"UT1YLE$_C=/^$O_FC \UXV$AU=[=<+1F46JB#]OW]E M4^GLK_GR3'.EDA94^*M#_J#^$WL,,YKZS/V@5C"5U/G\;M]5(3_X@+\RE:N% M:D%K*R"8EA<)R:0KN,">:P+7A-,.%#@<& MJ%O*=83KR.[I"%D)6, E4 /B:N*NTI((&?G5TMB8'[8A^\I<&;@R[)PRL'AJ M:#G 2C(CC055:$Y-:!_BE>@AS7M_.X8;VX""Q%,K4Y#O\'FNPSF+F,"I.VX0 M*9SZ8C0%@RJLUB;!M?WSRVRMX:D=S15*Y? (LRL DL7\&8XMJ\.6XV"ES+.M M=G_?4P#IH)8%^#]BX+*X89S\[^,RO*!D2Z3R=;V;#5:N<%5.SBI3BN&^OA,DJ2E)%2LE^9<-U'SMY,V00M\H_'5V<8K=8G0E?2GPLXO3()C M_03=@[,K,V>S2:-Y?A(2A-S@I"0?P)P3A!A D$1-P=DJVF-@C11$P^X4"&, M3.L&^5K2P70V/&? ZGWZE4OQT!CUT^"[2!!ZG4D]BM"Z1:H'DYE:?WY2VFR- MIM I49I&1;Q HI2LO*%?4Y'T85MXKF,ZJ?FR'Z0F#9Y]9#I(SLUAPMZTM!P] MIN7_C=9N4*80Z68U:64FS(+"0#*>4F-'ZHSFG5.G]RH0L M,LF*NP79:PGVO/KQTQAQ]9Z)#,&-9Q4F:6'!8BR3Y-L MIY,U\'#\6X8QWT(Y)%WSZXK3]76Z4#:G9:H,?>#I35QA_:*UH9P4I:N1@]B- MR;1R0'!JU2^G11*RL/Q/"Y-969D_7R,-"V9L6 [-/K>'BPG)':4Y=T(V5* 5 M=SL[['2Y;W^20DID9275>NCJ3$HH18(S(G3%]DMDX@T*?C6"Z2G#8*5^8W7& MFQE\'R*T[>I,2_R.M!FZSIG"[ WSX69_2R0P-5XWIF>LYS<4>WDFI<0V7\,9 MICP!=^HG25F>@,L3%<>2XV$B*6K/>$L5&/9%,9^J99CQ3A\4CG6W( MZ4167D.5[)4IS$1NJ,&"9T39^0PM7% F*)^Q])Z:T/%K;#@] M'81!#G\5(HXF=83\UVC-O=FJIL/ MS)%1I%6J2K,0H3Y(S8!D9(L6R"F;6$$QZ8MX03'IBUA!,>F;6$$QZ8MX03'IBUA!%>);>&$',OR,,<*&4'V M.68W O\HS/0ML_:[S?5="[I5;-L:S?3Q&8HP<50M Q_^[T?RQQ=%,R[&Y#=! MXH]IDWEK!^8CZ8<=6].$$GS1<80"J4<;A*+7NU+MK%BLQY8]-'*\MWP>&#VX MMG#Q^ ,;9S?)L9.61G#&96W61-AT8-N-?BIE?RR0_5;!SXG88M."U*NG5>/C M4L0O'_\IV^(;H?&]F2Z7 Z31PM17B@C?:#QL-PF^9T78:AIP33AT,=A6^X"O M^N^M^O)78PA2/);9:3L KZO9E9A"9EX2J-FR^"]G\@*3X[O"Y TC/)>6W_\6 M\N3BIYV2F(_*QW<&2'98!OZS:AG8@@C)EV2 V4-S>U3B*[W,((@TA9"9Z?YS MJ%:6)'X54U-23$YO]5;-7TU,-<9P]NXM2F.KQY M7-!/ZQY'S##LUM@WV[4N/^^F0:5#FC%PAM6[V8W,\?^O3LI M/"&/FARC#K,D/E-\8D80P\/NVQK)^H4V0C(3D9*9_^WAYG_L].AXCD#L\QJIZTS M$K#!W<4M4LXM),RJC=YX))U>N=&[58[G9D-JFY:73=/E4!0ID8R(*9DK$EMQQR00JQ<7ME>=X1,PFN#QS M>=X^>?ZP 028G.9!^?WE;SR6YD'YC9KC[,ID/W>%()IWF>K27\?0O :L46ZDX\-#Z M9T=[9JI63Q-:MM43+.J%6";/?=\9)_]+J<*)B)1(\G@.E^?]D&=9C"2S?-.( MR_,6RO.'@["I2"*YVE(DAR#$N\/?N,0KS6PZRNYV--N/L$?PI.=/7G)V!YW0 M#4_\8*,.7- /:^)6QE'WI $;$/H>&]O'YTK\WB&ET1ICDML MR^!"O-M"G,Y(7(BY$&^A$']EER2>Y-6N=HW/'P:K9&RU M5>IY7GDO>=U5R>M\HH2D7$1(9O#^TM?Q.) MV&IW_WA(_8MG$\' ]6/I/)[!XQE?N^3)QK#]<>KCU_ MZ/FFXB+7HL,.ILOR&LZ!;EH(=CB8?J6Y@DX=C=4A_ QJQ0&UFI;7,+3-X/F_ M5ZASFY[8BO$X&4GPP#H7\7T6<4F,9%9?!)3+.)?Q3:<\XQ5Q/ "_OP'X;&RU M[-V- /QKX]^2F/P,[V:ZS?5="[I5;-L:S?0AP0\/]=S^ME%H"T_X;QF)MC"J MLF44XFK&U8RK&5>SS5.(JQE7,RY$O#C.;A?'^35[P:E O^$IH[L2T9B+RL;3 M,>D_/![%172+13092W,1Y2+Z[2*ZX5D>AKQN'&TVQ-MOC^__F47ZCZLT#&UK M!D9&X_^&;1"JEF$H?4?[Z7_X]>4QRL$8_6W'Z:BCKM4G?Y(Q1 UE8GGNSY8^ MUIJ^3(NBOVOI3W'6H&?-,OC=/^$OOCI@[&E. HG$PU#?4+W,@MS]A8=(9@5[ M3C!?=?P^.5KZ%_8#@[)[BD&?C#343O_1C]\GEBVX'0W^W]8TH0=-.HZ@F4VM M*9046^W\OW])*?%77(K0#[(H)P3%; KP(4Y*&0F.8L"X\)EJ.:Y@M=@335$[ MF$IE>$U-^+<8DP68AZ%;)FD+#^+! _B-CC5 ':W=TTQ7T R]IYOT[JF(8&M. M7U-=?:@9DU@@HVM0'-G',1WF;[H_XZGWW?)YE?/%.3DKSLF/.^MY!?#OPT'R9Y MV87_]/R&]!14;(6B\KID_%>?E76")KH+^*>R5,DRJOK/__ZC;TAVKP( :FHJ ML!:)U_H\I$50C. M,%RAZ6DH=]/^;FRKZ:E _2G:-6U (U-H3 30<6AI;A MP8QFX"$<(&N1_V$> S >Q>I8:^@N49L\R#E\9'+&@ #&H\!BHQ@P'JO5\K/S^:S1[J*M:>,3P7D"F#GDY>\F-K?45O1D:RVNC41,K6SO-_ M/^JG1E=*);*I;$9,@X+^H\Q^DTS&4V(VR[Y9N2?Y[#FNWII\&3*NZ4H-PE1@ MHCE=JF:F(4KI;'H-T_@8LZ?###1HU;Q&!8*>J0+ZZAE^&UCI= ":ZJ'R0R,7 MANZ;ZXX&WH\"-DR$:J1!--,BA4VG8W5<2^W.O"LFW 7]L-?Y/@%8C7T0OC&, MU$6L^;<<$P./((0@BKET5 !,70401#%-@"%5(T8=]4JFTUDR(.IV-_7A[__" M/SZK50- $(,*G5]@MO7!Y_Q)W(HYJUY.Q^+$LH=''>I)$=Z&W-(?,_W.=!95 M@6[S;N3,9I/?P\HU2=70O_)E4$Z$#KY0&93%$&%"__Y?>#93U,=8@&7_]!.$ M0^1C9)&)Z]O6H@V0C6Y4:<'K?RK&2)DX;*[I;"P^]>+]H<6I;@"9_R.$/B-1 M%IC64\;1$-V8(QTUM);[D_W,?T9B4L%#M@#\)%(&8C7'M)#?)DNQU"R_$U(L MG5Q@^5I,HW@(YQ0!]+_UOQ__JECJ4C_T74^_0B(ZL&""MG$K]\*$YX6PB[,WKBX*==QL2HWL7Y]B09Z8^!#=U!7OL*Y;2 X*YE2 M4<8^U0G!-Z09UR"06JM%8WFDC@N8/516,=4?'["CER#@FB!G8NG_L& C?OH" M#T*ARIDHHH!#\0?@>T,MW0:M'7C@5*%^M<@/B4Q0N%OPB%P2;O*M9^+6#!7# MHT:6@@$UU,496P;=&U?#J)^4_N4(AC)BGM W24MCY@5LB6A81A.^++-0UW$0 MM_KO/XV5*^=J+/OY2,441SZQ<4%'AC++UG9?,67_<,L_S5FSI:R!E2'->;.5 MO)&YVFPK:SBB;2]K.*)M+6\XHFTM:SBB;2]K.*)M+6\XHFTM:T!M,IPU6\D: M.29G.6O6R9I/'M)[-WKV_73X9):[:AGX\'\_DC\^,F$Y_0YP__&$,V]M(+]* M@;?BRQ42MR_1N'V!Q.V# //']/%#2]::]\X_J01!*G:8%M]T4.D[Z/1UJGP/ M$=ZS/0^""M^C,EM.A/?LJ8,@PGN6RW:OD]PJ^)!5L,$JZ:NW&I9M[7.S@9L- MW&S@9@,W&[C9P,V&-\P&^3VSX56IEV,+%:]WW)# ?,!/&@X; \;,^_)!+:'% M?[D@?$ 0XKLB"-^[.'!Q62(N_Q;R)$.7B\RJC:J]$I/_K%I,OL/B6H&[^E4' ME1EE<_MDXBL2.(-.TA2>9JCRSR&;>I+X5VOYJ8R6\[U.;1 M3?I?MV-YCF(VG;^Y%J[3-=I@[==7*'*EN50$2&6$E87!MF^B*[GVAT:WMNG& M1#K%^)N"_MK5,)ET)+O:*ZVVD_6;J'6YG93@2K#D7C0]UX*# MT(*W^?[J+6%2(B)*\DKO"=M.YF] #:C/OC>2$H^E5RHGZ"ELGYQ\_2KF[?"- MPX6P]F5W>X7 O9.V2ER*)+(K-U4.#Y"W8=H'+\N9B)1)<%GFLKQ-LOQ%FR@5 M266R*S>>#T^8OR5E:$UF<3J67+E9O.LV\/:9]:RP5\NV>J%ZY#S8L9O!CJ^9 M'K(<22=7;GIL'^MYQ(\KP>OVMQ@1Y117 JX$>Z$$7[3:TA$YS:/>/.K]KJ#( MB=AJY62/HMZO37([ N$'&I/9B,9OV]FO SWMQ:6<2SF7/C4?OMXX2VQJI_S.WX1]RV]?J[TV;'QAMB)_]*\@6 MA[KT2NPEHU_;76J?N(GOKMA6GSRKQI+9KIM$/W+2?D MN"B)<0G&L9'[EJ_\&]3)E8(+E]ZO^KY.)>@1;QJ\H?=M.^%[W)NV/M1,O%)P M:!E>CUP9:N@FN9D9;Z%T%=6%A@X99:%T+ZB*W83?O<^'93?$=\!4T\B-[XYE M LM?E.":YSST^_]=XZ6%0.2AKFK^);&Q#5T9^?8M@-2_OJ'^-8Y_YD&)]KJY M&T9GW'\<7GO)K>[?(H+TRMA XF)S&IG.)N1L)K[V>]Q7QOAP^N-UD/ZX058O MS\?\'N:2NTL!(2S;$9KT[DYZ&SHN/K+XZR-:0II*OP2E80UG[WB?WNX>OD8] MZE]J:BW<7;_*FTS?X, 7;0<^+CZNCXY+V-S _LP4W:V!O77O/.!9WU F/XF= MSU[N%PR3T[%X$H<$CUCY*,+#V1M00OW.=!95 >!^O97\O]H[5%XM\B,G?+\H M6$UD:?%6%/SW_V9N@0GL/;S?V+)_^F730N1C9)&)<]?6HO22&:4%K_^I&"-E MXK"YIK.QN%^0[6=0>2U.5SD@\W^$T&$HZQ.NH7F/]YJYL S3BC-@&1HBQ#.?$-G!"CB4X([:!$8!- M"[=9S@V+0EC.#8M"V,X';3EG""8].6,((OU]O""3D6YV&. M%3+B\[5PW@XSK7O6:[\[,[7>PR-OWX) 7_(M]V>_O;+\_^U]:7/;2)+V]_=7 M(+R>73N"H@F !^B>[0BU;,]HVFVK)7M[YQ.C"!0EK$& C<.R^M>_F5E50(&G M#I $*WW=-@'3OOM>WE6A-T=R*]TR8\.^"$6JUY-\Q? MJR5O-&".<,V;3(4Z'57-,;SD&*YM:[#-Q_2RS*WFG&[.Z>:<;L[IYIQNSNDZ MKJVJWJ_]@SZY*^T0O67]YSL? M,#\\R6HY8!ZHO''SP9DT<[S(=I*#VIXW*G7^N[AIWU5SXX87D@ M6^^QXGXF:YTK;XSL?71:N]?J]!NEW:BZ_!3OMROMB6K7P/I\ M4N>UG7N%U?<:WG4TJ$(%>V#28V(?*/MX+B"/]3*]0NOVP#BTVQJ:E5NR#8/6 ME4$/3X7V6J;9:-#GH(K,3K=M'G06QY,-RWU;QMMLX%L#/[#Q]#5Q;I;K!D]VV=;ZU[ M[+/U1.L>F0#&JZ@_YC.--M0BCM9$69;QMM5K#QK>;GC[U-F M>R=X'6+"=6K(^J"V+SMM@Z4ZNJB"YQ6SW=#W;&U#G;F6JW,]5,U!S[)Z0PM& MV6(/U24]1;4#OK.NK6JI'Y#61;":GH?%>*)C:B(R:?@//Z%FA"X0()KRN/IN MA/K-=)UAWW*Z@^TRPNIEW;O)Z7890C:US5N% 3O NPWX61#= 0'R M[]N'U+3ZL%K";E<4*N\'NV4=^EB*?X:%QE43>,UD= E7K23]$/MTGXR#R/U6 M8@Y\1IAUQ":HG4F:3A.B#\W=2/@U"K[A)R3#L8^$@@_\F%/';O@T1NE->=Y= MMX7LLHJOQ*@N_!6.P00'6&S/:R0WT6UHC#DHQ_8AM[VSG0V W0T>_.[:MPP; M0M2!$"9V<6T(L7="6.W>6GR?AA"-:GIFA&A44ST(8;<[5D.(&A"B44UU(42C MFNI!B,9JJ@DA&HFH"2$:B:B6$ ^L%=\88JK3_>LC>NTX[4&]86B?WO+NL6;P M,4)U;S XCW')&PZR(USRIB/C")?<4/F EMP MQZB]&RH_!RH_ES/Z\9VOX&@Z[,Y7E?:ZVS*?[ZW7W3%0N:I>=P=MC#6\L(5> M=X=ZNCW1ACE@%JB\U=TN6&!/'* ?[ MKHW\O)!-7UG(9]]+JP3\4YR/=48AN!_6XZ!E][I5!P+V3>&]0!8TG%TOSK9; M9J="*'+A%.Z;P@UG-YS=;5G=8:.R&W:0P/16^^@.\'FTYFJQ-FH"K%%9/7AA MJ[^7MOH>:\%%8>Z28MRJ:[]9F ^)%=]850PO$L@""G>@5$H<9,BUJVO&L9@8 MPUOTI"P@7]S:)>7B$J+"'$YZG?Y@.!IV+6_4]?KF:#PT>R.O-[0LN^,XGKT% M#)-[%YBO\_,_^G]FO@=L3T7R9VR&O&5<\B3*8A==OW'EW/1H;(33= V7W'+C MAGG&2W/0-@V872"Q(5R6W-#:Z \<5ON=!?"RI&U\)M@)9*X[0ZP7'PCR';EA MB3'F/!2/7O,0.0*YF*K2,YW7@:O\[W[J(\.!AG5OBH>]V/\._Z*'$+E#EK;C ME"9!YJ:9K&T'/D3T"@)V$600,YS[,'^()\M1$5)_BC]'6 SVPYBQ.ZR^AVD5 MG\?G\SKGB(>"-7W,UBV,A/$:X"YPXT[!NO-MW'UD3/O7X M6"S)G\*^?]<^##@<]^R:&P25(+@P !7+8*?@_[@W21I'\*^2 M-C_%[*!'00LD&J>3+&"B/6(\@*%P?3,G"DDV3F!\X$L.,G8:8,P0?H00+J"X M<=J^QXT0U'B29#$#1DI(>L<\\&$1,"I+:4CM37,X$"W4^6/8'T]P!/TZBV.$ MF:"G<#<"^!EN%7Z9"&Y*)-_%_'L4?*?5P%_]%$\%L72=!4]_^0B*$'_)8\6" MXGWL._,# I081S%03(HG#)(2HL7+0;<]R)40(Y8CS66 TC*DOH)O8"V<7QBGI_@I#;FC8B0.P(SYM0:_O*.0Z_9O>P!S:G>&R;^R!8PW-/;H, M*V1&.IY+_(@S9)\/Q6%=N$^GN6EL[-63IAG*XY,X>IGU_C1?%8_@ETY[F!_] MM!7P2:?XY,&CVHMFOH#\*]#L>#Q!S06FE&:8E]SBW$P&F:*9:OA\XAW:&$P@ M=;%8X?>AC$W!4)%/VW-/6_K3Z## H4W2&4TF"7@\I#U>]K1=D--!R4HR!G\0 M7CV[ADVA+TBBR#F';^"!?V4A. DM\?;<"SC#689W:)R9@Y\2B69X=N/S"7CM M8.S11GR>3$"<8S2)(S1YT0WPREZ"] U0#PCKC# ' \(>+#ABB7O4-OY 5PZ, M%'^&1ESQ$V&"XL)0#?JAH!PH50GBJ BA[S2M3CX(;V:PSTD6I,ICR4U,^!AT ME*!LL6=*$:EM$Z9Q2/J9C& P#L'$CA436,I55:8HZMO)A+MI;MG#KWI@PWM" M]2)-R537%KS"2"\+E5CX,E!)284$];PGU"M,%>:M>VNT3P4FJN#O$L0DRY6^ M.'1@\/)>K*-VE4Y@E2KU@SIH]JHV3Y=[+R+:0GL:!8%P@:(L35*@(?XY=XPP M(GFX^'M]I]T RP)T:?7$*(.A##;P[6MH!I"[(H0X* WV$IUH$2CFVI" MB$8WU840C6ZJEA(/3"7>9+;NMF[E24G46]/*M:[=J:"6RVK;V^W960FH OJ4 ME17OU8G@3V7ZY\ ![[C+IV,>4V"AS 6-PJL?_R^4**\E[NKZY?&6./V BQ8K MK%1OV."@VJ@?GC.7."HNBM(^#J@HT&^5ZM,;%1@"OE=GBP!/U-BX>5L'Z M*)'8=[*\GB19&8_O>U&+;*^&/9VE$0S+\&;IOW8%53:L09O62FJ@1$CF\*M> MK/Z@Y0P'5:OV?=.X=B=>P_H'P_KUM^>^AFP:P8S^XIC@/.$Q9F;DF72B9>D1 M6&F[%,S]>3FUV 0ITWO>A34"?E^A?F6U>@/S]?&X*HT0-$+P""$8=CJ+0G!X M;EE>*R(ZXGZ),-T^B,+K$\P]I^J>X[19]VN4EF7 !AGPH@Q3#O>B"K9KM>Y] MK96;M;V6;?6/VJ-KI*.1CL=*1[ND4[1=MX++A&.;JZ-U2-4";?FSU*OC.)92$4E^@JI^$*55%QG+&9A MRO'CE/ VDB0397143H+)4U365QYBS%E_ Y&".RS0B5)?U-1H MO\+!(\1VN?433@5/.+&8>YQ/[_-V43&29./_H]*B2,V$BO,),Z8H[FP;%UI) M&!7*4<6F'#K?NA:]?SH3$[Q5!:O$H!YRGMFQVF:O_S?UY#+V9^$=UI[F!4IB M20K@0_)57Y2\Y"51)4[MM:38>!G%L6 <% U\8\RICINVF+C016+-@@Q$RG7C MC(MRIRR<,;\ SA!"):$ZJ$RU--LD@X'TE<,^ZZ6^5,DE4!V,;!;E1->K9U6! M5 9[ 6H$>%,"A C,!:T^6*.0K-U=*&_M]@<=I]M3Y:W[5=@Z8$/=%':I&HT9 M9P)WXK0HWL-BO3]X$"3&!Q@Z,GYAX;>6\8F)PCOC-$DBUY?%G%3$BAR"U:2@ MG?6%MXU\ G9+E?G-O?\47NG1:S]%;<-4HC8_*54?R*:B0!5_4WX5,BM3@[60 M6?$4(HY);[#XJZ653^+C:Y$SL'IVH)6)SC^RPPF7C\G1-CH#Y YOUW%'\C@G\&\:13S[P?S:W'TIRJ+3VL(#=#WSXZ9U6;8]EL $#R1)K2H&JI'8(H4F.D]?.TAE3%#UG M*5B*?PFLF_FI*#@4@5<3:.!-\JT*$26YB:CFDX(P&C4T?)7=@0']DA=' D][ M7%2$JQTO+7&5157848@>$RAJ,JSP=4F^:*'(7Y)U+MK)\O_)DP).@H-]MH>^+AC+#KB\,SB9TDP8[FH2$D M;ISXNRK@GT;X0HYI*<"CA3TNBXO%)+,P0^V#'"CAR!;DJ3B"I5V ==]*I.3S M@1_"##AO-8@\*Q!Y[ :1IQBW0>29$XHZ(/*,>7J+<(! Q$%/ZKI>1_.(6\8T M"U(?(1KRL[]PWPL_8(GF2(P ]9:NRO)?90G^UYP\EK+K*800S?A/ "@AS!I0G4%/+LE-7$T6A*7M<5Q()0=RYP M.P@*I#[1/05U^EZ#PLN=1LW#[=F6T^_WJ_5P'R <95,XD8@KTEQ.YI%6T#I9 M!O+7-MX5&F 5]I"&[[$<*+" TM6A*S4K&T?7D"LQ6@%>S92YX RB0R P0@DJ MB RBE+LW(9S%UW>$S#H3'DB*=Z87-[4DUR5W#O'P5=X4Y8HP)$=4, M 3@.6PJ"]D\?! XS:@\(E(#%,R! MJ?)0NG "C4?<*"\G$.++"@-5&P?59/$.3Z+H"/AD8J9,PB OY2@*0B4)1_Q) M5^I:H8\%;"2+R=+.T:7PP!41,WR2IEP#:;\B/,O+(FIZFJ7@$?I_21 EF*K$ M*;O;:^3H4_1=A*\EUI6(RHTC%I.?Y,'V"Q ]<'\0 !9H([$ZM8@PV.RP)+E M.C]5C$/](IN)<(E^52!1HI##(]3QD?N-L+R,[RS(N/$2?MLQR5RA%Z*#@YY= M:1^!&V&&%)8OU?85,$LEF#O0K.9PN"_-^C"->*MOL6?TG9;5<\16),OV3EZ< M*'LLOSIY:3IM:UCL(SJ=4JF209]( &;/$ M3_#:1 ;&",BW MB>_F(.(7X B'".'UZ@/BVI[_SVOCZU7+^'B1A[_@%RP(>- =:A#/*F8@D'.CEUP9P&AJ:X&E1&*/^ZVNSE_WM)!+S "3V&\0 B] ML1]5^H="@^]J:/ QGTHH;%\ 7B]HSK(V6P;G@E_CE.7*[AM>GW_(LQV8MK+4EMT"@2+) >!8+&-/J4BX&FXXP M_N )WRM0I&%?/(XA.4+@'J-9NJ,S?CV< $S)![U#+L>EMJAM-#&XYXF>H0LG MYT6V5FFS)1+N:MC\B\@A.?(X%62KQS( M$ D01 M3F'05"]!H;>=XGJL< PU+,S%5()<<;RT[,*CPH]]+C03&EKH@+K>LF,DR0C)8M]"7*X4YT RV-0+7P @S5WY6OY MB3;!)7DK8AUA),#^,;F&^B"(Z_R0W[(@$0LJQ8\\:OHA;4U*7&@;_XQN.MK8#*ZMFH!,I%C[7SE$FEZ2NM0Q@?>YFBW&W-,2V$XVG%A(1V.GOF( M*G6/2N4/I=7SL(B\SA9J!+937D5I\04=N[P-!)Z(*U(TPXWS\Y9QG@*9G9:Q M?N42=1;>$-]%XM%*&; M/Y('I1SYA0P5QZG8[, 7MW[8N:2Y:5M^T]9M;MJ:F[8:W+0]0)F>@Y+AXSA# MO94'<^82LL:9'WA RI,D\U,5VLRC).1:4YR7EZ*\?,Z.-F3KH@^HV_Y@=Y@B M(4.]RR+!6K0#O#QTD:?:8*XK!I(2 MZLD5):!R$RWE8 86EZ^:@;SR83AYG=624>6OTCKPD_G%TVZ1RSG#?-20;BO1 M-L)?Q2H4T-&Z'FCW6,7/Z9=YW!FAU]LJAUB\T!>W%\!R= "HAF+D(8'KX7-8ND28+L9ZLR'(;3".Y=-9Z0'M=1_QJ:1021O M2^YIS$S@&?C).INF\KNM2CI#GJ&MA%,_=5WT(-!,NHB %=6MT'OI6B7&_@(L M7X1NFS&A@"G^E1NP26' BB:?>/&(CI1(!BB6)7V? &8I$PD#2A3 8H+<"?X: M4H,BLHKSMFL8\PS9=<[LU->/YQLC+\\RY1<2PS/58X/GOAG^3C(77N05[2J6 M+(7&=%T1 A8N*WF"IR*E6[0,44V$]]9X:+.)1Y5*(9(OYN0I6\]LF\,Y#Z PT\@^ M)+8FVQZL_"A+WT[\']S3C4-EX K!+)<\RY_AZ8'P;<473RO"*CL8)'4PUS4U M=\Y"R=Q__L>P/QC^-%_,-U=75UG=V#U-V$M,BLG0.G$C."E2E4LN_<%"/C$R MAO?XLG\11K.SE Z(/*%36;^[78->USBA_\"RZ"C,K?&%&L"&ZS=MOWG47'\N M&@NG[$2.&K7Y$J%+D MSZDL-&HU+)T]C)VLXM$*ZE27LJ%N,BSQD'4;6R=+>1S+F6-GLUOP<]YPZ)ZU MJS+1@3''ZMI]:^0XC(VZSM 9.?;0&PV&UMAUQS:S'"83(,03&*6S?\<*.##\ MT=6!C8:_!O)O[Y25L*N*JW4F(D44[;:A3Y<80YNP\4ZS:]@8M ">XW@=>>F+ MF[EU;_BV/]/R4Y06V:6R^U@RQ?MSJKG#H+?(V:"K>#30MG4-^D@L RLV&\CZW7;AIHGL5T^TXU\5?6=L'+\E>)83\![9$98E5LNGN6SE'+>W^*RHE8(#KR@M8J)R M(BXS="=-FYV8O5?\-3UI]CSY-URR=/+>_Q!>#CIP5%L_M+NO-WH\>>"0UA9Z M>:!/I"*IL+Q #XQW9-!.R@^_'<'86^JXN3+I.*(Q4_.91DHY!9K1*:2.Q"A5V4-3C M%M9N<8SGS%7;>HFB]S5A8. -OE3X(GVBV()+I96JU_PEN]A\<$A."^7D857D M&:JE$>94GGHKXZ.J)^N#%)<8E52-"AEAX(XT TI=I&J$6!*%('EW1N!_0R9) MH\4'1*JUKS;=U3>]",3E1T&M3+WFGGKAGKK7W%,W]]1/NJ>6_I/3\28]TQN/ MS$Z/C[J>YXX?CD__XPA[?/BC!T-K)[3Z]?! M=\()&N?G!MTBFS\9-%5#FVON'!4.H?D1K^7(VZ""T:0."R$GT&P;-#=#F]S^ MH@;W@73+4[,H=C-[G+8QTO3-$--\3&1 G@TV_:<<0/\2\W'FWO#4 M^.U*G_WPR>YSB9'*I].3ME3:KO75)5#E\BRA33 MFSF>#40R'D@&UC-$X'G@/.=BS>3UD.$GKCAU0\X#8R3AN4DG\E'S>M3"BLLK M(42]0YX&*"]/V\85 6WIFX3VH!^*," 5F@?@)H767"/N;-I[F3 MYTGHO,UV<"F]@5(;EEVB4I@%WC.3N3G)_!K;2_0"Y\-QQ[3LD6V.G5%W,N8C MUAE/1KUA!\C:GU@39[*@%ZRO(2@@B6-TQ<"%C2;OP05+[PK'M6YZPL(6ZL5H]ZHP+;]^>[6F M>3X;7[Z*\$CKBW^TL,<^:@PAT1<,E,.!\DFA@Q!GL>]$W-%Y$GD MRRTM#5L+ [CO C%ML[>1;O=4,5DL>M6Y8RY3=$TQ+5&Q*+)\0C'K/ XFE#M+ MU]LBWVGN#"W2$G$S"@BP^5)OH;L8S.N'/\THH=2V>BTPO>3*-8Q%LZN>6L,R M"4AI -J-K>*4W&Q:L1114*OJA\NS_U<&O&5WU#1F&M_DN57+-=W&=:I-)DM! M3*UVXHL*<1)A!)C80>3 (%J%,##GM;^6 RS9MU3[+S]3T#OO?;CK.NM8T6 M[-%>B2'<"3"(VB7U=_+'WXJ WBWLR\9 FI;EE/^4C<%3SU*^Y0#:\LL$^N'] M];;7MMCZ&&$#LBA-GN-1)1"T(TNJDFE #=9#:$J $A0#>M;1'= M$&*'NJFA1!THT>BFFA"BT4UU(42CFVI"B48WU800C6ZJ"R$:W50M)>[?SG># MF[W'EL?.PCZMS;6BJ'E^/7P_?KQ7B&W+.95/2$:5:W2C #_\[Q?6B_NLUW3: MW?VV]';NL1_K:"V0N3_EUV0;[:UTKPZP6P-2OK#=*9L'/AN<(<9 M?E%&?0XN*%,%X;WCZ#IF4Y'JE&2S1X35T7)6:,_Z'TL@*9J=TT:H&_XW=&?_FJ?$+ MUX2HJL&+O+5<\*H:6@FP\8J2;Z(,B[N3U\96!?K5>$&>JW,"%IN_;UO^2]S] M+Q82IJ!IG!BV64%3>V'R[V%9:UK6/U&K/>56>]_TW<.Z]\;8:SC L$N5=?>I M<#$LN^4,^M5MC#C=Z[4O^Y*,P?XEXV5%O+Z?I53,ZV")]9R&U8^4U?=S"!R% M8#2'P%%+1G,(Z(? H&4-.@LDKLS7V2EE<[1T]&RL866>S3.4TUV3;F\^RX') MJV6U^KU%>=U:\L31,OC:^_%ZGSH'QK+@9PPKMZ8:CCU2E7QX_-VHY -E\&>L MDGNMWF Q]G,T-QRRQKFYW]C5_<8>KW/KM*_>]+RL%9]\;TQPB!RY9S2&RMT.DV^H,M^AI[92RE))[,+K-@QPCJ+! RB687/@;]DF//6Q86S097(/?7(+M MC19QH=O&#G=[K.TVSKN,I;YR1P-L;YAWKUZ.2$[;_K+;[N;#80NUO$M;"2UW M'D<:O@2"<-$IODREUC:VO&JTW;)\/D@8RP1\6!=6N]\=#DVK/QK8CC7J.KPW M&HX[WL@9>YV^U6'VN+/81\%^QR<,VT)\G47A%0_]*"[:$(SZ0]L>UJ[?"@B) MFK6!TS;$O+7^"94U6*D$/WI[?58^12%?UE*#\3&?F'P\&KIV9]2U.Y,18ZP[ MZO=3MV8-N9^L\L'$3[].J%U=@B"7H M3:&/OM\.-I(NFG^6.*+IV[?0MZ_?].TKQB6:-WW['M"W3]NA8=M2R/N=OBHV^5LY P']JCKNM;$&XQ[@_&BWNTM]/'K]VVG=J=NK[VFB]]3 M%.M##]5%B:Y,L;[X^5W1\Z/4M4%KT["TKW08:0V.(D1!H>;!\QU,\KYX_@]@ MU_!3-H47N]3Y"S;@$MD>9B"XP(3_XN"C+]$(FV.)OYS=9?\[[H?AI_?_^.WL M0_I7>A4-@]]?&((F__W"_X%DBX"?PPD+$O[""-D4MH6[WEOL_H/-?\S3.#[U MHAD8XQ\"=OV"6/$3B^/1Z)??+L]_],\^?_WS"T_MZQ_O__@XNJYTAYEX<2Z2 MI9VH\D4"V&*/VPW6F;[C7^)IF,YO^.<_O_PYOOWSX]G[7[OA^S\FOYMV]L=M MI1LNNB2QW>QYK7A\Z8Y_"'[M_/GOW[K3KU;_W__\X]=OO_YR\?GW2G=F!QV,1+]-"J&>\OUS:SL[M_\-3R+[Z=7?XX_?'[SOT)MP: ML2$?HF,V'CG<&X]ZIC6P.X[9Z7?D)8;4 MBR6-DZQ^V^F)[7A\=-YN#YRE;ZQ16MP"B)AQ@K306%=Q)6)>"5"[>]Q<(!;5 MFKN9:K?ES1.(Y'3;7?/@B%20Q7C'$S?V9\+_F,O2FF-JTQ)!C'5,O9YP*SEZ MVYM1$O(!^9FZCW0B/BIM$/C\]RFA>12G'L:-V^/6O%HB=KMJIL8\2;A[ L2. MF9N^Y8+M2X;(?_Z91>E/&U\G?O;3"QE0N4G36?+VS9O;V]LVO*%]'7U_9;9OTNFR4_2!N[(QK/-^.@NB.[K3.2TZE8H.]@HHS^JI+I7C.[J# M&O/T%MM5GUV<&V?8BO@?0.*9<1ZZ;?K^7]%-:'R,;CEB%N;]9JF9*&P:CSE> M,Y7[EN9M2-#O*WC0$Q),^G8SXWFTEG?-AO-U6BNU9I+J9UNQR:U8YO> MSK3.&=)C A1)98/QLQN?3\!UX6Z&\6#CLPCUE=KB7G'JW&W8'4M% *]8/&8A M3TX^_PCX';;:QF\L4*R-7EBC%ZQ&+S1ZX0%ZP=JS7OC@ARQT?3 +&KVP/;U@ M-?9"HQ<>H!>L [$7AIU^Q7K!5E?4ST,M-.9"HQ8>HA8.PURH7"U879':\SST M@MDQV^>?KHQ&-QRL;OC?7RX_&N=ADE+:][O(S2@.2*$X\R>2#%]]ZZEO\[1_ M-IMQ%AO4E(3#,"E'S8*'\3N6,A#"@!MC[K(L@6'2Q*"WI>PZ,5C,#/I+(PS' M*@P?V9@'CQ&#YV8175R^;Z3@6*7@0I2M-F?"?:7AW?L/C30@V=CI^6TBWFIU&CM$]696"L*-=OFD$^7%(ZN M+)U>66RL1D0V7AB.7MWN\[P]>:_=R:N,PRCD^6XB?D=D=(S.3WEML?AG351 M3:;1E,HOE,H/FE+Y8MRF5'Y.*#:6RA>5\=QTF,,GSLCJL^&HV^G9HZ%G3D:V M/71[G<' MGF_5+IV=?Z/3Z=?OEZ^OQK9?;MK5EL/OZ'49&TQ6CZSC65K5SNK M6MNIHEVHU2_-ZT*[O\:;LIC_F?FQ@&)2=]@Y4 _8.^X-EDFJBVQS:'=;\KEK M/TEC'.D&"R>SX,Z@&SH/OO8)%PRS[N$M8VXD0$F$H@KI^F[,;U@PP11^'(B MPN0/$," 9P@$1>,I7"ON;1D$ZLF4JZJ\\&&U@\L*!&4T1-?9 !ZM:15M M<+2F)T%TJ_9#_9W@(=^*D^,6=F"CQLZ_9^,D"K)4FDQ;5].5F*ZE,W>MBS2% M40)E7?;@:%H+D+B7/>_!1J,H)^@(O:4_P=/\5:=U E^]/DAZ;,:%?X DU'/) M%;)=?1=X4'0\#LI1+=[IY3OC'Y>?OUX8YY_.JCQ^:V(E54/$S=Q9HN8^&/0W M=J=*'!_)?/LN/"\MYTWRIB@*/2A"'*&F: A1$T+\W5\26/!3F)V+/E_,$Q_] M00IHKRAX^/L;_[ 4VQ&2\=5%[(>N/V/!(GU>UYTXC[A8.T(2KHKR26%LC(O: M&Q=\,HGYG?'/R+U)4N:E!T60(Y2H!8(8#47J;&VLJ)QJ[(O]$TZS+Q;H,V]? M["J=H8FP'V.$?<$P:.+E]8JM'EJ\_ @MS7=1&#+C=#P&X^:,Q5.8. O]YHS< M[QG94*6.5+F/R7GJNE$FVE(U-F=M**?9G(L$JKG16:)P MD=@^CKP[^-=-.@U^_O]02P,$% @ ^#FG6.=+1_M?"0 8DH !@ !P M;71S+3(P,C0P,S,Q>&5X,S%D,2YH=&WM7/M3&SD2_E=TI/8"51Z/;2 D8T(5 M,Z?&HD$>SDL;&]]=?MS1^ 4E('2$F#%5^C)XM=7]?MQ[X M\!]!T,\SGL>0L#\&'S^P1,7E&'++8@W<8NI4V(P-5%'PG'T$K864[)T6R0@8 M:[>:KYKMSGZS%01'A]A6KZJD\HCMAP=AI]798ZUVM+L?=?;9\4>V_7G0VW&% M3\Y[@[\N^K[7B\_O/ISVV%80AO_>[87AR>#$9^PU6VTVT#PWP@J5S_:9KX=H&7(H1]D:I73\E434;P[5>I[[B M4,D$,_O7F1@*RW:QH<-PB%-7_"PQJ?J\XXDP*)84=A9E(DD@QP+_?/&ZT]KM M'H94\+$$C1%OH+]C0GO]R\'I^]/>\>#T_ S!<_GI\_'9@ W.V:=^SZ7MMCJ/ M.-/?.8!I)BP$IN Q1(6&8*IY@378^7LV^*///AU?OCL^ZW\*SO_SH?\7.^X- M**?3^OE#VASK69/KM,'^I;*)L)P_XLN4:4R!F[A$)IBWZ?O5=ZC(%!\"=3*>M=G+(>UPG[7:NR8*=YW.PN MAQF2 D.G]Q\VM'4O3!IWAB%RM$,;!2ZE-N2'M)3.9AOR.VY<@,K&,W:%TR@! M0]F&MV?MK3A1*$6N, ;&[KC(&<]GK,RM+@'%Q@#7!"JTBB'!9,.V$3X)(!X]1OK7<<;S$;!C]&^7I<02[5T> MM/>W8<=5;>\G_LD_"EK?Y1['U#XC)[@";P\WDN7>':5K':78$8WS)NBQ!(72 MT>,"><- ^F7DW3#\)XYFOK/1:#X!@[.*=NWBR&^#KD$A;LQ+<_\J%&L. 0%4 M]>2C5U5J; "='=D;N5 L!;EKA_8MELYWU8'[74Y$9!6^+E'5J)P[90ITQ"B+ M45(D;C/:E$,C$L&UH $('V2[D"*GEDI#@:\C,..B9.=PE0$4R**#ITH%)RLL M):+5.[M9V]QR_T]]+TI!FEI(A)B#FY4[@R2 M&V0=6E@3G7"=S*&-9".X-VL*W>_JEHC.L8 #N.>HM:(K"W,7\5Q7 RI*72#! M&+?4B&.$A!/ +=%'D.,*0B+/8 X41&!4I,RMYQ(D.E%@T+&&K9I4:E+Y*FKC MS2:5_H3+TCEKPA.D*:ZWQ0218.Y8-R\6'?<(/OSCW4MIQQ!8$0,'XQ?L0U7: M+TMPG_"(+TH#[4:DW]YF8\/Y/H*!+:9=SITH_XXP@%8.*HY+33!;"=/O:'6LC,5T.N;%M@SJGOWM3[/8]A>J MI,@7Z*!OE*X$CQ'%[DB 3@ORHI_ *1NV\?#$D;[_*^X.NI/E9$X2C:5') >]"M2E G M;5W,.0C^+@6*[_BFS&-W1+!3;P(^!_>\X9N QQ)7JCBO C%).]2TUQT+0!!5 M ?1B,VX*_(HB8K]R=3&Q6W.[@^_YP==W0;/:-_/G W?X0)Y@10,+%_A%&%F(I\H.0&*3G,^JFZVZ,ICP[B0:@:8.\V4=]-\C2H0V@\2 MNC>?M!]\#"E/4&T1^\AG[*#!Z%J]Z]E=0?>0G>_(.N0&L9*2%P:B^9?5WEYA MBU5'=*&:P_7;+7Z9U7#&7 ML^I_SZO@B[0PQFF74#6Z]ZK9/OAM=5YNX&WETOQ*^V1T= 5CKL/YL[MW' W1 M[UP%4YRV;U[$7^3SH5&RM- EP.WC2,GL#;F1R'W#VK#=:@28M;,V(3_5HMOW MMVC_OPW5^U=Y>UU!;YJ[KVH%;;""FGNU?GZ*?IQ;NT5_[4ZSL_^#*7#>Q_/6 MXJ,07^5\J\"L75PS=PN!O6BYOUIM]U%;:,+EO[,\+MD]VSE_$*C4%/IIZJ^GKP=4BUM<^]#T2%F3W?/56D]]#JV7[PE^QY?(VJ^W4E/9TH+%V MD.33GX+LV8*$EY?KZ3A'Z6B^C;3R@T#K&950G1M"SC>>UGZ*:.UP9SUM\2M' M!1]!X.V+IQ9TQ"=*))5!'+QI[K47>UX^K>4.>OVO)[F?8SKZ'U!+ P04 M" #X.:=85B.X_S8) #A/P & '!M=',M,C R-# S,S%X97@S,60R+FAT M;>U;>V_;.!+_*CP7O2: 9?D1;U,Y#9 ZSC:'-NFF+N[V3UJB+"*4J"4I.[Y/ M?S.DY&>2.MC=U.DY0&R+')+#X?SF05(G__"\09;0+&01^3C\_(E$,BQ2EAD2 M*D8-E$ZY2F%!>"?% \&C-"6LW&+XU6N]MH>M[I"?35+QO)+"!= M_ZW?;K:/2+,5=+I!NTO./I.#;\/^H24^O^X/?_\R<*-^^?;ATV6?U#S?_W>G M[_OGPW-7<=1HMLA0T4QSPV5&A>\/KFJDEAB3![X_G4X;TTY#JK$_O/$3DXHC M7TBI62,R4>WT!$O@D]'H]"1EAI(PH4HS\[[V;7CA'0.%X4:PTQ._^G:T(QG- M3D\B/B':S 1[7TNI&O/,,S(/.LW<]*"E#]5K-'?>E$3J.(9V-/ ML-A 2:/3790I/DX6A=)-+E!,4,,G#'M?ZC<4C*I@)$W26Q_BOI9YU2Z6F?%B MFG(Q"]X,>\H)3;:(6_J1MB)$4$E8.[A(^X M(9U6HWWBCT#(^=\VH0W>5]G$YM7 $ZZ!+<'-+$AX!),#@G^^.FXW.[T3'PF? MB]$0Y,K4$P3:']P,+R\N^V?#R^LK@-G-UV]G5T,RO"9?!WU;UFD^IZ2?.(%I MP@WS=$Y#%N2*>5-%.G MM#O:L\+799W\B\6Q8C/R48:)-C0R=1(R97@\(R:A)G@V7E9DM&CY#BJWE)BA M(\'(2*J(J?>U9@TF(D1II^;/J#SE,[10\!_-%P;G'5)1+J1=4[#P*UJ72:MS MI=$]!N;* :I9_*VB\L#J&YG:L99^2)'3"B&(3SJ80 M$YB$:_);016@1 M8IH^+J!OU_VY'%V^X=0V/-I>D?^!?Y*Z9S%EH&L=\<6),13!-4#H0RFBV+80_4 MGQRHG1<*5$9BG@$4$%4+U:\#2H$WI$G=E MZH'N1L8QAT>KW)>$*F9A!+#@N+J@[H1I7&FN$R1'LA1<+;I;?(ZX#H74!;1# M)ZRD<'C*E0Q9!,6:' !\(@9X=!@9W(4)S<:,G(%_NRD$4+0ZU&MU#]BA;=KJ M1N[)/7+,\S*'8^R?H!-<@K>#&_*R]4#QRD Q#(3S7 <]4& H'3POD'<,I \C M;TWQ7SB:Z>%.H_F<:9 JZ+6-([\/NCJ&N"$M]/9-,-8<,0!0.9*+7F6AH -P M=JAOZ$*!BF6V']RW6#C?90?N]D4!D67XND!5O73N6,G!$0,O6@H>V>UK78PT MCSA5'"? 79!M0XH,>RHT!K[6@&D;)5N'*S4#A@PX>&R44]3"0E",$V!:EHE% M TM7#B^G$7 KQ%#0G#ET)Y%.^VZ2?5ORQ\U$:46V7Z;>Y/Q5V-RM-LF8T4Q M1C2\'2L)F Y>Q?9OPZAL[6!_.V +I,4VX,8X^$'R.))]M0'W'@SW9R ' &;Z\QFH!OW+JH;!#[H^# MOK4W11;:(X+#_2;@_X-[WO%-P#,!F2K(E0,F<8<:][I#S@!$90 ]WXR;,GJ+ M$;'+7&U,;'-N>_!='7P]"9KEOID['[C'!]((&FHV=X$/PKC,U*$)8!$TLN[" M<@TQN2Y2F#.(R$ZF##WN/2+)=&Z:KI@*@/9?$KHW7K0?? XN MSV'9 O*9SLC;.L&+^"_H9J>]6N\,2[5O;.V+%THA:*Y94/U8YNP7&*!D"B_* MHPJ!-" I2 P!U@; A&"]T4J@5;/]K)T, (G>>M- M07K??<]@7D]'6HK"L!Y:ARY,&#&JT><%]A>T9@?-N@=5ARMR^0'JM:5"N9Z[U[U2^4KSVA[ M3/W4F-HORQ;+LH$7L@?,;JS,'C"[N2Q\->[$WP$W(-40WX9+.(O)Q3R;N':; MBB<^?V"!]KC:XVJ_+##(P1=WC01 LP&?PT>P4Z7EKOPE*% R1_OBJA*FG5(% M5;B_]$+V:D7)5'N-R>9*"EJ^];V2A*Z6S=\RS^F8>4Z;: R99D GDD?E\K]] MU^C,4Q-7U+2[9N[E=?LV_.G_ %!+ P04 " #X.:=8JDHO$E,% #?'0 M& '!M=',M,C R-# S,S%X97@S,F0Q+FAT;>T9:V_;-O"OW%QTC0'K9<=I M(KL!7,59/21Q&BO8^I$6*8LH)6H4'"]XG3! #S7 M/K*];M]V+>MTB+R"FDAF/O2=MT[7[1Z"Z_F]OM_MP^@2#F[#H%TBGTV#\-/U MN))Z??O^8A) RW*<7WJ!XYR%9]7"H>UZ$"J2%5QSF1'A...K%K02K7/?<5:K ME;WJV5(MG/#&270J#ATA9<%LJFGK=&@@^,D(/1VF3!.($J(*IM^U;L-SZQ@Q M-->"G0Z=YKO"G4NZ/AU2?@>%7@OVKI42M>"9I67N]]Q<#Y#2P>5'./?6BE.= M^)[KOA[DA%*>+2S!8HT0N]=_@"F^2!Z LC+.5TP0S>^8X;[%-Q*,*'\N=3)X M+.)KE'E#%\M,6S%)N5C[;T*>L@*NV IN9$JR-YT*@M\%4SQ^,RBQ"_X[0]9H MH. 9LQ)6Z6E[)P/-[K5%!%^@- ,=5"[Q:V_,=Z2N*L*Y%!07Q_<)GW,-O:[M M#9TYNB[_7FH:\D;P'2]0+<'UVD\XI2Q#A!]?'7?=WF#H&,3G4C3">F/J&QP: MC&_"R?DD&(63Z146S\WL=G050C@%[QAN[9D=V# ;!^6JU^N[G6?T^C<;,SJ; M7H?CLQTS&N5/W".8GD/X80RSTORES=H0RQ5R3A''24%EE'< "Z)BA+H>1TP M6T '2 $Q%\UV8M!G+%HJ[%YH,XJ2#[E!>%T1G_#2;%+042IA@J MMZU(I7^C1PT;4G&2LL*;W@JUA%)4236)W<)UH_]DRYJ5F\H'7AA ]52=L MO!28O1&&3)CLV6248K\MN6)F>BF,"Q\"^/VA_S;Y%[M>^^D M9U(VHWO/=RO/\PRK/"6E.[&I:()4%*&E)YNP$&ZZ2HYU9R+0,FG LUF0O6 M$,ZEHDQ9D12"Y 7SFX=M78Y07JV&F?*,E]&-M3;5$$F66C: :H(L(3N#IE%[ M=\HTD&IF/#FQ/9PW6U!N9CA8EKN9&8)5HVGCB*[=[5<.T'1CONF-$1'U7IBB M"P2K61\>V[V3U]N^JY5H_+@USSZ2(9%O+.2J\6GSVUHIDOMS/%%\ME;HP+^< MDS?K9%Y(L=1L8,;U/L[)VAP@3 ;[Y1-2LP.W8^%2>[ U3O][P_,_SJGJL%%_ M:OK4L/0]^^CUH$X_/$%HF?I>?@_H'T[AE5O^[:/VE*@YA?,P7GP])HY6^UKZ MG]?2/BI/B,J^3EY:1/9U\B*CPG>$E,\^U^C4"%>?=((=.OQ/HK6OLGV5[:-B M#K'7BN-),\>CYA?ET][7S@N)TAF*]^&2K.%M]=)P7QW/W[.^W(;^;A>%DLN,FOVN6/,R8)95<:16#/EDSO):9TB;T_LWN9D7X'<\E:RNKHL[T)/_P!02P,$ M% @ ^#FG6/6A/^5:!0 ^1H !@ !P;71S+3(P,C0P,S,Q>&5X,S)D M,BYH=&WM67MOVS80_RJW%%UCP'K9<1K+;@!7<58/39S&"K;^28N41902-8J. MXWWZ'?5P["1K40Q+C2U!X,?QR+O[W8-WUO GRQIG"/$1J(R6*<+AB Y]K'MM?IV:YEG0[QK*#>)#,?>LY; MI^-VCL#U_&[/[_1@= &'-V'0*IG/ID'X^6I<2;VZ>?]Q$L"!Y3B_=0/'.0O/ MJH4CV_4@5"0KN.8R(\)QQI<'<)!HG?N.LUJM[%77EFKAA-=.HE-QY @I"V93 M30].AX:"KXS0TV'*-($H(:I@^MW!37ANG2"'YEJPTZ'3O%>\':1$+7AF:9G[73?7 ]SIX/(#GCMKQ:E.?,]U7P]R0BG/%I9@L4:*W>W= MTQ1?)/=$61GG*R:(YK?,G+YU;B084?Y@R MA' *W@GDPPBF64L,A6B*N,Z8?!I M213:(-9PS7*I--9J.)G*..D@++*%X %T1%"72]-I@KH VD@)B+YCHQ[#,6+156 M+[289!3&=UB:,[Q4\/B4%X71&?\-)\4K!1*F&"JWK4BE?Z-'&R9M^)7%L6)K M^""CI-"$ZC8$"6P947.2L<*: MW@E4>A25$DU(MW&=:/_98F5?8_C0:T&(2-6A&B\%QFV$+A,F;C:QI-@?2ZZ8 MZ5L* ^&]0PY)"S ^O=XA;6U@OX^\3=35V'O]K@G6C+X@WZF0YQGF=TI*.+&< M:(*[*%)+)!NW$&[J2:Y883S0-LL$VT3^V8LB/49"Y8LW$N%67*BJ00)"^8WWS8UN48Y=5J MF/[.H(PPUMI4[2-9:MD0JMZQI.RTF$;MW?[24*INL=^W/>PT#Z"\QK"E+.\Q MT_ZJ1M,&".S1>A4 FF[,-[4Q(J*^!5.$0+#ZZ*,3N]M_O8U=K42#XU8G^T"& MQ'-C(5<-ILUW:Z5([L]QEOABK1# ;W;(FW4R+Z18:C8PC7H/.V1M1@<3P7[Y M"7>S0[=MX5)KL-5(_WMM\S^.J6K,J%\U_8I;T.;:IIYG'[\>U+&'@X.6J>_E M=X#@< JOW/)O'UUV'['/Z1:G)L4>>H7O""D_^UPCJ)'YR>;I,73H\+_QSTM>O>35BU?,)'JE..9, MCDGS*'U:7T\Z^$9Z.>6LUM#W-<2>0Z\S]+$/%V0-;ZN?[!ZAEFQ*T9Q$7Q9* M+C-JYEJI_&:@V'I0L;M0B^T\4,/=F7'KIR$[4^XN;?/T)2<+9E6A3F(<9'UR M*SFM8_-MW^YNAI^*Y);/:ZJ'.N53HM._ %!+ 0(4 Q0 ( /@YIUALVW U MY@X %*4 1 " 0 !P;71S+3(P,C0P,S,Q+GAS9%!+ M 0(4 Q0 ( /@YIUC^'KK JQ '?D 5 " 14/ !P M;71S+3(P,C0P,S,Q7V-A;"YX;6Q02P$"% ,4 " #X.:=8"(84P; F !M M3 ( %0 @ 'S'P <&UT&UL4$L! M A0#% @ ^#FG6&CQ7+8*5 BT<% !4 ( !UD8 '!M M=',M,C R-# S,S%?;&%B+GAM;%!+ 0(4 Q0 ( /@YIUB=4?ZKB3H ,4' M! 5 " 1.; !P;71S+3(P,C0P,S,Q7W!R92YX;6Q02P$" M% ,4 " #X.:=8(JBS<+R& 0",\!$ %0 @ '/U0 <&UT M#,R9#$N M:'1M4$L! A0#% @ ^#FG6/6A/^5:!0 ^1H !@ ( ! M2'4" '!M=',M,C R-# S,S%X97@S,F0R+FAT;5!+!08 "@ * *8" #8 %>@( ! end XML 73 pmts-20240331x10q_htm.xml IDEA: XBRL DOCUMENT 0001641614 pmts:TricorPacificCapitalPartnersFundIvMember 2024-01-01 2024-03-31 0001641614 pmts:TricorPacificCapitalPartnersFundIvMember 2023-12-06 2023-12-06 0001641614 us-gaap:CommonStockMember 2024-01-01 2024-03-31 0001641614 us-gaap:CommonStockMember 2023-01-01 2023-03-31 0001641614 us-gaap:RetainedEarningsMember 2024-03-31 0001641614 us-gaap:AdditionalPaidInCapitalMember 2024-03-31 0001641614 us-gaap:RetainedEarningsMember 2023-12-31 0001641614 us-gaap:AdditionalPaidInCapitalMember 2023-12-31 0001641614 us-gaap:RetainedEarningsMember 2023-03-31 0001641614 us-gaap:AdditionalPaidInCapitalMember 2023-03-31 0001641614 us-gaap:RetainedEarningsMember 2022-12-31 0001641614 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001641614 srt:MinimumMember srt:ChiefExecutiveOfficerMember us-gaap:PerformanceSharesMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2024-01-31 0001641614 srt:MinimumMember srt:ChiefExecutiveOfficerMember us-gaap:PerformanceSharesMember us-gaap:ShareBasedCompensationAwardTrancheThreeMember 2024-01-31 0001641614 srt:MinimumMember srt:ChiefExecutiveOfficerMember us-gaap:PerformanceSharesMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2024-01-31 0001641614 pmts:StockOptionsEmployeesDirectorsConsultantsMember pmts:CPICardGroupInc.OmnibusPlanMember 2024-03-31 0001641614 pmts:CPICardGroupInc.OmnibusPlanMember 2024-01-30 0001641614 pmts:CPICardGroupInc.OmnibusPlanMember 2024-01-30 2024-01-30 0001641614 pmts:StockOptionsEmployeesDirectorsConsultantsMember pmts:CPICardGroupInc.OmnibusPlanMember 2024-01-01 2024-03-31 0001641614 us-gaap:RestrictedStockUnitsRSUMember pmts:CPICardGroupInc.OmnibusPlanMember 2024-03-31 0001641614 us-gaap:RestrictedStockUnitsRSUMember pmts:CPICardGroupInc.OmnibusPlanMember 2024-01-01 2024-03-31 0001641614 pmts:June2023AwardOneMember 2024-01-01 2024-03-31 0001641614 us-gaap:OperatingSegmentsMember pmts:ServicesMember pmts:USPrepaidDebitMember 2024-01-01 2024-03-31 0001641614 us-gaap:OperatingSegmentsMember pmts:ServicesMember pmts:USDebitAndCreditMember 2024-01-01 2024-03-31 0001641614 us-gaap:OperatingSegmentsMember pmts:ProductsMember pmts:USDebitAndCreditMember 2024-01-01 2024-03-31 0001641614 us-gaap:IntersegmentEliminationMember pmts:ServicesMember 2024-01-01 2024-03-31 0001641614 us-gaap:IntersegmentEliminationMember pmts:ProductsMember 2024-01-01 2024-03-31 0001641614 us-gaap:OperatingSegmentsMember pmts:ServicesMember pmts:USPrepaidDebitMember 2023-01-01 2023-03-31 0001641614 us-gaap:OperatingSegmentsMember pmts:ServicesMember pmts:USDebitAndCreditMember 2023-01-01 2023-03-31 0001641614 us-gaap:OperatingSegmentsMember pmts:ProductsMember pmts:USDebitAndCreditMember 2023-01-01 2023-03-31 0001641614 us-gaap:IntersegmentEliminationMember pmts:ServicesMember 2023-01-01 2023-03-31 0001641614 us-gaap:IntersegmentEliminationMember pmts:ProductsMember 2023-01-01 2023-03-31 0001641614 us-gaap:RetainedEarningsMember 2024-01-01 2024-03-31 0001641614 us-gaap:RetainedEarningsMember 2023-01-01 2023-03-31 0001641614 srt:MinimumMember us-gaap:RevolvingCreditFacilityMember 2023-04-01 2023-04-01 0001641614 srt:MinimumMember pmts:SeniorRevolvingCreditFacilityMember 2023-04-01 2023-04-01 0001641614 srt:MaximumMember us-gaap:RevolvingCreditFacilityMember 2023-04-01 2023-04-01 0001641614 srt:MaximumMember pmts:SeniorRevolvingCreditFacilityMember 2023-04-01 2023-04-01 0001641614 srt:MaximumMember us-gaap:RevolvingCreditFacilityMember 2022-03-03 2022-03-03 0001641614 us-gaap:SeniorNotesMember 2023-01-01 2023-12-31 0001641614 us-gaap:RevolvingCreditFacilityMember 2024-03-31 0001641614 us-gaap:FairValueInputsLevel2Member us-gaap:SeniorNotesMember 2024-03-31 0001641614 us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:SeniorNotesMember 2024-03-31 0001641614 us-gaap:FairValueInputsLevel2Member us-gaap:SeniorNotesMember 2023-12-31 0001641614 us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:SeniorNotesMember 2023-12-31 0001641614 us-gaap:SeniorNotesMember 2024-03-31 0001641614 us-gaap:SeniorNotesMember 2023-12-31 0001641614 us-gaap:SeniorNotesMember 2021-03-15 0001641614 srt:MinimumMember us-gaap:RevolvingCreditFacilityMember pmts:SecuredOvernightFinancingRateMember 2023-04-01 2023-04-01 0001641614 srt:MaximumMember us-gaap:RevolvingCreditFacilityMember pmts:SecuredOvernightFinancingRateMember 2023-04-01 2023-04-01 0001641614 srt:MinimumMember us-gaap:RevolvingCreditFacilityMember pmts:SecuredOvernightFinancingRateMember 2022-03-03 2022-03-03 0001641614 srt:MaximumMember us-gaap:RevolvingCreditFacilityMember pmts:SecuredOvernightFinancingRateMember 2022-03-03 2022-03-03 0001641614 us-gaap:IntersegmentEliminationMember 2024-01-01 2024-03-31 0001641614 us-gaap:IntersegmentEliminationMember 2023-01-01 2023-03-31 0001641614 pmts:ServicesMember 2024-01-01 2024-03-31 0001641614 pmts:ProductsMember 2024-01-01 2024-03-31 0001641614 pmts:ServicesMember 2023-01-01 2023-03-31 0001641614 pmts:ProductsMember 2023-01-01 2023-03-31 0001641614 us-gaap:CommonStockMember 2024-03-31 0001641614 us-gaap:CommonStockMember 2023-12-31 0001641614 us-gaap:CommonStockMember 2023-03-31 0001641614 us-gaap:CommonStockMember 2022-12-31 0001641614 2023-11-02 0001641614 2023-03-31 0001641614 2022-12-31 0001641614 us-gaap:AdditionalPaidInCapitalMember 2024-01-01 2024-03-31 0001641614 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-03-31 0001641614 us-gaap:RestrictedStockUnitsRSUMember 2023-06-01 2023-06-30 0001641614 pmts:StockOptionsEmployeesDirectorsConsultantsMember 2023-06-01 2023-06-30 0001641614 pmts:June2023AwardOneMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2023-08-01 2023-08-31 0001641614 pmts:June2023AwardTwoMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2023-06-01 2023-06-30 0001641614 srt:ChiefExecutiveOfficerMember us-gaap:PerformanceSharesMember 2024-01-01 2024-01-31 0001641614 srt:ChiefExecutiveOfficerMember us-gaap:PerformanceSharesMember 2024-01-31 0001641614 us-gaap:MachineryAndEquipmentMember 2024-03-31 0001641614 us-gaap:LeaseholdImprovementsMember 2024-03-31 0001641614 us-gaap:FurnitureAndFixturesMember 2024-03-31 0001641614 us-gaap:ConstructionInProgressMember 2024-03-31 0001641614 pmts:OperatingRightOfUseAssetsMember 2024-03-31 0001641614 pmts:MachineryAndEquipmentUnderFinancialLeasesMember 2024-03-31 0001641614 us-gaap:MachineryAndEquipmentMember 2023-12-31 0001641614 us-gaap:LeaseholdImprovementsMember 2023-12-31 0001641614 us-gaap:FurnitureAndFixturesMember 2023-12-31 0001641614 us-gaap:ConstructionInProgressMember 2023-12-31 0001641614 pmts:OperatingRightOfUseAssetsMember 2023-12-31 0001641614 pmts:MachineryAndEquipmentUnderFinancialLeasesMember 2023-12-31 0001641614 us-gaap:RevolvingCreditFacilityMember 2022-03-03 0001641614 us-gaap:RevolvingCreditFacilityMember 2021-03-15 0001641614 pmts:SmartPackagingSolutionsSVCpiCardGroupIncMember us-gaap:PendingLitigationMember 2021-04-20 0001641614 us-gaap:OperatingSegmentsMember us-gaap:AllOtherSegmentsMember 2024-01-01 2024-03-31 0001641614 us-gaap:OperatingSegmentsMember pmts:USPrepaidDebitMember 2024-01-01 2024-03-31 0001641614 us-gaap:OperatingSegmentsMember pmts:USDebitAndCreditMember 2024-01-01 2024-03-31 0001641614 us-gaap:OperatingSegmentsMember us-gaap:AllOtherSegmentsMember 2023-01-01 2023-03-31 0001641614 us-gaap:OperatingSegmentsMember pmts:USPrepaidDebitMember 2023-01-01 2023-03-31 0001641614 us-gaap:OperatingSegmentsMember pmts:USDebitAndCreditMember 2023-01-01 2023-03-31 0001641614 2023-01-01 2023-03-31 0001641614 2023-12-31 0001641614 2024-03-31 0001641614 2024-04-30 0001641614 2024-01-01 2024-03-31 shares iso4217:USD pmts:item pure iso4217:USD shares 11446155 11391476 0001641614 --12-31 2024 Q1 false 0 0 P7Y 0.0033 0.0033 0.333 10-Q true 2024-03-31 false 001-37584 CPI Card Group Inc. DE 26-0344657 10368 W. Centennial Road Littleton CO 80127 720 681-6304 Common Stock, $0.001 par value PMTS NASDAQ Yes Yes Accelerated Filer true false false 11122466 17144000 12413000 68539000 73724000 83381000 70594000 11862000 8647000 180926000 165378000 70039000 66436000 61033000 63053000 52731000 51763000 13154000 14122000 47150000 47150000 17517000 3980000 319780000 293683000 23643000 12802000 49203000 35803000 1172000 840000 74018000 49445000 265326000 264997000 6742000 7139000 22145000 24038000 368231000 345619000 0.001 0.001 100000 100000 0 0 0.001 0.001 100000000 100000000 11391476 11446155 11000 11000 -104193000 -102223000 55731000 50276000 -48451000 -51936000 319780000 293683000 58158000 75790000 53778000 45062000 111936000 120852000 37802000 45980000 29929000 29404000 2687000 2374000 70418000 77758000 41518000 43094000 26043000 21066000 1330000 1430000 27373000 22496000 14145000 20598000 -6425000 -6781000 -65000 -114000 -6490000 -6895000 7655000 13703000 2200000 2830000 5455000 10873000 0.48 0.95 0.46 0.91 11266699 11394919 11769364 11901581 5455000 10873000 5455000 10873000 11446155 11000 -102223000 50276000 -51936000 13579 -109000 -109000 3060000 3060000 68258 4921000 4921000 5455000 5455000 11391476 11000 -104193000 55731000 -48451000 11390355 11000 -108379000 26291000 -82077000 34273 -69000 -69000 541000 541000 10873000 10873000 11424628 11000 -107907000 37164000 -70732000 5455000 10873000 3049000 2837000 968000 967000 3060000 541000 459000 473000 -119000 397000 271000 223000 12000 -5171000 -4335000 12984000 1464000 17610000 -310000 728000 550000 10681000 1533000 9730000 -11358000 332000 -1456000 8865000 8001000 1506000 4145000 50000 -1506000 -4095000 7903000 8000000 -109000 -69000 1269000 820000 1250000 -2628000 -792000 6000 4731000 3120000 12413000 11037000 17144000 14157000 11903000 12608000 16000 28000 163000 168000 2169000 263000 422000 4404000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">CPI Card Group Inc. and Subsidiaries</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Notes to Condensed Consolidated Financial Statements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(dollars in thousands, except share and per share amounts or as otherwise indicated)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(Unaudited)</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;font-weight:bold;text-indent:0pt;margin:0pt 0pt 10pt 0pt;">1. Business Overview and Summary of Significant Accounting Policies</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-indent:0pt;margin:0pt 0pt 10pt 0pt;">Business Overview</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">CPI Card Group Inc. (which, together with its subsidiary companies, is referred to herein as “CPI” or the “Company”) is a payments technology company and leading provider of comprehensive Financial Payment Card solutions in the United States. CPI is engaged in the design, production, data personalization, packaging and fulfillment of Financial Payment Cards, which the Company defines as credit, debit and Prepaid Debit Cards (defined below) issued on the networks of the Payment Card Brands (Visa, Mastercard<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">®</sup>, American Express<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">®</sup> and Discover<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">®</sup>). CPI defines “Prepaid Debit Cards” as debit cards issued on the networks of the Payment Card Brands, but not linked to a traditional bank account. CPI also offers an instant card issuance solution, which provides customers the ability to issue a personalized debit or credit card within the bank branch to individual cardholders. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">CPI serves its customers through a network of high-security production and card services facilities in the United States, each of which is audited for compliance with the standards of the Payment Card Industry Security Standards Council (“PCI Security Standards Council”) by one or more of the Payment Card Brands. CPI’s network of high-security production facilities allows the Company to optimize its solutions offerings and serve its customers. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company’s business consists of the following reportable segments: Debit and Credit, Prepaid Debit and Other. The Debit and Credit segment primarily produces Financial Payment Cards and provides integrated card services to card-issuing financial institutions primarily in the United States. The Prepaid Debit segment primarily provides integrated card services to Prepaid Debit Card program managers primarily in the United States. The Company’s “Other” segment includes corporate expenses.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-indent:0pt;margin:0pt 0pt 10pt 0pt;">Basis of Presentation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Certain information and footnote disclosures normally included in financial statements prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) have been condensed or omitted pursuant to Form 10-Q and Article 8 of Regulation S-X. In the opinion of management, these financial statements reflect all adjustments (consisting of normal recurring adjustments) considered necessary for the fair statement of the results of the interim periods presented. The condensed consolidated balance sheet as of December 31, 2023 is derived from the audited financial statements as of that date. The accompanying condensed consolidated financial statements should be read in conjunction with the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-indent:0pt;margin:0pt 0pt 10pt 0pt;">Use of Estimates</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Management uses estimates and assumptions relating to the reporting of assets and liabilities at the date of the financial statements, the reported revenues and expenses recognized during the reporting period, and certain financial statement disclosures in the preparation of the condensed consolidated financial statements. Significant items subject to such estimates and assumptions include the carrying amount of property and equipment, goodwill and intangible assets, leases, valuation allowances for inventories and deferred taxes, revenue recognized for work performed but not completed and uncertain tax positions. Actual results could differ from those estimates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Recent Accounting Pronouncements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Recently Issued Accounting Pronouncements</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:12.0pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In November 2023, the Financial Accounting Standards Board issued ASU 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures, which will require enhanced segment disclosures. Adoption of this accounting standard is effective for the Company for fiscal years beginning after December 15, 2023. The Company has elected not to early adopt this accounting standard. The Company is evaluating the impact of adoption of this standard and does not anticipate that the application of ASU 2023-07 will have a material impact on the Company’s consolidated financial position, results of operations, or cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:12.0pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In December 2023, the Financial Accounting Standards Board issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures which will require a disaggregated rate reconciliation disclosure as well as additional information regarding taxes paid. Adoption of this accounting standard is effective for the Company for fiscal years beginning after December 15, 2024. The Company has elected not to early adopt this accounting standard. The Company is evaluating the impact of adoption of this standard and does not anticipate that the application of ASU 2023-09 will have a material impact on the Company’s consolidated financial position, results of operations, or cash flows.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-indent:0pt;margin:0pt 0pt 10pt 0pt;">Basis of Presentation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Certain information and footnote disclosures normally included in financial statements prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) have been condensed or omitted pursuant to Form 10-Q and Article 8 of Regulation S-X. In the opinion of management, these financial statements reflect all adjustments (consisting of normal recurring adjustments) considered necessary for the fair statement of the results of the interim periods presented. The condensed consolidated balance sheet as of December 31, 2023 is derived from the audited financial statements as of that date. The accompanying condensed consolidated financial statements should be read in conjunction with the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2023.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-indent:0pt;margin:0pt 0pt 10pt 0pt;">Use of Estimates</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Management uses estimates and assumptions relating to the reporting of assets and liabilities at the date of the financial statements, the reported revenues and expenses recognized during the reporting period, and certain financial statement disclosures in the preparation of the condensed consolidated financial statements. Significant items subject to such estimates and assumptions include the carrying amount of property and equipment, goodwill and intangible assets, leases, valuation allowances for inventories and deferred taxes, revenue recognized for work performed but not completed and uncertain tax positions. Actual results could differ from those estimates.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Recent Accounting Pronouncements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Recently Issued Accounting Pronouncements</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:12.0pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In November 2023, the Financial Accounting Standards Board issued ASU 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures, which will require enhanced segment disclosures. Adoption of this accounting standard is effective for the Company for fiscal years beginning after December 15, 2023. The Company has elected not to early adopt this accounting standard. The Company is evaluating the impact of adoption of this standard and does not anticipate that the application of ASU 2023-07 will have a material impact on the Company’s consolidated financial position, results of operations, or cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:12.0pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In December 2023, the Financial Accounting Standards Board issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures which will require a disaggregated rate reconciliation disclosure as well as additional information regarding taxes paid. Adoption of this accounting standard is effective for the Company for fiscal years beginning after December 15, 2024. The Company has elected not to early adopt this accounting standard. The Company is evaluating the impact of adoption of this standard and does not anticipate that the application of ASU 2023-09 will have a material impact on the Company’s consolidated financial position, results of operations, or cash flows.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-indent:0pt;margin:0pt 0pt 10pt 0pt;">2. Net Sales</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company disaggregates its net sales by major source as follows:</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;white-space:nowrap;width:62.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 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.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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 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.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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 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.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.05%;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 colspan="8" style="vertical-align:middle;white-space:nowrap;width:37.94%;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;">Three Months Ended March 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.05%;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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.07%;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;">Products</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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:11.08%;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;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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:11.06%;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;white-space:nowrap;width:62.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Debit and Credit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;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.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 58,371</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 29,602</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 87,973</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:62.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid Debit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;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.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,198</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,198</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:62.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Intersegment eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.58%;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;"> (213)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.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 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.58%;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;"> (22)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.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 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.56%;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;"> (235)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:62.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;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.58%;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 3pt 0.05pt 0pt;"> 58,158</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.58%;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 3pt 0.05pt 0pt;"> 53,778</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.56%;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 3pt 0.05pt 0pt;"> 111,936</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:62.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;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.58%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.58%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.56%;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.05%;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 colspan="8" style="vertical-align:middle;white-space:nowrap;width:37.94%;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;">Three Months Ended March 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.05%;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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.07%;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;">Products</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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:11.08%;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;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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:11.06%;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;white-space:nowrap;width:62.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Debit and Credit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;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.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 76,032</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25,953</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 101,985</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:62.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid Debit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;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.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19,130</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19,130</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:62.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Intersegment eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.58%;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;"> (242)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.58%;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;"> (21)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.56%;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;"> (263)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:62.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;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.58%;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 3pt 0.05pt 0pt;"> 75,790</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.58%;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 3pt 0.05pt 0pt;"> 45,062</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.56%;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 3pt 0.05pt 0pt;"> 120,852</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:62.05%;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.49%;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.58%;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.35%;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.5%;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.58%;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.35%;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.5%;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.56%;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;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Products Net Sales</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">“Products” net sales are recognized when obligations under the terms of a contract with a customer are satisfied. In most instances, this occurs over time as cards are produced for specific customers and have no alternative use and the Company has an enforceable right to payment for work performed. For work performed but not completed and unbilled, the Company estimates revenue by taking actual costs incurred and applying historical margins for similar types of contracts. Items included in “Products” net sales are the design and production of Financial Payment Cards, including contact-EMV<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">®</sup>, contactless dual-interface EMV, contactless and magnetic stripe cards, CPI’s eco-focused solutions, including Second Wave<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">®</sup> and Earthwise<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">®</sup> cards made with upcycled plastic, metal cards, private label credit cards and retail gift cards. Card@Once<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">®</sup> printers and consumables are also included in “Products” net sales, and their associated revenues are recognized at the time of shipping. The Company includes gross shipping and handling revenue in net sales, and shipping and handling costs in cost of sales.</p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:10pt 0pt 0pt 0pt;"><i style="font-style:italic;">Europay, Mastercard and Visa (“EMV</i><sup style="font-size:6pt;font-style:italic;line-height:100%;top:0pt;vertical-align:top;">®</sup><i style="font-style:italic;">”) is a global technical standard maintained by EMV Co, LLC. EMV</i><sup style="font-size:6pt;font-style:italic;line-height:100%;top:0pt;vertical-align:top;">®</sup><i style="font-style:italic;"> is a registered trademark in the U.S. and other countries and an unregistered trademark elsewhere. The EMV trademark is owned by EMV</i><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"> </sup><i style="font-style:italic;">Co, LLC</i>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Services Net Sales</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="background:#ffffff;">Net sales are recognized for “Services” as the services are performed. Items included in “Services” net sales include the personalization and fulfillment of Financial Payment Cards, providing tamper-evident secure packaging and fulfillment services to Prepaid Debit Card program managers, and software-as-a-service personalization of instant </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><span style="background:#ffffff;">issuance debit cards. As applicable, for work performed but not completed and unbilled, the Company estimates revenue by taking actual costs incurred and applying historical margins for similar types of contracts.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Customer Contracts</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company often enters into Master Services Agreements (“MSAs”) with its customers. Generally, enforceable rights and obligations for goods and services occur only when a customer places a purchase order or statement of work to obtain goods or services under an MSA. The contract term as defined by ASC 606, <i style="font-style:italic;">Revenue from Contracts with Customers</i>, is the length of time it takes to deliver the goods or services promised under the purchase order or statement of work. As such, the Company's contracts are generally short term in nature.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Costs to Obtain a Contract with a Customer</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Costs to obtain a contract (“contract costs”) include only those costs incurred to obtain a contract that the Company would not have incurred if the contract had not been obtained. For contracts where the term is greater than one year, these costs are recorded as an asset and amortized consistent with the timing of the related revenue over the life of the contract. The current portion of the asset is included in “prepaid expenses and other current assets” and the noncurrent portion is included in “other assets” on the Company's condensed consolidated balance sheets. Contract costs incurred but unpaid are included in “accrued expenses” on the Company's condensed consolidated balance sheets. Contract costs are expensed as incurred when the amortization period is one year or less.</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;white-space:nowrap;width:62.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 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.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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 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.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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 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.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 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.05%;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 colspan="8" style="vertical-align:middle;white-space:nowrap;width:37.94%;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;">Three Months Ended March 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.05%;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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.07%;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;">Products</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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:11.08%;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;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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:11.06%;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;white-space:nowrap;width:62.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Debit and Credit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;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.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 58,371</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 29,602</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 87,973</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:62.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid Debit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;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.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,198</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,198</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:62.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Intersegment eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.58%;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;"> (213)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.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 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.58%;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;"> (22)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.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 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.56%;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;"> (235)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:62.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;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.58%;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 3pt 0.05pt 0pt;"> 58,158</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.58%;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 3pt 0.05pt 0pt;"> 53,778</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.56%;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 3pt 0.05pt 0pt;"> 111,936</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:62.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;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.58%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.58%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.56%;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.05%;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 colspan="8" style="vertical-align:middle;white-space:nowrap;width:37.94%;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;">Three Months Ended March 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.05%;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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.07%;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;">Products</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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:11.08%;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;">Services</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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:11.06%;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;white-space:nowrap;width:62.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Debit and Credit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;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.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 76,032</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25,953</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 101,985</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:62.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Prepaid Debit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;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.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19,130</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19,130</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:62.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Intersegment eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.58%;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;"> (242)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.58%;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;"> (21)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.56%;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;"> (263)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:62.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;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.58%;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 3pt 0.05pt 0pt;"> 75,790</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.58%;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 3pt 0.05pt 0pt;"> 45,062</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;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.5%;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.56%;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 3pt 0.05pt 0pt;"> 120,852</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:62.05%;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.49%;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.58%;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.35%;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.5%;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.58%;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.35%;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.5%;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.56%;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> 58371000 29602000 87973000 24198000 24198000 -213000 -22000 -235000 58158000 53778000 111936000 76032000 25953000 101985000 19130000 19130000 -242000 -21000 -263000 75790000 45062000 120852000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">3. Accounts Receivable</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Accounts receivable consisted of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:14pt;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;white-space:nowrap;width:75.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 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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:10.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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;white-space:nowrap;width:75.56%;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.35%;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.33%;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;">March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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 style="vertical-align:bottom;white-space:nowrap;width:1.37%;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:10.02%;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></tr><tr><td style="vertical-align:bottom;width:75.56%;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:1.35%;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="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;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;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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 style="vertical-align:bottom;white-space:nowrap;width:1.37%;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="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trade accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 59,788</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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:1.37%;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:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 69,245</p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Unbilled accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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.33%;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 3pt 0.05pt 0pt;"> 8,997</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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:1.37%;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:10.02%;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 3pt 0.05pt 0pt;"> 4,725</p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;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.35%;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.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 68,785</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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:1.37%;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:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 73,970</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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.33%;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;"> (246)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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.37%;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:10.02%;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;"> (246)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.56%;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.35%;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.33%;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 3pt 0.05pt 0pt;"> 68,539</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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.37%;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:10.02%;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 3pt 0.05pt 0pt;"> 73,724</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt;"><span style="font-size:1pt;margin-bottom:14pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:14pt;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;white-space:nowrap;width:75.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 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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:10.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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;white-space:nowrap;width:75.56%;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.35%;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.33%;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;">March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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 style="vertical-align:bottom;white-space:nowrap;width:1.37%;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:10.02%;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></tr><tr><td style="vertical-align:bottom;width:75.56%;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:1.35%;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="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;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;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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 style="vertical-align:bottom;white-space:nowrap;width:1.37%;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="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trade accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 59,788</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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:1.37%;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:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 69,245</p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Unbilled accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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.33%;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 3pt 0.05pt 0pt;"> 8,997</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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:1.37%;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:10.02%;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 3pt 0.05pt 0pt;"> 4,725</p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;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.35%;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.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 68,785</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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:1.37%;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:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 73,970</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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.33%;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;"> (246)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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.37%;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:10.02%;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;"> (246)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.56%;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.35%;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.33%;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 3pt 0.05pt 0pt;"> 68,539</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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.37%;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:10.02%;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 3pt 0.05pt 0pt;"> 73,724</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt;"><span style="font-size:1pt;margin-bottom:14pt;visibility:hidden;">​</span></p> 59788000 69245000 8997000 4725000 68785000 73970000 246000 246000 68539000 73724000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">4</b>. <b style="font-weight:bold;">Inventories</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Inventories consisted of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="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:75.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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:10.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:75.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Aptos Narrow';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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;">March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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 style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;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></tr><tr><td style="vertical-align:bottom;width:75.56%;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 style="vertical-align:bottom;white-space:nowrap;width:1.35%;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="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;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;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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 style="vertical-align:bottom;white-space:nowrap;width:1.37%;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="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;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:1.35%;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.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 79,825</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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.37%;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:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,210</p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;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:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,531</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p 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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,162</p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Inventory reserve</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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.33%;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;"> (2,975)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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.37%;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:10.02%;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;"> (2,778)</p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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.33%;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 3pt 0pt 0pt;"> 83,381</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p 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.37%;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:10.02%;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 3pt 0pt 0pt;"> 70,594</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:36pt;margin:0pt;"><span style="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:75.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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:10.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:75.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Aptos Narrow';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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;">March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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 style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;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></tr><tr><td style="vertical-align:bottom;width:75.56%;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 style="vertical-align:bottom;white-space:nowrap;width:1.35%;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="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;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;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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 style="vertical-align:bottom;white-space:nowrap;width:1.37%;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="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;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:1.35%;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.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 79,825</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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.37%;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:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,210</p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;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:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,531</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p 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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,162</p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Inventory reserve</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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.33%;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;"> (2,975)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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.37%;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:10.02%;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;"> (2,778)</p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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.33%;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 3pt 0pt 0pt;"> 83,381</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p 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.37%;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:10.02%;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 3pt 0pt 0pt;"> 70,594</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> 79825000 66210000 6531000 7162000 2975000 2778000 83381000 70594000 <p style="font-family:'Times New Roman','Times','serif';font-size:1pt;font-weight:bold;text-indent:0pt;margin:0pt;">5</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;font-weight:bold;text-indent:0pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:14pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-indent:0pt;margin:0pt 0pt 10pt 0pt;">5. Plant, Equipment, Leasehold Improvements and Operating Lease Right-of-Use Assets</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Plant, equipment, leasehold improvements and operating lease right-of-use assets consisted of the following:</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:75.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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:10.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:75.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Aptos Narrow';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Aptos Narrow';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;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;">March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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 style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;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></tr><tr><td style="vertical-align:bottom;width:75.56%;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 style="vertical-align:bottom;white-space:nowrap;width:1.35%;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="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;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;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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 style="vertical-align:bottom;white-space:nowrap;width:1.37%;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="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Machinery and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,466</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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.37%;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:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 67,506</p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Machinery and equipment under financing leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,774</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,774</p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture, fixtures and computer equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 160</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 107</p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,419</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p 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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,335</p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Construction in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,264</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,778</p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease right-of-use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;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 3pt 0pt 0pt;"> 19,989</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;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 3pt 0pt 0pt;"> 19,989</p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;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.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 131,072</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 129,489</p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less accumulated depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;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;"> (70,039)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p 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.37%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;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;"> (66,436)</p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;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.35%;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.33%;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 3pt 0pt 0pt;"> 61,033</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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.37%;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:10.02%;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 3pt 0pt 0pt;"> 63,053</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;visibility:hidden;background:#ffffff;">​</span></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:75.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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:10.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:75.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Aptos Narrow';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Aptos Narrow';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;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;">March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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 style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;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></tr><tr><td style="vertical-align:bottom;width:75.56%;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 style="vertical-align:bottom;white-space:nowrap;width:1.35%;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="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;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;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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 style="vertical-align:bottom;white-space:nowrap;width:1.37%;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="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Machinery and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,466</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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.37%;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:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 67,506</p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Machinery and equipment under financing leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,774</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,774</p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture, fixtures and computer equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 160</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 107</p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,419</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p 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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,335</p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Construction in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,264</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,778</p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease right-of-use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;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 3pt 0pt 0pt;"> 19,989</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;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 3pt 0pt 0pt;"> 19,989</p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;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.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 131,072</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 129,489</p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less accumulated depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;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;"> (70,039)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p 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.37%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.02%;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;"> (66,436)</p></td></tr><tr><td style="vertical-align:bottom;width:75.56%;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.35%;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.33%;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 3pt 0pt 0pt;"> 61,033</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;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.37%;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:10.02%;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 3pt 0pt 0pt;"> 63,053</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;visibility:hidden;background:#ffffff;">​</span></p> 68466000 67506000 23774000 23774000 160000 107000 17419000 16335000 1264000 1778000 19989000 19989000 131072000 129489000 70039000 66436000 61033000 63053000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-indent:0pt;margin:0pt 0pt 10pt 0pt;">6. Fair Value of Financial Instruments</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date (exit price). In determining fair value, the Company utilizes a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value into three broad levels. The following is a brief description of those three levels: </p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;padding-left:14.4pt;text-indent:-14.4pt;margin:0pt 0pt 0pt 18pt;"><span style="font-family:'Times New Roman';">●</span><span style="font-family:'Times New Roman','Times','serif';">    Level 1—Valuations based on unadjusted quoted prices in active markets for identical assets or liabilities accessible to the reporting entity at the measurement date.</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-indent:0pt;margin:0pt 0pt 0pt 18pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.28;margin-bottom:14pt;margin-left:0pt;visibility:hidden;">​</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;padding-left:14.4pt;text-indent:-14.4pt;margin:0pt 0pt 0pt 18pt;"><span style="font-family:'Times New Roman';">●</span><span style="font-family:'Times New Roman','Times','serif';">    Level 2— Observable inputs other than Level 1 prices, such as quoted prices in active markets for similar assets and liabilities, quoted prices in markets that are not active or other inputs that are observable or can be corroborated by observable market data for substantially the full term for the assets or liabilities.</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-indent:0pt;margin:0pt 0pt 0pt 18pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.28;margin-bottom:14pt;margin-left:0pt;visibility:hidden;">​</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;padding-left:14.4pt;text-indent:-14.4pt;margin:0pt 0pt 0pt 18pt;"><span style="font-family:'Times New Roman';">●</span><span style="font-family:'Times New Roman','Times','serif';">    Level 3— Valuations based on unobservable inputs for the asset or liability used to measure fair value to the extent that observable inputs are not available, thereby allowing for situations in which there is little, if any, market activity for the asset or liability at the measurement date.</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 18pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.28;margin-bottom:14pt;margin-left:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The Company’s financial assets and liabilities that are not required to be re-measured at fair value in the condensed consolidated balance sheets were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:14pt;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:35.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.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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:10.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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.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: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.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></tr><tr><td style="vertical-align:bottom;width:35.76%;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:10.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;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;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:11.63%;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;">Estimated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;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.4%;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:9.35%;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.37%;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.4%;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:9.36%;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.39%;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.41%;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:9.38%;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:35.76%;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:10.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;">Value as of </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;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;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.63%;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 as of </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;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="8" style="vertical-align:bottom;white-space:nowrap;width:37.09%;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 Measurement at March 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.76%;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:10.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;">March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;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;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.63%;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;">March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;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="8" style="vertical-align:bottom;white-space:nowrap;width:37.09%;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;"> (Using Fair Value Hierarchy)</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.76%;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:10.75%;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;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;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;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.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;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;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.75%;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.37%;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.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.39%;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.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;">Level 3</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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.35%;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:2.37%;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.56%;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:10.06%;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:2.37%;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.4%;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.35%;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:2.37%;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.4%;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.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><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.41%;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.38%;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:35.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Senior Notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p 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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 267,897</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 267,147</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p 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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p 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.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 267,147</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">—</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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:35.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.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:9.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:2.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:1.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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:1.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:9.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:2.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:1.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:9.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:2.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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:9.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></tr><tr><td style="vertical-align:bottom;width:35.79%;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:10.81%;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;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;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:11.21%;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;">Estimated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;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.43%;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:9.38%;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.41%;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.44%;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:9.39%;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.42%;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.44%;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:9.41%;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:35.79%;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:10.81%;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;"> Value as of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;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;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.21%;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 as of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;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="8" style="vertical-align:bottom;white-space:nowrap;width:37.34%;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 Measurement at December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.79%;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:10.81%;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:2.41%;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;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.21%;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:2.41%;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="8" style="vertical-align:bottom;white-space:nowrap;width:37.34%;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;"> (Using Fair Value Hierarchy)</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.79%;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:10.81%;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;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;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;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.21%;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;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;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.81%;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.41%;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.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;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;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.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;">Level 3</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;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.38%;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:2.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:1.51%;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.7%;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:2.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:1.43%;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.38%;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:2.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:1.44%;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.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:2.42%;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.44%;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.41%;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:35.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Senior Notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p 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.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 267,897</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.51%;margin:0pt;padding:0pt;"><p 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 3pt 0pt 0pt;"> 261,834</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.43%;margin:0pt;padding:0pt;"><p 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.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">—</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.44%;margin:0pt;padding:0pt;"><p 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.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 261,834</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p 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.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> — </p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The aggregate fair value of the Company’s Senior Notes (as defined in Note 8, “Long-Term Debt”) was based on bank quotes. The carrying amounts for cash and cash equivalents, accounts receivable and accounts payable each approximate fair value due to their short-term nature.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The Company’s financial assets and liabilities that are not required to be re-measured at fair value in the condensed consolidated balance sheets were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:14pt;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:35.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.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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:10.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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.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: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.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></tr><tr><td style="vertical-align:bottom;width:35.76%;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:10.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;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;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:11.63%;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;">Estimated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;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.4%;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:9.35%;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.37%;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.4%;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:9.36%;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.39%;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.41%;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:9.38%;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:35.76%;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:10.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;">Value as of </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;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;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.63%;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 as of </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;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="8" style="vertical-align:bottom;white-space:nowrap;width:37.09%;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 Measurement at March 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.76%;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:10.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;">March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;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;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.63%;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;">March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;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="8" style="vertical-align:bottom;white-space:nowrap;width:37.09%;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;"> (Using Fair Value Hierarchy)</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.76%;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:10.75%;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;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;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;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.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;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;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.75%;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.37%;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.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.39%;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.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;">Level 3</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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.35%;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:2.37%;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.56%;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:10.06%;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:2.37%;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.4%;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.35%;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:2.37%;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.4%;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.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><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.41%;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.38%;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:35.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Senior Notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p 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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 267,897</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 267,147</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p 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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p 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.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 267,147</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">—</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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:35.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.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:9.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:2.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:1.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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:1.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:9.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:2.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:1.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:9.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:2.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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:9.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></tr><tr><td style="vertical-align:bottom;width:35.79%;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:10.81%;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;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;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:11.21%;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;">Estimated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;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.43%;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:9.38%;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.41%;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.44%;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:9.39%;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.42%;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.44%;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:9.41%;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:35.79%;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:10.81%;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;"> Value as of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;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;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.21%;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 as of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;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="8" style="vertical-align:bottom;white-space:nowrap;width:37.34%;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 Measurement at December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.79%;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:10.81%;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:2.41%;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;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.21%;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:2.41%;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="8" style="vertical-align:bottom;white-space:nowrap;width:37.34%;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;"> (Using Fair Value Hierarchy)</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.79%;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:10.81%;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;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;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;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.21%;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;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;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.81%;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.41%;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.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;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;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.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;">Level 3</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;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.38%;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:2.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:1.51%;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.7%;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:2.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:1.43%;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.38%;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:2.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:1.44%;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.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:2.42%;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.44%;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.41%;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:35.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Senior Notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><p 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.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 267,897</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.51%;margin:0pt;padding:0pt;"><p 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 3pt 0pt 0pt;"> 261,834</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.43%;margin:0pt;padding:0pt;"><p 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.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">—</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.44%;margin:0pt;padding:0pt;"><p 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.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 261,834</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p 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.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> — </p></td></tr></table> 267897000 267147000 267147000 267897000 261834000 261834000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">7. Accrued Expenses</b></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-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Accrued expenses consisted of the following:</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:75.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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;width:9.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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;width:2.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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;white-space:nowrap;width:75.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Aptos Narrow';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.94%;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;">March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;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.92%;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></tr><tr><td style="vertical-align:bottom;width:75.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.94%;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;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;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="2" style="vertical-align:bottom;white-space:nowrap;width:10.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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued payroll and related employee expenses</p></td><td style="vertical-align:bottom;width:1.48%;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;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,146</p></td><td style="vertical-align:bottom;width:2.46%;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;width:1.48%;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.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,431</p></td></tr><tr><td style="vertical-align:bottom;width:75.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued employee performance bonuses</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,009</p></td><td style="vertical-align:bottom;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 667</p></td></tr><tr><td style="vertical-align:bottom;width:75.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Employer payroll taxes</p></td><td style="vertical-align:bottom;width:1.48%;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;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,377</p></td><td style="vertical-align:bottom;width:2.46%;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;width:1.48%;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.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 298</p></td></tr><tr><td style="vertical-align:bottom;width:75.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued rebates</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,540</p></td><td style="vertical-align:bottom;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,919</p></td></tr><tr><td style="vertical-align:bottom;width:75.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Capitalized contract costs payable</p></td><td style="vertical-align:bottom;width:1.48%;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;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,000</p></td><td style="vertical-align:bottom;width:2.46%;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;width:1.48%;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.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:75.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued interest</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Aptos Narrow';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 999</p></td><td style="vertical-align:bottom;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,830</p></td></tr><tr><td style="vertical-align:bottom;width:75.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current operating and financing lease liabilities</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Aptos Narrow';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,195</p></td><td style="vertical-align:bottom;width:2.46%;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;width:1.48%;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.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,318</p></td></tr><tr><td style="vertical-align:bottom;width:75.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued share repurchases</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Aptos Narrow';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,404</p></td><td style="vertical-align:bottom;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 733</p></td></tr><tr><td style="vertical-align:bottom;width:75.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;width:1.48%;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="font-family:'Aptos Narrow';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:9.45%;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 3pt 0pt 0pt;"> 8,533</p></td><td style="vertical-align:bottom;width:2.46%;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;width:1.48%;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.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 3pt 0pt 0pt;"> 5,607</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Total accrued expenses</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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.45%;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 3pt 0pt 0pt;"> 49,203</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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.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 3pt 0pt 0pt;"> 35,803</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:36pt;margin:0pt;">Other accrued expenses as of March 31, 2024, and December 31, 2023, consisted primarily of federal income and sales tax accruals, as well as self-insurance claims that have yet to be reported.</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:75.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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;width:9.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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;width:2.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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;white-space:nowrap;width:75.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Aptos Narrow';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.94%;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;">March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;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.92%;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></tr><tr><td style="vertical-align:bottom;width:75.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.94%;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;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;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="2" style="vertical-align:bottom;white-space:nowrap;width:10.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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued payroll and related employee expenses</p></td><td style="vertical-align:bottom;width:1.48%;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;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,146</p></td><td style="vertical-align:bottom;width:2.46%;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;width:1.48%;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.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,431</p></td></tr><tr><td style="vertical-align:bottom;width:75.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued employee performance bonuses</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,009</p></td><td style="vertical-align:bottom;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 667</p></td></tr><tr><td style="vertical-align:bottom;width:75.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Employer payroll taxes</p></td><td style="vertical-align:bottom;width:1.48%;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;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,377</p></td><td style="vertical-align:bottom;width:2.46%;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;width:1.48%;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.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 298</p></td></tr><tr><td style="vertical-align:bottom;width:75.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued rebates</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,540</p></td><td style="vertical-align:bottom;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,919</p></td></tr><tr><td style="vertical-align:bottom;width:75.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Capitalized contract costs payable</p></td><td style="vertical-align:bottom;width:1.48%;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;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,000</p></td><td style="vertical-align:bottom;width:2.46%;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;width:1.48%;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.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:75.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued interest</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Aptos Narrow';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 999</p></td><td style="vertical-align:bottom;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,830</p></td></tr><tr><td style="vertical-align:bottom;width:75.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current operating and financing lease liabilities</p></td><td style="vertical-align:bottom;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Aptos Narrow';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,195</p></td><td style="vertical-align:bottom;width:2.46%;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;width:1.48%;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.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,318</p></td></tr><tr><td style="vertical-align:bottom;width:75.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued share repurchases</p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Aptos Narrow';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,404</p></td><td style="vertical-align:bottom;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 733</p></td></tr><tr><td style="vertical-align:bottom;width:75.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;width:1.48%;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="font-family:'Aptos Narrow';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:9.45%;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 3pt 0pt 0pt;"> 8,533</p></td><td style="vertical-align:bottom;width:2.46%;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;width:1.48%;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.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 3pt 0pt 0pt;"> 5,607</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Total accrued expenses</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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.45%;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 3pt 0pt 0pt;"> 49,203</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;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.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 3pt 0pt 0pt;"> 35,803</p></td></tr></table> 8146000 11431000 2009000 667000 1377000 298000 1540000 2919000 15000000 999000 6830000 7195000 7318000 4404000 733000 8533000 5607000 49203000 35803000 <p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;margin-bottom:14pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">8. Long-Term Debt</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:14pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">As of March 31, 2024, and December 31, 2023, long-term debt consisted of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:14pt;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:70.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.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.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:10.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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.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:10.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:70.88%;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 style="vertical-align:bottom;white-space:nowrap;width:2.63%;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="2" style="vertical-align:bottom;white-space:nowrap;width:11.92%;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;">March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;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.92%;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></tr><tr><td style="vertical-align:bottom;width:70.88%;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 style="vertical-align:bottom;white-space:nowrap;width:2.63%;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="2" style="vertical-align:bottom;white-space:nowrap;width:11.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;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;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="2" style="vertical-align:bottom;white-space:nowrap;width:11.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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Senior Notes <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 267,897</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 267,897</p></td></tr><tr><td style="vertical-align:bottom;width:70.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unamortized deferred financing costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.19%;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;"> (2,571)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.19%;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;"> (2,900)</p></td></tr><tr><td style="vertical-align:bottom;width:70.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;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:10.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 265,326</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;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:10.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 264,997</p></td></tr><tr><td style="vertical-align:bottom;width:70.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less current maturities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;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:10.19%;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 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;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:10.19%;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 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:70.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term debt, net of current maturities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;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;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:10.19%;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 3pt 0pt 0pt;"> 265,326</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;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;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:10.19%;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 3pt 0pt 0pt;"> 264,997</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1px;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:8pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">The Senior Notes bear interest at a fixed rate of </span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">8.625%</span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">.</span></td></tr></table><div style="margin-top:14pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Senior Notes</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">On March 15, 2021, the Company completed an offering by its wholly-owned subsidiary, CPI CG Inc., of $310.0 million aggregate principal amount of 8.625% Senior Secured Notes due 2026 (the “Senior Notes”) and related guarantees. The Senior Notes bear interest at a rate of 8.625% per annum and mature on March 15, 2026. Interest is payable on the Senior Notes on March 15 and September 15 of each year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company has obligations to make an offer to repay the Senior Notes, requiring prepayment in advance of the maturity date, upon the occurrence of certain events including a change of control, certain asset sales and based on an annual excess cash flow calculation. The annual excess cash flow calculation is determined pursuant to the terms of that certain Indenture, dated as of March 15, 2021, by and among CPI CG Inc., the Company, the subsidiary guarantors and U.S. Bank National Association, as trustee, with any required prepayments to be made after the issuance of the Company’s annual financial statements. No such payment is required to be made in 2024 and was not required to be made in 2023 based on the Company’s operating results for the years ended December 31, 2023 and 2022, respectively. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">ABL Revolver</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">On March 15, 2021, the Company and CPI CG Inc., as borrower, entered into a Credit Agreement with Wells Fargo Bank, National Association, as lender, administrative agent and collateral agent, providing for an asset-based, senior secured revolving credit facility (the “ABL Revolver”). The ABL Revolver matures on the earliest to occur of March 15, 2026 and the date that is 90 days prior to the maturity of the Senior Notes. On March 3, 2022, the Company and CPI CG Inc. entered into Amendment No. 1 to the Credit Agreement (the “Amendment”), which amended the ABL Revolver. The Amendment, among other things, increased the available borrowing capacity under the ABL Revolver to </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;">$75.0 million, increased the uncommitted accordion feature to $25.0 million from $15.0 million, and revised the interest rate provisions to replace the prior LIBOR benchmark with updated benchmark provisions using the secured overnight financing rate (“SOFR”) as administered by the Federal Reserve Bank of New York. On October 11, 2022, the Company and CPI CG Inc. entered into Amendment No. 2 to the Credit Agreement, which amended the ABL Revolver to adjust certain monthly document delivery terms and to clarify the treatment of certain inventory.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Borrowings under the amended ABL Revolver bear interest at a rate per annum equal to the applicable term SOFR adjusted for a credit spread, plus an applicable interest rate margin. The Company may select a one, three or six-month term SOFR, which is adjusted for a credit spread of 0.10% to 0.30% depending on the term selected. Through March 31, 2023, the applicable interest rate margin ranged from 1.50% to 1.75% depending on the average excess availability of the facility for the most recently completed quarter. The unused portion of the ABL Revolver commitment accrued a monthly unused line fee, 0.50% per annum through March 31, 2023, multiplied by the aggregate amount of Revolver commitments less the average Revolver usage during the immediately preceding month. The interest rate margin and unused line fee percentage changed, effective April 1, 2023, to between 1.25% and 1.75% (interest rate margin) and 0.375% and 0.50% (unused line fee).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Deferred Financing Costs and Discount</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Certain costs and discounts incurred with borrowings are reflected as a reduction to the long-term debt balance. These costs are amortized as an adjustment to interest expense over the life of the borrowing using the effective-interest rate method. The remaining unamortized debt issuance costs recorded on the Senior Notes were $2.6 million and are reported as a reduction to the long-term debt balance as of March 31, 2024. The remaining unamortized net discount and debt issuance costs on the ABL Revolver and related Amendment were $0.9 million and are recorded as other assets (current and long-term) on the consolidated balance sheet as of March 31, 2024. </p> <p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:14pt;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:70.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.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.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:10.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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.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:10.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:70.88%;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 style="vertical-align:bottom;white-space:nowrap;width:2.63%;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="2" style="vertical-align:bottom;white-space:nowrap;width:11.92%;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;">March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;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.92%;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></tr><tr><td style="vertical-align:bottom;width:70.88%;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 style="vertical-align:bottom;white-space:nowrap;width:2.63%;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="2" style="vertical-align:bottom;white-space:nowrap;width:11.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;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;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="2" style="vertical-align:bottom;white-space:nowrap;width:11.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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Senior Notes <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 267,897</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 267,897</p></td></tr><tr><td style="vertical-align:bottom;width:70.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unamortized deferred financing costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.19%;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;"> (2,571)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.19%;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;"> (2,900)</p></td></tr><tr><td style="vertical-align:bottom;width:70.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;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:10.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 265,326</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;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:10.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 264,997</p></td></tr><tr><td style="vertical-align:bottom;width:70.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less current maturities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;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:10.19%;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 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;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:10.19%;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 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:70.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term debt, net of current maturities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;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;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:10.19%;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 3pt 0pt 0pt;"> 265,326</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;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;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:10.19%;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 3pt 0pt 0pt;"> 264,997</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1px;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:8pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">The Senior Notes bear interest at a fixed rate of </span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">8.625%</span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">.</span></td></tr></table><div style="margin-top:14pt;"></div> 267897000 267897000 2571000 2900000 265326000 264997000 265326000 264997000 0.08625 310000000.0 0.08625 0.08625 0 75000000.0 25000000.0 15000000.0 0.0010 0.0030 0.0150 0.0175 0.0050 0.0125 0.0175 0.00375 0.0050 2600000 900000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">9. Income Taxes</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company’s effective tax rates on pre-tax income were 28.7% and 20.7% for the three months ended March 31, 2024 and 2023, respectively. The increase in the effective tax rate for the three months ended March 31, 2024 compared to the corresponding period in the prior year primarily was due to the reduction of a valuation allowance in the first quarter of 2023 related to a state’s law change. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For the three months ended March 31, 2024 and 2023, the effective tax rate differs from the U.S. federal statutory income tax rate as follows: </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;white-space:nowrap;width:75.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:22.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;">March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin: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:75.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.22%;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;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;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 style="vertical-align:bottom;white-space:nowrap;width:2.4%;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 style="vertical-align:bottom;white-space:nowrap;width:9.22%;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;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin: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:75.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Tax at federal statutory rate</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 3pt 0pt 0pt;"> 21.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;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:2.4%;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.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:75.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">State taxes, net</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 3pt 0pt 0pt;"> 6.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin: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:75.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Valuation allowance</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 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;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:2.4%;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.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5.2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;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:75.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Permanent items</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 3pt 0pt 0pt;"> 3.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin: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:75.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deductibility limitations on excess compensation</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;"> (1.8)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;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:2.4%;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.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;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:75.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;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 3pt 0pt 0pt;"> 0.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.22%;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;"> (1.1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin: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:75.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effective income tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;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 3pt 0pt 0pt;"> 28.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;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:2.4%;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.22%;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 3pt 0pt 0pt;"> 20.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</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> 0.287 0.207 <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;white-space:nowrap;width:75.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:22.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;">March 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin: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:75.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.22%;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;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;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 style="vertical-align:bottom;white-space:nowrap;width:2.4%;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 style="vertical-align:bottom;white-space:nowrap;width:9.22%;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;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin: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:75.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Tax at federal statutory rate</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 3pt 0pt 0pt;"> 21.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;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:2.4%;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.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:75.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">State taxes, net</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 3pt 0pt 0pt;"> 6.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin: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:75.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Valuation allowance</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 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;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:2.4%;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.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5.2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;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:75.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Permanent items</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 3pt 0pt 0pt;"> 3.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin: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:75.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deductibility limitations on excess compensation</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;"> (1.8)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;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:2.4%;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.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;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:75.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;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 3pt 0pt 0pt;"> 0.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.22%;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;"> (1.1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin: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:75.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effective income tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;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 3pt 0pt 0pt;"> 28.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;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:2.4%;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.22%;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 3pt 0pt 0pt;"> 20.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</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> 0.210 0.210 0.061 0.047 -0.052 0.030 0.012 -0.018 0.001 0.004 -0.011 0.287 0.207 <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;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">10. Stockholders’ Deficit</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Share Repurchases</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">On November 2, 2023, the Company's board of directors approved a share repurchase plan authorizing the Company to repurchase up to $20.0 million of the Company's common stock, par value $0.001 per share. This authorization expires on December 31, 2024. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">During the three months ended March 31, 2024, the Company repurchased 68,258 shares of its common stock at an average price of $18.29 per share, excluding commissions, or $1.2 million in aggregate, on a trade date basis. In accordance with the Stock Repurchase Agreement entered into on December 6, 2023, the Company is obligated to purchase 244,314 shares from Tricor Pacific Capital Partners (Fund IV) US, LP, which is one of the Company’s majority stockholders and affiliated with Parallel49 Equity, at an average price of $18.03 per share, as of March 31, 2024. This </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;">obligation<span style="font-size:12pt;"> </span>is based on a multiple of the number of shares the Company purchased in the open market from the date of the agreement through March 31, 2024, payment for which is due in the second quarter of 2024. As of March 31, 2024, the Company had an authorized amount of $14.1 million remaining under the share repurchase plan.</p> 20000000.0 0.001 68258 18.29 1200000 244314 18.03 14100000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 14pt 0pt;"><b style="font-weight:bold;">11. Earnings per Share </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Basic and diluted earnings per share is computed by dividing net income by the weighted-average number of common shares outstanding during the period. The Company's calculation of weighted-average shares outstanding has been reduced by 244,314 shares that the Company is obligated to repurchase from Parallel49 in April 2024. Shares excluded from the calculation of diluted earnings per share because their inclusion would be anti-dilutive were 39,933 and 28,831 for the three months ended March 31, 2024 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The following table sets forth the computation of basic and diluted earnings per share:</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:5pt;margin-bottom:14pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.365757%;padding-left:0pt;padding-right:0pt;width:100.73%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:10.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.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:10.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></tr><tr><td style="vertical-align:bottom;width:74.71%;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:25.28%;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 March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.71%;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:11.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;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;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.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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Numerator:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;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:10.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.69%;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.06%;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:10.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></tr><tr><td style="vertical-align:bottom;width:74.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Net income </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,455</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,873</p></td></tr><tr><td style="vertical-align:bottom;width:74.71%;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.06%;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;width:10.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.69%;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.06%;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:10.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></tr><tr><td style="vertical-align:bottom;width:74.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">Denominator: </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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></tr><tr><td style="vertical-align:bottom;width:74.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Basic weighted-average common shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;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:10.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,266,699</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;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.06%;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:10.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,394,919</p></td></tr><tr><td style="vertical-align:bottom;width:74.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Dilutive shares</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;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 3pt 0pt 0pt;"> 502,665</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;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 3pt 0pt 0pt;"> 506,662</p></td></tr><tr><td style="vertical-align:bottom;width:74.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Diluted weighted-average common shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;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 3pt 0pt 0pt;"> 11,769,364</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;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.06%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;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 3pt 0pt 0pt;"> 11,901,581</p></td></tr><tr><td style="vertical-align:bottom;width:74.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:middle;width:74.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Basic earnings per share </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;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:10.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.48</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;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.06%;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:10.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">0.95</p></td></tr><tr><td style="vertical-align:middle;width:74.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:middle;width:74.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Diluted earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;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:10.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.46</p></td><td style="vertical-align:bottom;width:1.69%;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.06%;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:10.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">0.91</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> 244314 39933 28831 <p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:5pt;margin-bottom:14pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.365757%;padding-left:0pt;padding-right:0pt;width:100.73%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:10.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.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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:10.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></tr><tr><td style="vertical-align:bottom;width:74.71%;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:25.28%;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 March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.71%;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:11.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;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;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.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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Numerator:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;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:10.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.69%;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.06%;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:10.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></tr><tr><td style="vertical-align:bottom;width:74.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Net income </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,455</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,873</p></td></tr><tr><td style="vertical-align:bottom;width:74.71%;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.06%;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;width:10.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.69%;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.06%;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:10.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></tr><tr><td style="vertical-align:bottom;width:74.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">Denominator: </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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></tr><tr><td style="vertical-align:bottom;width:74.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Basic weighted-average common shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;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:10.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,266,699</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;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.06%;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:10.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,394,919</p></td></tr><tr><td style="vertical-align:bottom;width:74.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Dilutive shares</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;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 3pt 0pt 0pt;"> 502,665</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;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 3pt 0pt 0pt;"> 506,662</p></td></tr><tr><td style="vertical-align:bottom;width:74.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Diluted weighted-average common shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;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 3pt 0pt 0pt;"> 11,769,364</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;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.06%;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;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 3pt 0pt 0pt;"> 11,901,581</p></td></tr><tr><td style="vertical-align:bottom;width:74.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:middle;width:74.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Basic earnings per share </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;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:10.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.48</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;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.06%;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:10.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">0.95</p></td></tr><tr><td style="vertical-align:middle;width:74.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:middle;width:74.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Diluted earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;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:10.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.46</p></td><td style="vertical-align:bottom;width:1.69%;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.06%;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:10.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">0.91</p></td></tr></table> 5455000 10873000 11266699 11394919 502665 506662 11769364 11901581 0.48 0.95 0.46 0.91 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="color:#333333;font-weight:bold;">12</b>. Commitments and Contingencies</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;font-weight:bold;">Contingencies</span></p><p style="color:#333333;font-family:'Trebuchet MS';font-size:9pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;">In accordance with applicable accounting guidance, the Company establishes an accrued expense when loss contingencies are both probable and estimable. In such cases, there may be an exposure to loss in excess of any amounts accrued. As a matter develops, the Company, in conjunction with any outside counsel handling the matter, evaluates on an ongoing basis whether such matter presents a loss contingency that is probable and estimable. Once the loss contingency is deemed to be both probable and estimable, the Company will establish an accrued expense and record a corresponding amount of expense. The Company expenses professional fees associated with litigation claims and assessments as incurred.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Smart Packaging Solutions SA v. CPI Card Group Inc.</i> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><span style="background:#ffffff;">On April 20, 2021, Smart Packaging Solutions, SA (“SPS”) filed a patent infringement lawsuit against the Company in the United States District Court for the District of Delaware seeking an unspecified amount of damages and equitable relief. In the complaint, SPS alleges that the Company infringed </span><span style="background:#ffffff;">four</span><span style="background:#ffffff;"> patents that SPS has exclusively licensed from Feinics AmaTech Teoranta. The patents all relate to antenna technology. SPS alleges that the Company incorporates the patented technology into its products that use contactless communication. The Company does not produce antennas; it purchases certain antenna-related components from SPS and a number of other suppliers. The Company’s motion to dismiss the complaint is currently pending. Additionally, a third party, Infineon, filed requests for Inter Parties Review (“IPR”) proceedings concerning each of the </span><span style="background:#ffffff;">four</span><span style="background:#ffffff;"> patents. As a result, the Delaware District Court stayed the case pending resolution of the requests for review. The United States Patent Office has instituted proceedings with respect to all of the IPR requests; </span><span style="background:#ffffff;">three</span><span style="background:#ffffff;"> of the patents have been invalidated in the IPR proceedings and any remaining claims in the fourth patent that are relevant to the Company have also been invalidated. While no assurance can be given that this matter will be resolved favorably, the patent owner has dismissed its appeals related to the </span><span style="background:#ffffff;">three</span><span style="background:#ffffff;"> previously invalidated patents and the Company expects the pending litigation will be dismissed as a result of these developments.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><span style="background:#ffffff;">In addition to the matter described above, the Company may be subject to routine legal proceedings in the ordinary course of business. The Company believes that the ultimate resolution of any such matters will not have a material adverse effect on its business, financial condition or results of operations.</span></p><p style="color:#333333;font-family:'Trebuchet MS';font-size:9pt;margin:0pt 0pt 10pt 0pt;"><i style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;">Voluntary Disclosure Program</i></p><p style="color:#333333;font-family:'Trebuchet MS';font-size:9pt;text-indent:36pt;margin:14pt 0pt 0pt 0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;background:#ffffff;">The Company is subject to unclaimed or abandoned property (escheat) laws which require it to turn over to state governmental authorities the property of others held by the Company that has been unclaimed for specified periods of time. Property subject to escheat laws generally relates to uncashed checks, trade accounts receivable credits and unpaid payable balances. During the second quarter of 2022, the Company received a letter from the Delaware Secretary of State inviting the Company to participate in the Delaware Secretary of State’s Abandoned or Unclaimed Property Voluntary Disclosure Agreement Program to avoid being sent an audit notice by the Delaware Department of Finance. On August 31, 2022, the Company entered into Delaware’s Voluntary Disclosure Agreement Program in order to voluntarily comply with Delaware’s abandoned property law in exchange for certain protections and benefits. The Company intends to work in good faith to complete a review of its books and records related to unclaimed or abandoned property during the periods required under the program. Any potential loss, or range of loss, that may result from this matter is not currently reasonably estimable.</span></p> 4 4 3 3 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-indent:0pt;margin:14pt 0pt 10pt 0pt;">13. Stock-Based Compensation </p><p style="color:#333333;font-family:'Trebuchet MS';font-size:9pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;">In October 2015, the Company adopted the CPI Card Group Inc. Omnibus Incentive Plan (as amended and supplemented, the “Omnibus Plan”) pursuant to which cash and equity-based incentives may be granted to participating employees, advisors, and directors. Effective January 30, 2024, the Company’s stockholders approved an amendment to the Omnibus Plan to increase the total number of shares of the Company’s Common Stock reserved and available for issuance thereunder by </span><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;">1,000,000</span><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;"> shares, resulting in a total of </span><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;">3,200,000</span><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;"> shares issuable under the Omnibus Plan. As of March 31, 2024, there were </span><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;">962,285</span><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;"> shares of Common Stock available for grant under the Omnibus Plan. </span></p><p style="color:#333333;font-family:'Trebuchet MS';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';">In June 2023, the Company announced an award comprised of </span><span style="color:#000000;font-family:'Times New Roman','Times','serif';">25%</span><span style="color:#000000;font-family:'Times New Roman','Times','serif';"> nonqualified stock options and </span><span style="color:#000000;font-family:'Times New Roman','Times','serif';">75%</span><span style="color:#000000;font-family:'Times New Roman','Times','serif';"> restricted stock units to its CEO at the time as an incentive to remain employed by the Company through February 28, 2024. The first </span><span style="-sec-ix-hidden:Hidden_JKh9FZT7YESrf_eqTI4w_A;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">one</span></span><span style="color:#000000;font-family:'Times New Roman','Times','serif';">-third of the awards was granted in June 2023, the second </span><span style="-sec-ix-hidden:Hidden_JyrYXp2n2Uirru3ezognyA;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">one</span></span><span style="color:#000000;font-family:'Times New Roman','Times','serif';">-third was granted in August 2023, and the remainder was granted in November 2023. All of these awards will vest ratably over a </span><span style="color:#000000;font-family:'Times New Roman','Times','serif';">two-year</span><span style="color:#000000;font-family:'Times New Roman','Times','serif';"> period irrespective of employment status with expense related to these awards to be recognized by the Company through February 28, 2024. As part of the CEO’s incentive package, the requisite service and exercise periods for his awards granted in 2023 prior to June 2023 were also modified with expense related to the modification being recognized in June 2023 through February 2024.</span></p><p style="color:#333333;font-family:'Trebuchet MS';font-size:9pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;">During 2024, executives will receive a quarterly restricted stock unit grant comprising one-fourth of the annual equity-based incentive component of their total compensation. The number of shares awarded will be determined based on a value tied to the monthly average closing price of the Company’s common stock. </span></p><p style="color:#333333;font-family:'Trebuchet MS';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';">As of March 31, 2024, there were </span><span style="color:#000000;font-family:'Times New Roman','Times','serif';">904,438</span><span style="color:#000000;font-family:'Times New Roman','Times','serif';"> options outstanding at a weighted average exercise price of </span><span style="color:#000000;font-family:'Times New Roman','Times','serif';">$18.87</span><span style="color:#000000;font-family:'Times New Roman','Times','serif';">. </span><span style="color:#000000;font-family:'Times New Roman','Times','serif';">No</span><span style="color:#000000;font-family:'Times New Roman','Times','serif';"> options were granted during the three months ended March 31, 2024. Options have </span><span style="-sec-ix-hidden:Hidden_lOzjw2dOlUKE1IimpKiclQ;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">7-year</span></span><span style="color:#000000;font-family:'Times New Roman','Times','serif';"> terms and are issued with exercise prices equal to the fair market value of the Company’s common stock on the grant date.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">During the three months ended March 31, 2024, the Company granted 89,452 restricted stock units at a weighted average grant date fair value of $18.25, and as of March 31, 2024, there were 786,673 outstanding restricted stock units at a weighted average grant date fair value of $20.55.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In January 2024, the Company granted 60,000 performance stock units (PSU) in connection with the appointment of its CEO, with a grant date fair value of $0.9 million using a Monte Carlo simulation model. The PSU award will vest, subject to continuous employment, in equal <span style="-sec-ix-hidden:Hidden_A5oIJd7G_02qv1OQMPnfdQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">one</span></span>-third increments upon the attainment of the rolling weighted average closing price of the Company’s common stock equaling or exceeding each of $35.00, $50.00, and $65.00, in each case, for at least 90 consecutive trading days during the five-year performance period commencing on the grant date. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">All equity awards are contingent and issued only upon approval by the compensation committee of the Company’s board of directors, or as otherwise permitted under the Omnibus Plan. The Company accounts for stock-based compensation pursuant to ASC 718, <i style="font-style:italic;">Share-Based Payments.</i> All stock-based compensation is required to be </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">measured at fair value and expensed over the requisite service period, generally defined as the applicable vesting period. The Company accounts for forfeitures as they occur and reverses previously recognized expense for the unvested portion of the forfeited shares. Upon the exercise of stock options, shares of common stock are issued from authorized common shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 1000000 3200000 962285 0.25 0.75 P2Y 904438 18.87 0 89452 18.25 786673 20.55 60000 900000 35.00 50.00 65.00 P90D P5Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;text-indent:0pt;margin:0pt 0pt 10pt 0pt;">14. Segment Reporting</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company has identified reportable segments that represent 10% or more of its net sales, EBITDA (as defined below) or total assets, or when the Company believes information about the segment would be useful to the readers of the financial statements. The Company’s chief operating decision maker is its Chief Executive Officer, who is charged with management of the Company and is responsible for the evaluation of operating performance and decision making about the allocation of resources to operating segments based on measures, such as net sales and EBITDA.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">EBITDA is the primary measure used by the Company’s chief operating decision maker to evaluate segment operating performance. As the Company uses the term, “EBITDA” is defined as income before interest expense, income taxes, depreciation and amortization. The Company’s chief operating decision maker believes EBITDA is a meaningful measure and is useful as a supplement to GAAP measures as it represents a transparent view of the Company’s operating performance that is unaffected by fluctuations in property, equipment and leasehold improvement additions. The Company’s chief operating decision maker uses EBITDA to perform periodic reviews and comparison of operating trends and to identify strategies to improve the allocation of resources amongst segments. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">As of March 31, 2024, the Company’s reportable segments were as follows:</p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 18pt;"><span style="font-family:'Times New Roman';">●</span><span style="font-family:'Times New Roman','Times','serif';">    Debit and Credit</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 18pt;"><span style="font-family:'Times New Roman';">●</span><span style="font-family:'Times New Roman','Times','serif';">    Prepaid Debit</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 18pt;"><span style="font-family:'Times New Roman';">●</span><span style="font-family:'Times New Roman','Times','serif';">    Othe</span><span style="font-family:'Times New Roman','Times','serif';">r</span></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 36pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.28;margin-bottom:14pt;margin-left:0pt;visibility:hidden;">​</span></p><p style="color:#333333;font-family:'Trebuchet MS';font-size:9pt;padding-bottom:10pt;background:#ffffff;margin:0pt;"><i style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;">Debit and Credit Segment</i></p><p style="color:#333333;font-family:'Trebuchet MS';font-size:9pt;padding-bottom:10pt;text-indent:36pt;background:#ffffff;margin:0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;">The Debit and Credit segment primarily produces Financial Payment Cards and provides integrated card services, including digital services, for card-issuing financial institutions primarily in the United States. Products produced by this segment primarily include EMV and non-EMV Financial Payment Cards, including contact and contactless cards, and Eco-Focused Cards. The Company also sells Card@Once instant card issuance solutions, and private label credit cards that are not issued on the networks of the Payment Card Brands. The Company provides print-on-demand services, where images, personalized payment cards, and related collateral are produced on a one-by-one, on demand basis for customers. This segment also provides a variety of integrated card services, including card personalization and fulfillment services and instant issuance services. The Debit and Credit segment facilities and operations are audited for compliance with the standards of the PCI Security Standards Council by multiple Payment Card Brands. </span></p><p style="color:#333333;font-family:'Trebuchet MS';font-size:9pt;padding-bottom:10pt;background:#ffffff;margin:0pt;"><i style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;">Prepaid Debit Segment</i></p><p style="color:#333333;font-family:'Trebuchet MS';font-size:9pt;padding-bottom:10pt;text-indent:36pt;background:#ffffff;margin:0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;">The Prepaid Debit segment primarily provides integrated prepaid card services to Prepaid Debit Card providers primarily in the United States, including tamper-evident security packaging. This segment also produces Financial Payment Cards issued on the networks of the Payment Card Brands that are included in the tamper-evident security packages. The Prepaid Debit segment facilities and operations are audited for compliance with the standards of the PCI Security Standards Council by multiple Payment Card Brands.</span></p><p style="color:#333333;font-family:'Trebuchet MS';font-size:9pt;padding-bottom:10pt;background:#ffffff;margin:0pt;"><i style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;">Other</i></p><p style="color:#333333;font-family:'Trebuchet MS';font-size:9pt;text-indent:36pt;background:#ffffff;margin:0pt 0pt 10pt 0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;">The Other segment includes corporate expenses. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Performance Measures of Reportable Segments</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Net sales and EBITDA of the Company’s reportable segments, as well as a reconciliation of total segment EBITDA to income from operations and net income for the three months ended March 31, 2024 and 2023, were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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:41.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.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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></tr><tr><td style="vertical-align:bottom;width:41.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 colspan="14" style="vertical-align:bottom;width:58.31%;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 March 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.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 colspan="2" style="vertical-align:bottom;width:9.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;">Debit and Credit</b></p></td><td style="vertical-align:bottom;width:2.25%;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="2" style="vertical-align:bottom;width:9.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;">Prepaid Debit</b></p></td><td style="vertical-align:bottom;width:2.25%;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="2" style="vertical-align:bottom;width:9.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;">Other</b></p></td><td style="vertical-align:bottom;width:2.25%;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="2" style="vertical-align:bottom;width:9.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;">Intersegment Eliminations</b></p></td><td style="vertical-align:bottom;width:2.25%;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="2" style="vertical-align:bottom;width:9.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:41.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 87,973</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.35%;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:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,198</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.35%;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:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (235)</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.35%;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:8.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 111,936</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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:8.49%;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 3pt 0pt 0pt;"> 56,478</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.35%;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:8.49%;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 3pt 0pt 0pt;"> 14,175</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.35%;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:8.49%;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 3pt 0pt 0pt;"> —</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.35%;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:8.49%;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;"> (235)</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.35%;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:8.47%;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 3pt 0pt 0pt;"> 70,418</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,495</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.35%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,023</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.35%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,518</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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:8.49%;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 3pt 0pt 0pt;"> 8,741</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.35%;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:8.49%;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 3pt 0pt 0pt;"> 1,278</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.35%;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:8.49%;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 3pt 0pt 0pt;"> 17,354</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.35%;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:8.49%;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 3pt 0pt 0pt;"> —</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.35%;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:8.47%;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 3pt 0pt 0pt;"> 27,373</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Income (loss) from operations</p></td><td style="vertical-align:middle;width:1.37%;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:8.49%;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 3pt 0pt 0pt;"> 22,754</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:middle;width:1.35%;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:8.49%;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 3pt 0pt 0pt;"> 8,745</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:middle;width:1.35%;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:8.49%;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;"> (17,354)</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:middle;width:1.35%;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:8.49%;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 3pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.35%;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:8.47%;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 3pt 0pt 0pt;"> 14,145</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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></tr><tr><td style="vertical-align:bottom;width:41.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">EBITDA by segment:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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.49%;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: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.35%;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.49%;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: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.35%;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.49%;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: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.35%;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.49%;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: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.35%;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.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></tr><tr><td style="vertical-align:bottom;width:41.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Income (loss) from operations</p></td><td style="vertical-align:middle;width:1.37%;margin:0pt;padding:0pt;"><p 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,754</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:middle;width:1.35%;margin:0pt;padding:0pt;"><p 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,745</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:middle;width:1.35%;margin:0pt;padding:0pt;"><p 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17,354)</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:middle;width:1.35%;margin:0pt;padding:0pt;"><p 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</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:middle;width:1.35%;margin:0pt;padding:0pt;"><p 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.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,145</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,150</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.35%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 871</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.35%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 996</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.35%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,017</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other income (expense)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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:8.49%;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;"> (62)</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.35%;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:8.49%;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;"> (1)</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.35%;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:8.49%;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;"> (2)</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.35%;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:8.49%;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 3pt 0pt 0pt;"> —</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.35%;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:8.47%;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;"> (65)</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">EBITDA</p></td><td style="vertical-align:middle;width:1.37%;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:8.49%;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 3pt 0pt 0pt;"> 24,842</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:middle;width:1.35%;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:8.49%;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 3pt 0pt 0pt;"> 9,615</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:middle;width:1.35%;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:8.49%;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;"> (16,360)</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:middle;width:1.35%;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:8.49%;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 3pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.35%;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:8.47%;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 3pt 0pt 0pt;"> 18,097</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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></tr><tr><td style="vertical-align:bottom;width:41.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 colspan="14" style="vertical-align:bottom;width:58.31%;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 March 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.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 colspan="2" style="vertical-align:bottom;width:9.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;">Debit and Credit</b></p></td><td style="vertical-align:bottom;width:2.25%;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="2" style="vertical-align:bottom;width:9.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;">Prepaid Debit</b></p></td><td style="vertical-align:bottom;width:2.25%;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="2" style="vertical-align:bottom;width:9.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;">Other</b></p></td><td style="vertical-align:bottom;width:2.25%;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="2" style="vertical-align:bottom;width:9.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;">Intersegment Eliminations</b></p></td><td style="vertical-align:bottom;width:2.25%;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="2" style="vertical-align:bottom;width:9.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:41.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 101,985</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.35%;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:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,130</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.35%;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:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (263)</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.35%;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:8.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 120,852</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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:8.49%;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 3pt 0pt 0pt;"> 63,801</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.35%;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:8.49%;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 3pt 0pt 0pt;"> 14,220</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.35%;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:8.49%;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 3pt 0pt 0pt;"> —</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.35%;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:8.49%;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;"> (263)</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.35%;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:8.47%;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 3pt 0pt 0pt;"> 77,758</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38,184</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.35%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,910</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.35%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,094</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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:8.49%;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 3pt 0pt 0pt;"> 8,158</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.35%;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:8.49%;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 3pt 0pt 0pt;"> 1,233</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.35%;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:8.49%;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 3pt 0pt 0pt;"> 13,105</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.35%;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:8.49%;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 3pt 0pt 0pt;"> —</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.35%;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:8.47%;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 3pt 0pt 0pt;"> 22,496</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Income (loss) from operations</p></td><td style="vertical-align:middle;width:1.37%;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:8.49%;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 3pt 0pt 0pt;"> 30,026</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:middle;width:1.35%;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:8.49%;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 3pt 0pt 0pt;"> 3,677</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:middle;width:1.35%;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:8.49%;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;"> (13,105)</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:middle;width:1.35%;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:8.49%;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 3pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.35%;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:8.47%;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 3pt 0pt 0pt;"> 20,598</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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></tr><tr><td style="vertical-align:bottom;width:41.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">EBITDA by segment:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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.49%;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: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.35%;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.49%;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: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.35%;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.49%;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: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.35%;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.49%;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: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.35%;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.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></tr><tr><td style="vertical-align:bottom;width:41.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Income (loss) from operations</p></td><td style="vertical-align:middle;width:1.37%;margin:0pt;padding:0pt;"><p 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,026</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:middle;width:1.35%;margin:0pt;padding:0pt;"><p 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,677</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:middle;width:1.35%;margin:0pt;padding:0pt;"><p 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (13,105)</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:middle;width:1.35%;margin:0pt;padding:0pt;"><p 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</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:middle;width:1.35%;margin:0pt;padding:0pt;"><p 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.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,598</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,161</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.35%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 624</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.35%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,019</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.35%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,804</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other income (expense)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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:8.49%;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 3pt 0pt 0pt;"> 5</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.35%;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:8.49%;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 3pt 0pt 0pt;"> —</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.35%;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:8.49%;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;"> (119)</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.35%;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:8.49%;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 3pt 0pt 0pt;"> —</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.35%;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:8.47%;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;"> (114)</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">EBITDA</p></td><td style="vertical-align:middle;width:1.37%;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:8.49%;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 3pt 0pt 0pt;"> 32,192</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:middle;width:1.35%;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:8.49%;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 3pt 0pt 0pt;"> 4,301</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:middle;width:1.35%;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:8.49%;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;"> (12,205)</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:middle;width:1.35%;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:8.49%;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 3pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.35%;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:8.47%;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 3pt 0pt 0pt;"> 24,288</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;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:75.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.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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:75.65%;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:24.34%;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 March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:75.65%;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:10.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;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;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:10.96%;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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;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.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,455</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;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.52%;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.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,873</p></td></tr><tr><td style="vertical-align:bottom;width:75.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest, net </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,425</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,781</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;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:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,200</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;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.52%;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:9.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,830</p></td></tr><tr><td style="vertical-align:bottom;width:75.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Depreciation and amortization </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;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 3pt 0pt 0pt;"> 4,017</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;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 3pt 0pt 0pt;"> 3,804</p></td></tr><tr><td style="vertical-align:bottom;width:75.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">EBITDA</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;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.45%;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 3pt 0pt 0pt;"> 18,097</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;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.52%;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.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 3pt 0pt 0pt;"> 24,288</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="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:41.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.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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></tr><tr><td style="vertical-align:bottom;width:41.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 colspan="14" style="vertical-align:bottom;width:58.31%;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 March 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.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 colspan="2" style="vertical-align:bottom;width:9.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;">Debit and Credit</b></p></td><td style="vertical-align:bottom;width:2.25%;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="2" style="vertical-align:bottom;width:9.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;">Prepaid Debit</b></p></td><td style="vertical-align:bottom;width:2.25%;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="2" style="vertical-align:bottom;width:9.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;">Other</b></p></td><td style="vertical-align:bottom;width:2.25%;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="2" style="vertical-align:bottom;width:9.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;">Intersegment Eliminations</b></p></td><td style="vertical-align:bottom;width:2.25%;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="2" style="vertical-align:bottom;width:9.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:41.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 87,973</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.35%;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:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,198</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.35%;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:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (235)</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.35%;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:8.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 111,936</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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:8.49%;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 3pt 0pt 0pt;"> 56,478</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.35%;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:8.49%;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 3pt 0pt 0pt;"> 14,175</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.35%;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:8.49%;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 3pt 0pt 0pt;"> —</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.35%;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:8.49%;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;"> (235)</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.35%;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:8.47%;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 3pt 0pt 0pt;"> 70,418</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,495</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.35%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,023</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.35%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,518</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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:8.49%;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 3pt 0pt 0pt;"> 8,741</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.35%;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:8.49%;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 3pt 0pt 0pt;"> 1,278</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.35%;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:8.49%;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 3pt 0pt 0pt;"> 17,354</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.35%;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:8.49%;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 3pt 0pt 0pt;"> —</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.35%;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:8.47%;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 3pt 0pt 0pt;"> 27,373</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Income (loss) from operations</p></td><td style="vertical-align:middle;width:1.37%;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:8.49%;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 3pt 0pt 0pt;"> 22,754</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:middle;width:1.35%;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:8.49%;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 3pt 0pt 0pt;"> 8,745</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:middle;width:1.35%;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:8.49%;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;"> (17,354)</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:middle;width:1.35%;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:8.49%;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 3pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.35%;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:8.47%;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 3pt 0pt 0pt;"> 14,145</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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></tr><tr><td style="vertical-align:bottom;width:41.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">EBITDA by segment:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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.49%;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: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.35%;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.49%;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: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.35%;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.49%;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: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.35%;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.49%;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: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.35%;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.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></tr><tr><td style="vertical-align:bottom;width:41.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Income (loss) from operations</p></td><td style="vertical-align:middle;width:1.37%;margin:0pt;padding:0pt;"><p 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,754</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:middle;width:1.35%;margin:0pt;padding:0pt;"><p 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,745</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:middle;width:1.35%;margin:0pt;padding:0pt;"><p 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17,354)</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:middle;width:1.35%;margin:0pt;padding:0pt;"><p 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</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:middle;width:1.35%;margin:0pt;padding:0pt;"><p 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.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,145</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,150</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.35%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 871</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.35%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 996</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.35%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,017</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other income (expense)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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:8.49%;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;"> (62)</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.35%;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:8.49%;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;"> (1)</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.35%;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:8.49%;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;"> (2)</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.35%;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:8.49%;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 3pt 0pt 0pt;"> —</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.35%;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:8.47%;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;"> (65)</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">EBITDA</p></td><td style="vertical-align:middle;width:1.37%;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:8.49%;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 3pt 0pt 0pt;"> 24,842</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:middle;width:1.35%;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:8.49%;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 3pt 0pt 0pt;"> 9,615</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:middle;width:1.35%;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:8.49%;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;"> (16,360)</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:middle;width:1.35%;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:8.49%;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 3pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.35%;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:8.47%;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 3pt 0pt 0pt;"> 18,097</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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></tr><tr><td style="vertical-align:bottom;width:41.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 colspan="14" style="vertical-align:bottom;width:58.31%;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 March 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.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 colspan="2" style="vertical-align:bottom;width:9.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;">Debit and Credit</b></p></td><td style="vertical-align:bottom;width:2.25%;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="2" style="vertical-align:bottom;width:9.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;">Prepaid Debit</b></p></td><td style="vertical-align:bottom;width:2.25%;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="2" style="vertical-align:bottom;width:9.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;">Other</b></p></td><td style="vertical-align:bottom;width:2.25%;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="2" style="vertical-align:bottom;width:9.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;">Intersegment Eliminations</b></p></td><td style="vertical-align:bottom;width:2.25%;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="2" style="vertical-align:bottom;width:9.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:41.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 101,985</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.35%;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:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,130</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.35%;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:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (263)</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.35%;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:8.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 120,852</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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:8.49%;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 3pt 0pt 0pt;"> 63,801</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.35%;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:8.49%;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 3pt 0pt 0pt;"> 14,220</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.35%;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:8.49%;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 3pt 0pt 0pt;"> —</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.35%;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:8.49%;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;"> (263)</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.35%;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:8.47%;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 3pt 0pt 0pt;"> 77,758</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38,184</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.35%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,910</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.35%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,094</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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:8.49%;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 3pt 0pt 0pt;"> 8,158</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.35%;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:8.49%;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 3pt 0pt 0pt;"> 1,233</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.35%;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:8.49%;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 3pt 0pt 0pt;"> 13,105</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.35%;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:8.49%;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 3pt 0pt 0pt;"> —</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.35%;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:8.47%;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 3pt 0pt 0pt;"> 22,496</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Income (loss) from operations</p></td><td style="vertical-align:middle;width:1.37%;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:8.49%;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 3pt 0pt 0pt;"> 30,026</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:middle;width:1.35%;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:8.49%;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 3pt 0pt 0pt;"> 3,677</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:middle;width:1.35%;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:8.49%;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;"> (13,105)</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:middle;width:1.35%;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:8.49%;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 3pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.35%;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:8.47%;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 3pt 0pt 0pt;"> 20,598</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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></tr><tr><td style="vertical-align:bottom;width:41.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">EBITDA by segment:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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.49%;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: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.35%;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.49%;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: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.35%;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.49%;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: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.35%;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.49%;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: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.35%;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.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></tr><tr><td style="vertical-align:bottom;width:41.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Income (loss) from operations</p></td><td style="vertical-align:middle;width:1.37%;margin:0pt;padding:0pt;"><p 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,026</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:middle;width:1.35%;margin:0pt;padding:0pt;"><p 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,677</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:middle;width:1.35%;margin:0pt;padding:0pt;"><p 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (13,105)</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:middle;width:1.35%;margin:0pt;padding:0pt;"><p 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</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:middle;width:1.35%;margin:0pt;padding:0pt;"><p 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.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,598</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,161</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.35%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 624</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.35%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,019</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.35%;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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;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.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,804</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other income (expense)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;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:8.49%;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 3pt 0pt 0pt;"> 5</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.35%;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:8.49%;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 3pt 0pt 0pt;"> —</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.35%;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:8.49%;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;"> (119)</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.35%;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:8.49%;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 3pt 0pt 0pt;"> —</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.35%;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:8.47%;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;"> (114)</p></td></tr><tr><td style="vertical-align:bottom;width:41.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">EBITDA</p></td><td style="vertical-align:middle;width:1.37%;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:8.49%;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 3pt 0pt 0pt;"> 32,192</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:middle;width:1.35%;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:8.49%;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 3pt 0pt 0pt;"> 4,301</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:middle;width:1.35%;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:8.49%;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;"> (12,205)</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:middle;width:1.35%;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:8.49%;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 3pt 0pt 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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.35%;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:8.47%;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 3pt 0pt 0pt;"> 24,288</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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></tr></table> 87973000 24198000 -235000 111936000 56478000 14175000 -235000 70418000 31495000 10023000 41518000 8741000 1278000 17354000 27373000 22754000 8745000 -17354000 14145000 22754000 8745000 -17354000 14145000 2150000 871000 996000 4017000 -62000 -1000 -2000 -65000 24842000 9615000 -16360000 18097000 101985000 19130000 -263000 120852000 63801000 14220000 -263000 77758000 38184000 4910000 43094000 8158000 1233000 13105000 22496000 30026000 3677000 -13105000 20598000 30026000 3677000 -13105000 20598000 2161000 624000 1019000 3804000 5000 -119000 -114000 32192000 4301000 -12205000 24288000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;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:75.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.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;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.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:75.65%;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:24.34%;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 March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:75.65%;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:10.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;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;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:10.96%;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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;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.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,455</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;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.52%;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.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,873</p></td></tr><tr><td style="vertical-align:bottom;width:75.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest, net </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,425</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,781</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;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:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,200</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;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.52%;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:9.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,830</p></td></tr><tr><td style="vertical-align:bottom;width:75.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Depreciation and amortization </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;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 3pt 0pt 0pt;"> 4,017</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;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 3pt 0pt 0pt;"> 3,804</p></td></tr><tr><td style="vertical-align:bottom;width:75.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">EBITDA</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;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.45%;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 3pt 0pt 0pt;"> 18,097</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;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.52%;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.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 3pt 0pt 0pt;"> 24,288</p></td></tr></table> 5455000 10873000 -6425000 -6781000 2200000 2830000 4017000 3804000 18097000 24288000 false false false false