0001558370-23-004053.txt : 20230316 0001558370-23-004053.hdr.sgml : 20230316 20230316172227 ACCESSION NUMBER: 0001558370-23-004053 CONFORMED SUBMISSION TYPE: 10-K PUBLIC DOCUMENT COUNT: 86 CONFORMED PERIOD OF REPORT: 20221231 FILED AS OF DATE: 20230316 DATE AS OF CHANGE: 20230316 FILER: COMPANY DATA: COMPANY CONFORMED NAME: Climb Global Solutions, Inc. CENTRAL INDEX KEY: 0000945983 STANDARD INDUSTRIAL CLASSIFICATION: WHOLESALE-COMPUTER & PERIPHERAL EQUIPMENT & SOFTWARE [5045] IRS NUMBER: 133136104 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-K SEC ACT: 1934 Act SEC FILE NUMBER: 000-26408 FILM NUMBER: 23739854 BUSINESS ADDRESS: STREET 1: 4 INDUSTRIAL WAY WEST STREET 2: SUITE 300 CITY: EATONTOWN STATE: NJ ZIP: 07724 BUSINESS PHONE: 732-389-0932 MAIL ADDRESS: STREET 1: 4 INDUSTRIAL WAY WEST STREET 2: SUITE 300 CITY: EATONTOWN STATE: NJ ZIP: 07724 FORMER COMPANY: FORMER CONFORMED NAME: Wayside Technology Group, Inc. DATE OF NAME CHANGE: 20061027 FORMER COMPANY: FORMER CONFORMED NAME: PROGRAMMERS PARADISE INC DATE OF NAME CHANGE: 19950531 10-K 1 clmb-20221231x10k.htm 10-K
P3Y00009459832022FYfalseClimb Global Solutions, Inc.P4YP8YP6MP48M0000945983clmb:AllowanceCreditLossMember2022-01-012022-12-310000945983clmb:AllowanceCreditLossMember2021-01-012021-12-310000945983clmb:AllowanceCreditLossMember2022-12-310000945983clmb:AllowanceCreditLossMember2021-12-310000945983clmb:AllowanceCreditLossMember2020-12-310000945983country:GB2022-01-012022-12-310000945983us-gaap:TreasuryStockCommonMember2022-01-012022-12-310000945983us-gaap:TreasuryStockCommonMember2021-01-012021-12-310000945983us-gaap:TreasuryStockCommonMember2022-12-310000945983us-gaap:RetainedEarningsMember2022-12-310000945983us-gaap:AdditionalPaidInCapitalMember2022-12-310000945983us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310000945983us-gaap:TreasuryStockCommonMember2021-12-310000945983us-gaap:RetainedEarningsMember2021-12-310000945983us-gaap:AdditionalPaidInCapitalMember2021-12-310000945983us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-310000945983us-gaap:TreasuryStockCommonMember2020-12-310000945983us-gaap:RetainedEarningsMember2020-12-310000945983us-gaap:AdditionalPaidInCapitalMember2020-12-310000945983us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-12-310000945983clmb:StockBasedCompensationPlan2012Member2022-12-310000945983clmb:StockBasedCompensationPlan2012Member2018-06-300000945983clmb:StockBasedCompensationPlan2012Member2018-05-310000945983us-gaap:RestrictedStockMember2021-12-310000945983us-gaap:RestrictedStockMember2020-12-310000945983us-gaap:RestrictedStockMember2021-01-012021-12-310000945983srt:DirectorMember2022-04-012022-06-300000945983clmb:FamilyMember2022-01-012022-12-310000945983srt:DirectorMember2021-01-012021-12-310000945983clmb:FamilyMember2021-01-012021-12-310000945983us-gaap:SalesChannelThroughIntermediaryMemberclmb:SolutionsSegmentMemberus-gaap:TransferredAtPointInTimeMember2022-01-012022-12-310000945983us-gaap:SalesChannelThroughIntermediaryMemberclmb:DistributionSegmentMemberus-gaap:TransferredAtPointInTimeMember2022-01-012022-12-310000945983us-gaap:SalesChannelDirectlyToConsumerMemberclmb:SolutionsSegmentMemberus-gaap:TransferredAtPointInTimeMember2022-01-012022-12-310000945983us-gaap:SalesChannelDirectlyToConsumerMemberclmb:DistributionSegmentMemberus-gaap:TransferredAtPointInTimeMember2022-01-012022-12-310000945983us-gaap:SalesChannelThroughIntermediaryMemberus-gaap:TransferredAtPointInTimeMember2022-01-012022-12-310000945983us-gaap:SalesChannelDirectlyToConsumerMemberus-gaap:TransferredAtPointInTimeMember2022-01-012022-12-310000945983country:USclmb:SolutionsSegmentMember2022-01-012022-12-310000945983country:USclmb:DistributionSegmentMember2022-01-012022-12-310000945983country:CAclmb:SolutionsSegmentMember2022-01-012022-12-310000945983country:CAclmb:DistributionSegmentMember2022-01-012022-12-310000945983clmb:EuropeAndUnitedKingdomMemberclmb:SolutionsSegmentMember2022-01-012022-12-310000945983clmb:EuropeAndUnitedKingdomMemberclmb:DistributionSegmentMember2022-01-012022-12-310000945983country:US2022-01-012022-12-310000945983country:CA2022-01-012022-12-310000945983clmb:EuropeAndUnitedKingdomMember2022-01-012022-12-310000945983us-gaap:SalesChannelThroughIntermediaryMemberclmb:SolutionsSegmentMemberus-gaap:TransferredAtPointInTimeMember2021-01-012021-12-310000945983us-gaap:SalesChannelThroughIntermediaryMemberclmb:DistributionSegmentMemberus-gaap:TransferredAtPointInTimeMember2021-01-012021-12-310000945983us-gaap:SalesChannelDirectlyToConsumerMemberclmb:SolutionsSegmentMemberus-gaap:TransferredAtPointInTimeMember2021-01-012021-12-310000945983us-gaap:SalesChannelDirectlyToConsumerMemberclmb:DistributionSegmentMemberus-gaap:TransferredAtPointInTimeMember2021-01-012021-12-310000945983us-gaap:SalesChannelThroughIntermediaryMemberus-gaap:TransferredAtPointInTimeMember2021-01-012021-12-310000945983us-gaap:SalesChannelDirectlyToConsumerMemberus-gaap:TransferredAtPointInTimeMember2021-01-012021-12-310000945983country:USclmb:SolutionsSegmentMember2021-01-012021-12-310000945983country:USclmb:DistributionSegmentMember2021-01-012021-12-310000945983country:CAclmb:SolutionsSegmentMember2021-01-012021-12-310000945983country:CAclmb:DistributionSegmentMember2021-01-012021-12-310000945983clmb:EuropeAndUnitedKingdomMemberclmb:SolutionsSegmentMember2021-01-012021-12-310000945983clmb:EuropeAndUnitedKingdomMemberclmb:DistributionSegmentMember2021-01-012021-12-310000945983country:US2021-01-012021-12-310000945983country:CA2021-01-012021-12-310000945983clmb:EuropeAndUnitedKingdomMember2021-01-012021-12-310000945983srt:MinimumMemberus-gaap:EquipmentMember2022-01-012022-12-310000945983srt:MaximumMemberus-gaap:EquipmentMember2022-01-012022-12-310000945983us-gaap:LeaseholdImprovementsMember2022-12-310000945983clmb:EquipmentAndCapitalizedSoftwareMember2022-12-310000945983us-gaap:LeaseholdImprovementsMember2021-12-310000945983clmb:EquipmentAndCapitalizedSoftwareMember2021-12-310000945983us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-012022-12-310000945983us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-01-012021-12-310000945983clmb:UncommittedCreditFacilityMember2021-04-130000945983us-gaap:RevolvingCreditFacilityMember2017-11-150000945983us-gaap:RevolvingCreditFacilityMember2022-12-310000945983clmb:UncommittedCreditFacilityMember2022-12-310000945983us-gaap:RevolvingCreditFacilityMember2021-12-310000945983clmb:UncommittedCreditFacilityMember2021-12-310000945983srt:MinimumMember2022-12-310000945983srt:MaximumMember2022-12-310000945983us-gaap:RevolvingCreditFacilityMember2022-01-012022-12-310000945983us-gaap:RevolvingCreditFacilityMember2021-01-012021-12-310000945983srt:MinimumMemberus-gaap:SoftwareDevelopmentMember2022-01-012022-12-310000945983srt:MinimumMemberclmb:VendorRelationshipsMember2022-01-012022-12-310000945983srt:MaximumMemberus-gaap:SoftwareDevelopmentMember2022-01-012022-12-310000945983srt:MaximumMemberclmb:VendorRelationshipsMember2022-01-012022-12-310000945983us-gaap:TradeNamesMember2022-01-012022-12-310000945983us-gaap:CustomerRelationshipsMember2022-01-012022-12-310000945983us-gaap:TradeNamesMember2022-12-310000945983clmb:CustomerAndVendorRelationshipsMember2022-12-310000945983us-gaap:TradeNamesMember2021-12-310000945983clmb:CustomerAndVendorRelationshipsMember2021-12-310000945983us-gaap:RestrictedStockMember2022-12-310000945983us-gaap:RestrictedStockMember2022-01-012022-12-310000945983us-gaap:RetainedEarningsMember2022-01-012022-12-310000945983us-gaap:RetainedEarningsMember2021-01-012021-12-3100009459832022-04-082022-04-0800009459832022-04-080000945983clmb:TermLoansMember2022-12-310000945983us-gaap:RevolvingCreditFacilityMemberus-gaap:LondonInterbankOfferedRateLIBORMember2022-01-012022-12-310000945983clmb:UncommittedCreditFacilityMember2021-04-132021-04-130000945983us-gaap:CostOfSalesMemberus-gaap:SupplierConcentrationRiskMemberclmb:VendorTwoMember2022-01-012022-12-310000945983us-gaap:CostOfSalesMemberus-gaap:SupplierConcentrationRiskMemberclmb:VendorOneMember2022-01-012022-12-310000945983clmb:TopFiveCustomersMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-12-310000945983clmb:CustomerTwoMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-12-310000945983clmb:CustomerTwoMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-12-310000945983clmb:CustomerOneMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-12-310000945983clmb:CustomerOneMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-12-310000945983us-gaap:CostOfSalesMemberus-gaap:SupplierConcentrationRiskMemberclmb:VendorTwoMember2021-01-012021-12-310000945983us-gaap:CostOfSalesMemberus-gaap:SupplierConcentrationRiskMemberclmb:VendorOneMember2021-01-012021-12-310000945983clmb:TopFiveCustomersMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-12-310000945983clmb:CustomerTwoMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-12-310000945983clmb:CustomerTwoMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-12-310000945983clmb:CustomerOneMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-12-310000945983clmb:CustomerOneMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-12-310000945983us-gaap:CommonStockMember2022-12-310000945983us-gaap:CommonStockMember2021-12-310000945983us-gaap:CommonStockMember2020-12-310000945983clmb:OmnibusIncentivePlan2021Member2022-12-3100009459832020-12-310000945983us-gaap:SoftwareDevelopmentMember2022-12-310000945983clmb:InternalUseSoftwareMember2022-12-310000945983us-gaap:SoftwareDevelopmentMember2021-12-310000945983clmb:InternalUseSoftwareMember2021-12-310000945983clmb:SpinnakarLimitedMemberclmb:VendorRelationshipsMember2022-08-180000945983clmb:SpinnakarLimitedMember2022-01-012022-12-310000945983us-gaap:OperatingSegmentsMember2022-12-310000945983us-gaap:CorporateNonSegmentMember2022-12-310000945983country:US2022-12-310000945983country:CA2022-12-310000945983clmb:SolutionsSegmentMember2022-12-310000945983clmb:EuropeAndUnitedKingdomMember2022-12-310000945983clmb:DistributionSegmentMember2022-12-310000945983us-gaap:OperatingSegmentsMember2021-12-310000945983us-gaap:CorporateNonSegmentMember2021-12-310000945983country:US2021-12-310000945983country:CA2021-12-310000945983clmb:SolutionsSegmentMember2021-12-310000945983clmb:EuropeAndUnitedKingdomMember2021-12-310000945983clmb:DistributionSegmentMember2021-12-310000945983us-gaap:SellingGeneralAndAdministrativeExpensesMember2022-01-012022-12-310000945983us-gaap:SellingGeneralAndAdministrativeExpensesMember2021-01-012021-12-310000945983us-gaap:AdditionalPaidInCapitalMember2022-01-012022-12-310000945983us-gaap:AdditionalPaidInCapitalMember2021-01-012021-12-310000945983us-gaap:SoftwareDevelopmentMember2022-01-012022-12-310000945983us-gaap:SoftwareDevelopmentMember2021-01-012021-12-310000945983clmb:SpinnakarLimitedMemberclmb:VendorRelationshipsMember2022-08-182022-08-180000945983us-gaap:AccumulatedTranslationAdjustmentMember2022-12-310000945983us-gaap:AccumulatedTranslationAdjustmentMember2021-12-310000945983srt:DirectorMember2021-12-310000945983clmb:FamilyMember2022-12-310000945983clmb:FamilyMember2021-12-3100009459832022-06-3000009459832023-02-280000945983srt:MaximumMemberus-gaap:RestrictedStockMember2022-01-012022-12-310000945983srt:MaximumMemberus-gaap:RestrictedStockMember2021-01-012021-12-310000945983srt:MinimumMember2022-01-012022-12-310000945983srt:MaximumMember2022-01-012022-12-310000945983clmb:SolutionsSegmentMember2022-01-012022-12-310000945983clmb:DistributionSegmentMember2022-01-012022-12-310000945983clmb:SolutionsSegmentMember2021-01-012021-12-310000945983clmb:DistributionSegmentMember2021-01-012021-12-310000945983us-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-12-310000945983us-gaap:CostOfSalesMemberus-gaap:SupplierConcentrationRiskMember2022-01-012022-12-310000945983clmb:TopFiveCustomersMember2022-01-012022-12-310000945983us-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-12-310000945983us-gaap:CostOfSalesMemberus-gaap:SupplierConcentrationRiskMember2021-01-012021-12-310000945983clmb:TopFiveCustomersMember2021-01-012021-12-310000945983clmb:SpinnakarLimitedMember2022-08-180000945983clmb:SpinnakarLimitedMember2022-08-182022-08-180000945983clmb:InterworkGroupInc.Member2022-01-012022-12-3100009459832021-01-012021-12-3100009459832022-01-012022-12-3100009459832022-12-3100009459832021-12-31clmb:segmentiso4217:USDclmb:customerclmb:itemclmb:directorclmb:installmentxbrli:sharesiso4217:GBPiso4217:USDxbrli:sharesxbrli:pure

UNITED STATES SECURITIES AND EXCHANGE COMMISSION

Washington, D.C. 20549

FORM 10-K

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

For the fiscal year ended December 31, 2022

OR

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

For the transition period from                              to

Commission file number: 000-26408

CLIMB GLOBAL SOLUTIONS, INC.

(Exact name of registrant as specified in its charter)

Delaware

13-3136104

(State or other jurisdiction of incorporation)

(IRS Employer Identification Number)

4 Industrial Way West, Suite 300 Eatontown, NJ

07724

(Address of principal executive offices)

(Zip Code)

Registrant’s telephone number, including area code: (732) 389-0932

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

Title of Each Class

Trading Symbol

Name of Each Exchange on Which Registered

Common Stock, par value $0.01 per share

CLMB

The NASDAQ Global Market

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

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

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

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

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

Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, 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 has filed a report on and attestation to its management’s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report.

If securities are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial statements. ¨

Indicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant’s executive officers during the relevant recovery period pursuant to §240.10D-1(b). ¨

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

The aggregate market value of the Common Stock held by non-affiliates of the Registrant computed by reference to the closing sale price for the Registrant’s Common Stock as of June 30, 2022, which was the last business day of the Registrant’s most recently completed second fiscal quarter, as reported on The NASDAQ Global Market, was approximately $134.8 million. For purposes of this calculation, directors, officers and holders of more than 10% of the outstanding shares of Common Stock of the Registrant are deemed to be affiliates of the Registrant and the shares of Common Stock beneficially owned by them have been excluded. This determination of affiliate status is not necessarily a conclusive determination for other purposes.

The number of shares outstanding of the Registrant’s Common Stock as of February 28, 2023 was 4,516,652 shares.

Documents Incorporated by Reference: Portions of the Registrant’s definitive Proxy Statement for its 2023 Annual Meeting of Stockholders are incorporated by reference in Part III herein. The registrant intends to file such Proxy Statement with the Securities and Exchange Commission no later than 120 days after the end of the period covered by this report on Form 10-K.

TABLE OF CONTENTS

PART I

Item 1. Business1

Item 1A. Risk Factors7

Item 1B. Unresolved Staff Comments15

Item 2. Properties15

Item 3. Legal Proceedings16

Item 4. Mine Safety Disclosures16

PART II

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

Item 6. [Reserved]17

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

Item 7A. Quantitative and Qualitative Disclosures about Market Risk27

Item 8. Financial Statements and Supplementary Data27

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

Item 9A. Controls and Procedures27

Item 9B. Other Information28

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

PART III

Item 10. Directors, Executive Officers and Corporate Governance29

Item 11. Executive Compensation29

Item 12. Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters29

Item 13. Certain Relationships and Related Party Transactions, and Director Independence29

Item 14. Principal Accounting Fees and Services29

PART IV

Item 15. Exhibits, Financial Statement Schedules29

Item 16. Form 10-K Summary.32

SIGNATURES33

PART I

CAUTIONARY NOTE REGARDING FORWARD-LOOKING STATEMENTS

This Annual Report on Form 10-K (“Annual Report”) includes statements of our expectations, intentions, plans and beliefs that constitute “forward-looking statements” within the meaning of 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”), and are intended to come within the safe harbor protection provided by those sections. The statements, other than statements of historical fact, included in this Annual Report are forward-looking statements. Many of the forward-looking statements contained in this Annual Report may be identified by the use of forward-looking words such as “believes,” “expects,” “intends,” “anticipates,” “plans,” “estimates,” “projects,” “forecasts,” “should,” “could,” “would,” “will,” “confident,” “may,” “can,” “potential,” “possible,” “proposed,” “in process,” “under construction,” “in development,” “opportunity,” “target,” “outlook,” “maintain,” “continue,” “goal,” “aim,” “commit,” or similar expressions or when we discuss our future operating results, priorities, strategy, goals, vision, mission, opportunities, projections, intentions or expectations. Although the Company believes that the expectations reflected in such forward-looking statements are reasonable, it can give no assurance that such expectations will prove to have been correct. Because these forward-looking statements are subject to risks and uncertainties, actual results could differ materially from those indicated by such forward-looking statements. These risks and uncertainties include, but are not limited to, the continued acceptance of the Company’s distribution channel by vendors and customers, the timely availability and acceptance of new products, product mix, market conditions, inflation, competitive pricing pressures, the successful integration of acquisitions, contribution of key vendor relationships and support programs, including vendor rebates and discounts, as well as factors that affect the software industry in general and other factors generally. Currently, one of the most significant factors is the potential adverse effect of the current COVID-19 pandemic on the Company, the global economy and financial markets. The extent to which COVID-19 impacts the Company will depend on future developments, which are highly uncertain and cannot be predicted with confidence, including the scope, severity and duration of the pandemic, the actions taken to contain the pandemic or mitigate its impact, and the direct and indirect economic effects of the pandemic and containment measures, including the impact on our reseller partners and the end customer markets they serve, among others. We strongly urge current and prospective investors to carefully consider the cautionary statements and risk factors contained in this report, particularly the risks described under “Item 1A. Risk Factors” herein.

The Company operates in a rapidly changing business, and new risk factors emerge from time to time. Management cannot predict every risk factor, nor can it assess the impact, if any, of all such risk factors on the Company’s business or the extent to which any factor, or combination of factors, may cause actual results to differ materially from those projected in any forward-looking statements.

Accordingly, forward-looking statements should not be relied upon as a prediction of actual results and readers are cautioned not to place undue reliance on these forward-looking statements, which speak only as of their dates. The Company undertakes no obligation to publicly update or revise any forward-looking statements, whether as a result of new information, future events or otherwise.

The statements concerning future sales, future gross profit margin and future selling and administrative expenses are forward looking statements involving certain risks and uncertainties such as availability of products, product mix, pricing pressures, market conditions and other factors, which could result in a fluctuation of sales below recent experience.

Unless otherwise specified, the “Company,” “we,” “us” or “our” refers to Climb Global Solutions, Inc., a Delaware corporation (formerly known as Wayside Technology Group, Inc.), and its consolidated subsidiaries.

Item 1. Business

General

The Company is a value added information technology (“IT”) distribution and solutions company. The Company primarily operates through its “Distribution” segment, which distributes emerging technologies to corporate resellers, value added resellers (VARs), consultants and systems integrators worldwide under the name “Climb Channel Solutions”. The Company also operates a smaller segment called “Solutions”, which is a cloud solutions provider and value-added reseller of software, hardware and services for customers worldwide under the name “GreyMatter”. Across both segments, we offer an extensive line of products from leading software vendors and tools for virtualization/cloud computing, security, networking, storage and infrastructure management, application lifecycle management and other technically sophisticated domains as well as computer hardware.

The Company was incorporated in Delaware in 1982.  On October 31, 2022, the Company adopted its current name, Climb Global Solutions, Inc. Our common stock, par value $0.01 per share (“Common Stock”) is listed on The NASDAQ Global Market under the symbol “CLMB”.

Distribution Segment

In our Distribution segment, which accounted for approximately 93% of our consolidated net sales and 83% of our consolidated gross profit during the year ended December 31, 2022, we distribute technology products from software developers, software vendors or original equipment manufacturers (OEMs) to resellers, and system integrators worldwide. We purchase software, maintenance/service agreements, networking/storage/security equipment and complementary products from our vendors and sell them to our reseller customers. The large majority of products we sell are “drop shipped” directly to the customers, which reduces physical handling by the Company and required investment in inventory. Generally, a vendor authorizes a limited number of companies to act as distributors of their product and sell to resellers of their product. Our reseller customers include value-added resellers, or VARs, corporate resellers, government resellers, system integrators, direct marketers, and national IT superstores. We combine our core strengths in customer service, marketing, distribution, credit and billing to allow our customers to achieve greater efficiencies in time to market in the IT channel in a cost-effective manner.

While our Distribution business is characterized by low gross profit as a percentage of adjusted gross billings, or gross margin, and price competition, we have been able to operate profitably by leveraging an efficient and scalable business model with low capital investment requirements. The large majority of the products we sell are either digital products such as license authorizations, third party maintenance contracts, or hardware that is dropped shipped to the end customer directly by the vendor. We utilize electronic digital interchange (“EDI”) and other automation to fulfill these orders on a cost-efficient basis. We also maintain relatively low inventory balances relative to our gross billings and enjoy what we believe is favorable credit from our vendor partners, allowing us to deploy a capital efficient model as reflected by our return on equity and pre-tax income as a percentage of gross profit generated.

In our Distribution segment, we are highly dependent on the end-market demand for the products we sell, and on our partners’ strategic initiatives and business models. This end-market demand is influenced by many factors including the introduction of new products, replacement and renewal cycles for existing products, competitive products, overall economic growth and general business activity. A difficult and challenging economic environment may also lead to consolidation or decline in the industry and increased price-based competition. We continually review the marketplace to identify new and emerging vendors and products to potentially add to our vendor partners.  

Solution Segment

We also provide comprehensive IT solutions directly to end users through our Solutions segment, which accounted for approximately 7% of our consolidated net sales and 17% of our consolidated gross profit during the year ended December 31, 2022. Products in this segment are acquired directly from OEMS, software developers or distributors

1

and sold to end users. We provide customer service, billing, sales and marketing support in this segment and provide extended payment terms to facilitate sales.

The Company operates a distribution facility in Eatontown, New Jersey.

Acquisitions

We view acquisitions as an important part of our strategic growth plan. In 2020, we completed two acquisitions to add scale, broaden our geographic footprint, expand partner relationships and add cloud support capabilities.

In 2022, we completed the acquisition of Spinnakar Limited (“Spinnakar”), which expanded our sales presence in the United Kingdom distribution operations and brought key vendor partner relationships to our portfolio.

We plan to continue to evaluate acquisition opportunities as part of our strategic growth plan going forward.

Products

An essential part of our ongoing operations and strategic growth plan in our Distribution segment is the continued recruitment of software vendors for which we become authorized distributors of their products. Through our Distribution segment, we sell a wide variety of technology products from a broad range of software vendors and manufacturers, such as Bluebeam Software, Flexera Software, Intel Software, Microsoft, Micro Focus, Mindjet, SmartBear Software, SolarWinds, Sophos, StorageCraft Technology, TechSmith, Trend Micro, Unitrends, Tintri and Extrahop. On a continuous basis, we screen new vendors and products for inclusion in our line card based on their features, quality, price, profit margins and current market trends. Developing a diverse vendor base is a key element of our business strategy. We focus on establishing deep relationships with our vendor and reseller partners by providing specialized product training to our sales force and the use of dedicated sales teams. We have also established an efficient ordering process with our key partners through the implementation of electronic ordering and other processes adapted to their requirements. As a result, our relationships with our key vendor partners tend to be long-term in nature despite the absence of long-term contracts, with a significant portion of sales derived from annually recurring renewals of software maintenance and subscription agreements related to our partners embedded base of customers utilizing their software products. Additionally, a key part of our strategic growth plan is to provide a high level of support to select emerging technology vendors through our Climb Elevate program to develop future relationships throughout the growth cycle of a vendor partner.

In our Solutions business, an essential part of our strategic growth plan is to pursue opportunities with higher growth prospects and gross margin characteristics through the sale of specialty products, services and cloud offerings. Through acquisitions in the prior years, we added certain technical and administrative support capabilities to enable us to resell cloud and software as a service products (“SaaS”) including Microsoft products in the United Kingdom. Our strategic growth plan is to expand our cloud offerings by leveraging these support services to other markets and products.

For the year ended December 31, 2022, the Company had two vendors that accounted for 17% and 9%, respectively, of our consolidated purchases. For the year ended December 31, 2021, these same two vendors accounted for 20% and 10%, respectively, of our consolidated purchases. The loss of a key vendor or group of vendors could disrupt our product availability and otherwise have an adverse effect on the Company.

The Company predominantly sells third party software, software subscriptions, and maintenance. Sales of hardware and peripherals represented 6% and 5% of our adjusted gross billings in 2022 and 2021, respectively.

Cloud

Our vendor and reseller partners are increasingly incorporating cloud and hybrid cloud products into their portfolios. An essential part of our strategic growth plan is to provide value added services to our vendor partners and customers to enhance their ability to market these products. This includes maintaining infrastructure to facilitate licensing of cloud and SaaS products, providing technical support for cloud products, and providing integration and enablement

2

services. We currently have the ability to provide support for these cloud services in the United Kingdom and Europe, and plan to continue to leverage these capabilities to provide cloud support services throughout our worldwide operations.

Marketing and Distribution

We market products through creative marketing communications, including our web sites, local and on-line seminars, events, webinars, and social media. We also use direct e-mail and printed material to introduce new products and upgrades, to cross-sell products to current customers, and to educate and inform existing and potential customers. We believe that our blend of electronic and traditional marketing and selling programs are important marketing vehicles for software vendors and manufacturers. These programs provide a cost-effective and service-oriented means to market and sell and fulfill software products and meet the needs of users.

We sell products to large, multi-national broad line resellers, sometimes referred to as direct market resellers (DMRs), as well as thousands of VARs, which tend to be smaller and focus on value added services to their customers. As part of our strategic growth plan, we expect to continue diversifying our customer base by offering compelling products to the VAR community as we develop our vendor partner lineup. As a result, an increasing proportion of our sales in 2022 were from VARs, driven by a continued focus on increasing sales to larger VARs with more than $1 million in annual sales. For the year ended December 31, 2022, the Company had two customers, both of whom are considered DMRs, that accounted for 21%, and 16%, respectively, of consolidated net sales and as of December 31, 2022, 16% and 18%, respectively, of total net accounts receivable. For the year ended December 31, 2021, these same two customers accounted for 18%, and 17%, respectively, of consolidated net sales and as of December 31, 2021, 18% and 22%, respectively, of total net accounts receivable. Our top five customers accounted for 52% and 51% of consolidated net sales in 2022 and 2021, respectively.

Net sales to customers in Canada represented 8% and 9% of our consolidated net sales in 2022 and 2021, respectively. Net sales in Europe and the rest of the world represented 14% and 13% of our consolidated net sales in 2022 and 2021, respectively. For geographic financial information, please refer to Note 13 in the Notes to our Consolidated Financial Statements.

Customer Support

We believe that providing a high level of customer service is necessary to compete effectively and is essential to continued sales and revenue growth. Our account representatives assist our customers with all aspects of purchasing decisions, order processing, returns processing, and inquiries on order status, product pricing and availability. The account representatives are trained to answer all basic questions about the features and functionality of products.

Purchasing and Fulfillment

The Company’s success is dependent, in part, upon the ability of its vendor partners to develop and market products that meet the changing requirements of the marketplace. The Company believes it maintains good relationships with its vendors. The Company and its principal vendors have cooperated frequently in product introductions and in other marketing programs. As is customary in the industry, the Company has no long-term supply contracts with any of its vendor partners, and substantially all the Company’s contracts with its vendors are terminable upon 30 days’ notice or less, however, it is notable that the tenure of our relationships with vendor partners tends to extend over a longer term. We attribute this to the deep relationships we establish with our partners involving sales support, product and customer knowledge, and tailored infrastructure to facilitate efficient order processing.

Most vendor partners or distributors will “drop ship” products directly to the customers, which reduces physical handling by the Company. Inventory management techniques, such as “drop shipping” allow the Company to offer a greater range of products without increased inventory requirements or cost of carrying inventory.

Inventory levels may vary from period to period, due in part to increases or decreases in sales levels, the Company’s practice of making advance purchases when it deems the terms of such purchases to be attractive, and the addition of new vendor partners and products. From time to time, we may make advance payments to vendors to apply

3

against future purchases from the vendor. Moreover, the Company’s order fulfillment and inventory control systems allow the Company to order certain products in time for next day shipping. The Company promotes the use of EDI with its vendor partners and customers, which helps reduce overhead and the use of paper in the ordering process.

Competition

The Company operates in a highly competitive environment, both in the United States and internationally. There is significant competition within each market segment and geography served that creates pricing pressure and the need to continually improve services. The market for the technology products we sell is characterized by rapid changes in technology, user requirements, and competitive pricing. The way software products are distributed and sold is constantly changing, and new methods of distribution and sale may emerge or expand, including direct sales by technology providers to end users, and the introduction of cloud versions of their products. As an IT channel solutions provider, a critical element of our strategic growth plan is to maintain our ability to offer an efficient route to market for emerging technology vendors. Additionally, a key element of our strategic growth plan is to capitalize on market changes by implementing new value added services such as cloud support and integration offerings.

In our Distribution segment, we compete with other distributors to become an authorized distributor of products from software developers and vendors. The Company competes to gain distribution rights for new products primarily based on its reputation for successfully bringing new products to market and the strength of and quality of its relationships with software vendors and the reseller community. We also compete against other distributors to gain market share among authorized resellers for products we are authorized to distribute based on price, and level of service. We compete against much larger broad-line distributors with more resources than we have, including Arrow Electronics Inc. (NYSE: ARW), TD Synnex Corporation (NYSE: SNX) and Ingram Micro, as well as specialty distributors. We believe we offer a compelling solution for emerging technology vendors seeking to establish the IT channel as a route to market, by offering broad distribution capabilities with more flexibility than some of our larger competitors.  

In our Solutions segment, we compete against a large variety of IT solutions providers including e- commerce sites, service organizations, value added resellers, cloud solution providers and technology providers offering direct solutions. We believe that our ability to offer software developers and IT professionals easy access to a wide selection of desired IT products at reasonable prices with prompt delivery and high customer service levels, along with our good relationships with vendor partners, allows us to compete effectively.

Information Technology

The Company operates IT systems on several platforms including Windows and cloud-based platforms that control the full order processing cycle. These IT systems allow for centralized management of key functions, including inventory, accounts receivable, purchasing, sales and distribution and payment processing. We are dependent on the accuracy and proper utilization of our technology systems, telephone systems, websites, e-mail and EDI systems.

Our IT systems allow us to monitor sales trends, real-time product availability, order status throughout the full order cycle, and automates order transactions and invoicing transactions for our customers and vendors. The main focus of our IT systems is to allow us to transact and communicate with our customers and vendors in the most efficient manner possible. We provide various options to transact electronically with our customers and vendors through EDI, XML and other electronic methods.

The Company recognizes the need to continually upgrade its IT systems to effectively manage and secure its infrastructure and customer data and to provide continued scalability and flexibility. In that regard, the Company anticipates that it will, from time to time, require software and hardware upgrades for its present IT systems.

Trademarks, Service Marks and Domain Names

The Company conducts its business under various trademarks and service marks including Climb Channel Solutions, Grey Matter, Cloud Know How and International Software Partners. The Company protects these trademarks and service marks and believes that they have significant value to us and are important factors in our marketing programs.

4

We have registered and maintained Internet domain names, including “climbglobalsolutions.com”.

Government Regulation

The Company is subject to and endeavors to comply with various government regulations in the United States as well as various jurisdictions where it operates.  These regulations cover several diverse areas including trade compliance, anti-bribery, anti-corruption, money laundering, securities, environmental, and data and privacy protection.  Increased government scrutiny of the Company's actions or enforcement could materially and adversely affect its business or damage its reputation.  In addition, the Company may conduct, or it may be required to conduct, internal investigations or face audits or investigations by one or more domestic or foreign government or regulatory agencies, which could be costly and time-consuming, and could divert management and key personnel from the Company’s business operations.  See Risk Factors in Part I, Item 1A.

Employees and Human Capital

We understand the importance of human capital and prioritize building our culture, talent development, compensation and benefits, and diversity and inclusion.  Our human capital resources objectives include identifying, recruiting, retaining, incentivizing and integrating our existing and new employees, advisors and consultants.  The attraction, retention and development of employees is critical to our success.  We accomplish this, in part, by our competitive compensation practices, training initiatives, and growth opportunities within the Company.

The Company believes its capabilities and services are made possible by a broad group of professionals who understand its customer's problems from numerous perspectives and curate forward-looking, comprehensive solutions.  The Company's employees’ diverse backgrounds have melded into rich perspectives that sharpen the Company, drive more scale, extending the Company's value, winning in the market with the diversity of its people and the strength of its culture, to enhance value for customers and benefit all stakeholders.

The Company's business results depend in part on its ability to successfully manage human capital resources, including attracting, identifying, and retaining key talent.  Factors that may affect the Company's ability to attract and retain qualified employees include employee morale, its reputation, competition from other employers, and availability of qualified individuals.

As of December 31, 2022, the Company had 300 total employees, including 284 full-time employees. The Company is not a party to any collective bargaining agreements with its employees, has experienced no work stoppages and considers its relationships with its employees to be satisfactory.

The following table shows the Company’s approximate headcount by region:

Americas

EMEA

Headcount

162

138

Workforce Health and Safety

We take workplace safety very seriously and our robust safety program means that we are constantly evaluating our safety protocols in an effort to keep our facilities safe for our employees.    

The Company continued to provide a safe work environment as the COVID-19 pandemic persisted during 2022.  It aligned with and followed the guidance of the world’s leading health authorities, as well as related local, regional, and national government directives.  

We continue to monitor the impact of the COVID-19 pandemic on our teammates and within our operations, and proactively modify or adopt new practices to promote their health and safety.

5

Compensation and Benefits

As part of our compensation philosophy, we believe that we must offer and maintain market competitive compensation and benefit programs for our employees in order to attract and retain superior talent. In addition to competitive base wages, additional programs include the 2021 Omnibus Incentive Plan, a company matched 401(k) Plan, healthcare and insurance benefits, flexible spending accounts, paid time off and employee assistance programs.

Diversity and Inclusion

We are committed to our continued efforts to increase diversity and foster an inclusive work environment that supports the workforce and the communities we serve.  We recruit the best qualified employees regardless of gender, ethnicity or other protected traits and it is our policy to fully comply with all laws applicable to discrimination in the workplace.

Company Information

Our principal executive offices are located at 4 Industrial Way West, Suite 300 Eatontown, NJ 07724, and our telephone number is (732) 389-0932.  We have operations throughout North America and Europe. Our website address is www.climbglobalsolutions.com, and the other web sites maintained by our business include www.climbcs.com and www.greymatter.com.  Information contained on or accessible through our websites is neither a part of this Annual Report nor incorporated by reference herein, and any references to our website and the inclusion of our website address in this Annual Report are intended to be inactive textual references only.

Available Information

Under the Securities Exchange Act of 1934, as amended (the “Exchange Act”), the Company is required to file annual, quarterly and current reports, proxy and information statements and other information with the Securities and Exchange Commission (“SEC”). The SEC maintains a web site at http://www.sec.gov that contains reports, proxy and information statements, and other information regarding issuers that file electronically with the SEC, including us. The Company also makes available, free of charge, through its internet web site at http://www.climbglobalsolutions.com, its reports on Forms 10-K, 10-Q and 8-K, and amendments to those reports, as soon as reasonably practicable after they are filed with the SEC. The information contained on, or otherwise accessible through, our website is not part of, or incorporated by reference into, this Annual Report.

The Company has a Code of Ethics and Business Conduct that applies to all employees, officers and directors of the Company, including our Chief Executive Officer and Chief Financial Officer. We review the Code of Ethics and Business Conduct annually and consider updates as necessary. The full text of the Code of Ethics and Business Conduct, is available at our web site, http://www.climbglobalsolutions.com. We intend to disclose any amendment to, or waiver from, a provision of the Code of Ethical Conduct that applies to its Chief Executive Officer or Chief Financial Officer on our web site.

6

Item 1A. Risk Factors

Investors should carefully consider the risk factors set forth below as well as the other information contained in this report. Any of the following risks could materially and adversely affect our business, financial condition or results of operations and could cause our results to differ from the “forward-looking statements” contained in this Annual Report. Additional risks and uncertainties not currently known to us or those currently viewed by us to be immaterial may also materially and adversely affect our business, financial condition or results of operations.

Risks Related to our Business and Industry

We serve customers and have locations throughout the world and are subject to terrorist attacks, acts of war, natural disasters, global pandemic and other similar risks, including without limitation, COVID-19, which could materially adversely affect our business, financial condition, and results of operations. Terrorist attacks, acts of war, natural disasters, global pandemics or other disasters or public health concerns in regions of the world where we have operations could result in the disruption of our business. Such acts, including Russia’s February 2022 invasion of Ukraine, have created, and continue to create, economic and political uncertainties and have contributed to global economic instability. Specifically, these acts, pandemics, disasters and health concerns can result in increased travel restrictions and extended shutdowns of certain businesses in the region, as well as social, economic, or labor instability. Disruptions in affected regions over a prolonged period could have a material adverse impact on our business and our financial results.

The global COVID-19 pandemic continues to impact the Company's business, through significant shortages, disruptions, constraints, extended lead times, and unpredictability across the global supply chain; which has resulted in rapidly changing market conditions, including frequent, and unpredictable, increases in the price of products and services the Company sells. Further disruptions to the supply chain due to the COVID-19 pandemic and its variants, or other global or domestic events could materially adversely impact the Company’s business, and the Company may not be able to mitigate or prevent disruptions that may arise from shortages, or the other related impacts discussed above, particularly if the Company is unable to pass price increases on to customers, or if the Company experiences significant decreases in price, or other pricing pressures caused by disruption of the global markets in which it operates. Even after the COVID-19 pandemic has subsided and the U.S. Administration announced that the Covid public health emergency is set to expire on May 11, 2023, we may continue to experience adverse impacts to our business as a result of any economic recession or depression that has occurred or may occur in the future. Refer to "COVID-19 Pandemic Update" in Management's Discussion & Analysis of Financial Condition and Results of Operations for a further discussion about the Company's description about the impacts of COVID-19.

Changes in the information technology industry and/or economic environment may reduce demand for the products and services we sell. Our results of operations are influenced by a variety of factors, including the condition of the IT industry, general economic conditions, shifts in demand for, or availability of, computer products and software and IT services and industry introductions of new products, upgrades or methods of distribution. The information technology products industry is characterized by abrupt changes in technology, rapid changes in customer preferences, short product life cycles and evolving industry standards. Net sales can be dependent on demand for specific product categories, and any change in demand for or supply of such products could have a material adverse effect on our net sales, and/or cause us to record write-downs of obsolete inventory, if we fail to react in a timely manner to such changes.

We rely on our vendor partners for product availability, marketing funds, purchasing incentives and competitive products to sell. We acquire products for resale both directly from manufacturers and indirectly from distributors. The loss of a vendor partner could cause a disruption in the availability of products. Additionally, there is no assurance that as manufacturers continue to or increasingly sell directly to end users and through the distribution channel, that they will not limit or curtail the availability of their products to distributors/resellers like us. For example, resellers and software vendors may attempt to increase the volume of software products distributed electronically through Electronic Software Distribution (“ESD”) technology, through subscription services, and through on-line shopping services, and correspondingly, decrease the volume of products sold through us. Our inability to obtain a sufficient quantity of products, or an allocation of products from a manufacturer in a way that favors one of our competitors, or competing distribution channels, relative to us, could cause us to be unable to fill clients’ orders in a timely manner, or at all, which could have a material adverse effect on our business, results of operations and financial condition. We also rely on our vendor partners

7

to provide funds for us to market their products, including through our on-line marketing efforts, and to provide purchasing incentives to us. If any of the vendor partners that have historically provided these benefits to us decides to reduce such benefits, our expenses would increase, adversely affecting our results of operations.

The IT products and services industry is intensely competitive and actions of competitors, including manufacturers of products we sell, can negatively affect our business. Competition has been based primarily on price, product availability, speed of delivery, credit availability and quality and breadth of product lines and, increasingly, also is based on the ability to tailor specific solutions to client needs. We compete with manufacturers, including manufacturers of products we sell, as well as a large number and wide variety of marketers and resellers of IT products and services. In addition, manufacturers are increasing the volume of software products they distribute electronically directly to end-users and in the future, will likely pay lower referral fees for sales of certain software licensing agreements sold by us. Generally, pricing is very aggressive in the industry, and we expect pricing pressures to continue. There can be no assurance that we will be able to negotiate prices as favorable as those negotiated by our competitors or that we will be able to offset the effects of price reductions with an increase in the number of clients, higher net sales, cost reductions, or greater sales of services, which service sales typically are delivered at higher gross margins, or otherwise. Price reductions by our competitors that we either cannot or choose not to match, could result in an erosion of our market share and/or reduced sales or, to the extent we match, such reductions, could result in reduced operating margins, any of which could have a material adverse effect on our business, results of operations and financial condition.

The way software products are distributed and sold is changing, and new methods of distribution and sale may emerge or expand. Software vendors have sold, and may intensify their efforts to sell, their products directly to end-users. There can be no assurances that software developers and vendors will continue using distributors and resellers to the same extent they currently do. Future efforts by software developers and vendors to bypass third-party sales channels could materially and adversely affect the Company’s business, results of operations and financial condition. In addition, resellers and software vendors may attempt to increase the volume of software products distributed electronically through ESD technology, through subscription services, and through on-line shopping services. Any of these competitive programs, if successful, could have a material adverse effect on the Company’s business, results of operations and financial condition. The Company’s business and results of operations may be adversely affected if the terms and conditions of the Company’s authorizations with its vendors were to be significantly modified or if certain products become unavailable to the Company.

We offer credit to our customers and, therefore, are subject to significant credit risk. We sell our products to a large and diverse customer base. We finance a significant portion of such sales through trade credit, typically by providing 30 to 60-day payment terms. In addition, we offer extended payment terms to certain customers for terms of up to two years. As a result, our business could be adversely affected in the event of a deterioration of the financial condition of our customers, resulting in the customers’ inability to repay us. This risk may increase if there is a general economic downturn affecting a large number of our customers and in the event our customers do not adequately manage their business or properly disclose their financial condition. Also, certain of our larger customers require greater than 30-day payment terms which could increase our credit risk and decrease our operating cash flow. 

We face substantial competition from other companies. We compete in all areas of our business against local, regional, national, and international firms. Some of our current competitors have substantially greater capital resources and sales and distribution capabilities than we do. In response to competitive pressures from any of our current or future competitors, we may be required to lower selling prices in order to maintain or increase market share, and such measures could adversely affect our operating results. In addition, we face competition from vendors, which may choose to market their products directly to end-users, rather than through channel partners such as the Company, and this could adversely affect our future sales. Many competitors compete based principally on price and may have lower costs or accept lower selling prices than we do and, therefore, our gross margins may not be maintainable. Our gross margins have declined historically and may continue to decline in the future. Our competitors may offer better or different products and services than we offer. In addition, we do not have guaranteed purchasing volume commitments from our customers and, therefore, our sales volume may be volatile.

8

Our business is substantially dependent on a limited number of customers and vendors, and the loss or any change in the business habits of such key customers or vendors may have a material adverse effect on our financial position and results of operations. Because our standing arrangements and agreements with our customers and vendors typically contain no purchase or sale obligations and are terminable by either party upon several months or otherwise relatively short notice, we are subject to significant risks associated with the loss or change at any time in the business habits and financial condition of key customers or vendors. We have experienced the loss and changes in the business habits of key customer and vendor relationships in the past and expect to do so again in the future.

 

Sales of products purchased from our largest two vendors accounted for 26% of our 2022 purchases and sales from our largest five vendors generated approximately 42% of 2022 purchases. As is the case with many of our vendor and customer relationships, our contractual arrangements with these large vendors are terminable by either party upon several months’ notice. If these contracts or our relationships with these vendors terminate for any reason, or if any of our other significant vendor relationships terminate for any reason, and we are not able to sell or procure a sufficient supply of those products from alternative sources, or at all, our financial position and results of operations would be adversely affected. Our vendors are subject to many if not all of the same (or similar) risks and uncertainties to which we are subject, as well as other risks and uncertainties, and we compete with others for their business. Accordingly, we are at a continual risk of loss of their business on account of a number of factors and forces, many of which are largely beyond our control.

 

In 2022, our two largest customers accounted for 37% of our net sales and our largest five customers accounted for 52% of our net sales. If any of our significant customer relationships terminate for any reason, and we are not able to replace those customers and associated revenues, our financial position and results of operations would be adversely affected.

Disruptions in our information technology and voice and data networks could affect our ability to service our clients and cause us to incur additional expenses. We believe that our success to date has been, and future results of operations likely will be, dependent in large part upon our ability to provide prompt and efficient service to clients. Our ability to provide such services is dependent largely on the accuracy, quality and utilization of the information generated by our IT systems, which affect our ability to manage our sales, client service, distribution, inventories and accounting systems and the reliability of our voice and data networks.

Failure to adequately maintain the security of our electronic and other confidential information could materially adversely affect our financial condition and results of operations. We are dependent upon automated information technology processes. Privacy, security, and compliance concerns have continued to increase as technology has evolved to facilitate commerce and as cross-border commerce increases. As part of our normal business activities, we collect and store certain confidential information, including personal information of employees and information about partners and clients which may be entitled to protection under several regulatory regimes. In the course of normal and customary business practice, we may share some of this information with vendors who assist us with certain aspects of our business. Moreover, the success of our operations depends upon the secure transmission of confidential and personal data over public networks, including the use of cashless payments. Although we did not have any material cybersecurity breaches in 2022, any failure on the part of us or our vendors to maintain the security of data we are required to protect, including via the penetration of our network security and the misappropriation of confidential and personal information, could result in business disruption, damage to our reputation, financial obligations to third parties, fines, penalties, regulatory proceedings and private litigation with potentially large costs, and also result in deterioration in our employees’, partners’ and clients’ confidence in us and other competitive disadvantages, and thus could have a material adverse impact on our business, financial condition and results of operations.

We depend on certain key personnel. Our future success will be largely dependent on the efforts of key management personnel for strategic and operational guidance as well as relationships with our key vendors and customers. We also believe that our future success will be largely dependent on our continued ability to attract and retain highly qualified management, sales, service, finance and technical personnel. We cannot assure you that we will be able to attract and retain such personnel. Further, we make a significant investment in the training of our sales account executives. Our inability to retain such personnel or to train them either rapidly enough to meet our expanding needs or in an effective manner for quickly changing market conditions could cause a decrease in the overall quality and efficiency of our sales staff, which, in turn, could have a material adverse effect on our business, results of operations and financial condition.

9

We may explore additional growth through acquisitions. During the current year, we completed one acquisition to expand our sales presence in the United Kingdom distribution operations and bring key vendor partner relationships to our portfolio. As part of our strategic growth plan, we may pursue the acquisition of companies that either complement or expand our existing business. As a result, we regularly evaluate potential acquisition opportunities, which may be material in size and scope. In addition to those risks to which our business and the acquired businesses are generally subject, the acquisition of these businesses gives rise to transactional and transitional risks, and the risk that the anticipated benefits will not be realized.

When the Company makes acquisitions, it may take on additional liabilities or not be able to successfully integrate such acquisitions. As part of the Company’s history and strategic growth plan, it has acquired other businesses. Acquisitions involve numerous risks, including the following:

effectively combining the acquired operations, technologies, or products;
unanticipated costs or assumed liabilities, including those associated with regulatory actions or investigations;
not realizing the anticipated financial benefit from the acquired companies;
diversion of management’s attention;
negative effects on existing customer and vendor partner relationships; and
potential loss of key employees of the acquired companies.

Further, the Company has made, and may continue to make acquisitions of, or investments in new services, businesses or technologies to expand its current service offerings and product lines. Some of these may involve risks that may differ from those traditionally associated with the Company’s core distribution business, including undertaking product or service warranty responsibilities that in its traditional core business would generally reside primarily with its vendor partners. If the Company is not successful in mitigating or insuring against such risks, it could have a material adverse effect on the Company’s business.

Our results of operations are subject to fluctuations in foreign currency. We have several foreign subsidiaries and conduct business in various countries and currencies. As result of these foreign operations, we have exposure to fluctuations in foreign currency rates resulting primarily from the translation exposure associated with the preparation of our consolidated financial statements. While our consolidated financial statements are reported in US dollars, the financial statements of our subsidiaries outside the US are prepared using the local currency as the functional currency and translated into US dollars. As a result, fluctuations in the exchange rate of the US dollar relative to the functional currencies of our subsidiaries could cause fluctuations in our results of operations. We also have foreign currency exposure to the extent net sales and purchases are not denominated in a subsidiary’s functional currency, which could have an adverse effect on our business, results of operations, or cash flows.

The Company’s non-U.S. sales represent an increasing portion of its revenues, and consequently, the company is exposed to risks associated with operating internationally. In 2022 and 2021, approximately 22% of the Company’s net sales came from its operations outside the United States. As a result of the Company’s international sales and locations, its operations are subject to a variety of risks that are specific to international operations, including the following:

import and export regulations that could erode profit margins or restrict exports;
the burden and cost of compliance with international laws, treaties, and technical standards and changes in those regulations;
potential restrictions on transfers of funds;
import and export tariffs, duties and value-added taxes;
transportation delays and interruptions;
the burden and cost of compliance with complex multi-national tax laws and regulations;
uncertainties arising from local business practices and cultural considerations;
foreign laws that potentially discriminate against companies which are headquartered outside that jurisdiction;
stringent antitrust regulations in local jurisdictions;
volatility associated with sovereign debt of certain international economies;

10

the uncertainty surrounding the implementation and effects of Brexit;
potential military conflicts and political risks; and
currency fluctuations, which the company attempts to minimize through traditional hedging instruments.

Legal and Regulatory Risks

We may be liable for misuse of our customers’ or employees’ information. Third-parties, such as hackers, could circumvent or sabotage the security practices and products used in our product and service offerings, and/or the security practices or products used in our internal IT systems, which could result in disclosure of sensitive or personal information, unauthorized procurement, or other business interruptions that could damage our reputation and disrupt our business. Attacks may range from random attempts to coordinated and targeted attacks, including sophisticated computer crime and advanced persistent threats.

As our employees continue to work on a hybrid environment, which includes splitting time between working from the office and working from home, we are highly reliant on the availability and functionality of our information systems to enable for our operations. Working from home may increase risk of data loss, including privacy-related events. If our information systems are not operational for reasons which may include cyber security attacks, data center failures, failures by telecom providers to provide services to our business and to our employees’ homes, power failures, or failures of off-premise software such as SaaS based software, our business and financial results may be adversely impacted.

If third-parties or our employees are able to maliciously penetrate our network security or otherwise misappropriate our customers’ information or employees’ personal information, or other information for which our customers may be responsible and for which we agree to be responsible in connection with service contracts into which we may enter, or if we give third-parties or our employees improper access to certain information, we could be subject to liability. This liability could include claims for unauthorized access to devices on our network; unauthorized access to our customers’ networks, hardware, applications, data, devices, or software; unauthorized purchases with credit card information; and identity theft or other similar fraud-related claims. This liability could also include claims for other misuses of or inappropriate access to personal information. Other liability could include claims alleging misrepresentation of our privacy and data security practices. Any such liability for misappropriation of this information could decrease our profitability. In addition, federal and state agencies have been investigating various companies regarding whether they misused or inadequately secured information. We could incur additional expenses when new laws or regulations regarding the use, safeguarding, or privacy of information are enacted, or if governmental agencies require us to substantially modify our privacy or security practices. We could fail to comply with international and domestic data privacy laws, the violation of which may result in audits, fines, penalties, litigation, or administrative enforcement actions with associated costs.

Our operations are subject to numerous complex federal, state, provincial, local and foreign laws and regulations in a number of areas, including labor and employment, advertising, e-commerce, tax, trade, import and export requirements, economic and trade sanctions, anti-corruption, data privacy requirements (including those under the European Union General Data Protection Regulation and the California Consumer Privacy Act), anti-competition, environmental and health and safety. The evaluation of, and compliance with these laws, regulations and similar requirements may be onerous and expensive, and these laws and regulations may have other adverse impacts on our business, results of operations or cash flows. Furthermore, these laws and regulations are evolving and may be inconsistent from jurisdiction to jurisdiction, further increasing the cost of compliance and doing business, and the risk of noncompliance.

We have implemented policies and procedures designed to help ensure compliance with applicable laws and regulations, but there can be no guarantee against coworkers, contractors or agents violating such laws and regulations or our policies and procedures. As a public company, we also are subject to increasingly complex public disclosure, corporate governance and accounting requirements that increase compliance costs and require significant management focus.

The Company may be subject to intellectual property rights claims, which are costly to defend, could require payment of damages or licensing fees and could limit the Company's ability to use certain technologies in the future. Certain of the Company's products and services include intellectual property owned primarily by the Company's third-party vendor partners. Substantial litigation and threats of litigation regarding intellectual property rights exist in the

11

software and some service industries. From time to time, third parties (including certain companies in the business of acquiring patents not for the purpose of developing technology but with the intention of aggressively seeking licensing revenue from purported infringers) may assert patent, copyright and/or other intellectual property rights to technologies that are important to the Company's business. In some cases, depending on the nature of the claim, the Company may be able to seek indemnification from its vendor partners for itself and its customers against such claims, but there is no assurance that it will be successful in obtaining such indemnification or that the Company is fully protected against such claims. Any infringement claim brought against the Company, regardless of the duration, outcome, or size of damage award, could result in substantial cost to the Company, divert management's attention and resources, be time consuming to defend, result in substantial damage awards, or cause product shipment delays.

Additionally, if an infringement claim is successful the Company may be required to pay damages or seek royalty or license arrangements, which may not be available on commercially reasonable terms. The payment of any such damages or royalties may significantly increase the Company's operating expenses and harm the Company's operating results and financial condition. Also, royalty or license arrangements may not be available at all. The Company may have to stop selling certain products or using technologies, which could affect the Company's ability to compete effectively.

Our business could be negatively affected as a result of the actions of activist shareholders. Publicly traded companies have increasingly become subject to campaigns by activist investors advocating corporate actions such as financial restructurings, increased borrowings, special dividends, stock repurchases or even sales of assets or entire companies to third parties or the activists themselves. Responding to proxy contests and other actions by activist shareholders can be costly and time-consuming, disrupt our operations and divert the attention of our Board of Directors and senior management from the pursuit of business strategies, which could adversely affect our results of operations and financial condition. Additionally, perceived uncertainties as to our future direction as a result of shareholder activism or changes to the composition of the Board of Directors may lead to the perception of a change in the direction of the business, instability or lack of continuity.  These uncertainties may be more acute or heightened when an activist seeks to change a majority of the Board of Directors or ultimately desires to acquire the Company. Additionally, actions by activist shareholders may be exploited by our competitors, cause concern to our current or potential customers, make it more difficult to attract and retain qualified personnel and may create adverse uncertainty for our employees.

The interest rate of our current credit facility is priced using LIBOR and is subject to risks associated with the transition from LIBOR to an alternative reference rate that could adversely affect our business, operating results, and financial condition. LIBOR is the basic rate of interest used in lending between banks on the London interbank market and is widely used as a reference for setting the interest rate on loans globally. We use LIBOR as a reference rate in our current credit facility. In July 2017, the U. K.’s Financial Conduct Authority, which regulates LIBOR, announced that it intends to phase out LIBOR and while the transition period for many LIBOR tenors has been extended to June 2023, the U.S. Federal Reserve advised banks to stop new LIBOR issuances. The Alternative Reference Rates Committee, a steering committee comprised of U.S. financial market participants, has identified the secured overnight financing rate, or SOFR, as the recommended alternative rate for all LIBOR. At this time, it is not possible to predict how markets will respond to SOFR or other alternative reference rates as the transition away from the LIBOR benchmarks is anticipated in coming years. Accordingly, the outcome of these reforms is uncertain and any changes in the methods by which LIBOR is determined or regulatory activity related to LIBOR’s phaseout could cause LIBOR to perform differently than in the past or cease to exist. The consequences of these developments cannot be entirely predicted, but could include an increase in the cost of our borrowings under the current credit facility.  Further, the consequences of these developments, or any alternative reference rate that is adopted, cannot be entirely predicted but could include an increase in the cost of our variable rate debt, which could adversely impact our interest expense, results of operations and cash flows.

12

Changes in accounting rules, or the misapplication of current accounting rules, may adversely affect our future financial results. We prepare our financial statements in conformity with accounting principles generally accepted in the U.S. These accounting principles are subject to interpretation by the Financial Accounting Standards Board, the Public Company Accounting Oversight Board, the SEC, the American Institute of Certified Public Accountants (“AICPA”) and various other bodies formed to interpret and create appropriate accounting policies. Future periodic assessments required by current or new accounting standards may result in noncash charges and/or changes in presentation or disclosure. In addition, any change in accounting standards may influence our customers’ decision to purchase from us or finance transactions with us, which could have a significant adverse effect on our financial position or results of operations.

We are required to determine if we are the principal or agent in all transactions with our customers. The voluminous number of products and services we sell, and the manner in which they are bundled, are technologically complex. Mischaracterization of these products and services could result in misapplication of revenue recognition polices. We use estimates where necessary, such as allowance for doubtful accounts and product returns, which require judgment and are based on best available information. If we are unable to accurately estimate the cost of these services or the timeline for completion of contracts, the profitability of our contracts may be materially and adversely affected.

Financial Risks and Market Risks

Our quarterly financial results may fluctuate, which could lead to volatility in our stock price. Our revenue and operating results have fluctuated from quarter to quarter in the past and may continue to do so in the future. As a result, you should not rely on quarter-to-quarter comparisons of our operating results as an indication of our future performance. Fluctuations in our revenue and operating results could negatively affect the trading price of our stock. In addition, our revenue and results of operations may, in the future, be below the expectations of analysts and investors, which could cause our stock price to decline. Factors that are likely to cause our revenue and operating results to fluctuate include the risk factors discussed throughout this section.

The Company’s goodwill and identifiable intangible assets could become impaired, which could reduce the value of its assets and reduce its net income in the year in which the write-off occurs. Goodwill represents the excess of the cost of an acquisition over the fair value of the assets acquired. The Company also ascribes value to certain identifiable intangible assets, which consist primarily of customer relationships and trade names, among others, as a result of acquisitions. The Company may incur impairment charges on goodwill or identifiable intangible assets if it determines that the fair values of the goodwill or identifiable intangible assets are less than their current carrying values. The Company evaluates, on a regular basis, whether events or circumstances have occurred that indicate all, or a portion, of the carrying amount of goodwill or identifiable intangible assets may no longer be recoverable, in which case an impairment charge to earnings would become necessary.

A decline in general economic conditions, a substantial increase in market interest rates, and increase in income tax rates, or the company’s inability to meet long-term working capital or operating income projections could impact future valuations of the Company’s reporting units, and the company could be required to record an impairment charge in the future, which could impact the company’s consolidated balance sheets, as well as the Company’s consolidated statements of operations.

The inability to obtain financing on favorable terms will adversely impact our business, financial position and results of operations. Our business requires working capital to operate and to finance accounts receivable and product inventory that are not financed by trade creditors. We have historically relied upon cash generated from operations, revolving credit facilities and trade credit from our vendors to satisfy our capital needs and finance growth. As the financial markets change, the cost of acquiring financing and the methods of financing may change. Changes in our credit rating or other market factors may increase our interest expense or other costs of capital, or capital may not be available to us on competitive terms to fund our working capital needs. 

We may not be able to continue to pay dividends on our Common Stock in the future, which could impair the value of our Common Stock. We have paid a quarterly dividend on our Common Stock since the first quarter of 2003. Any future declaration of dividends remains subject to further determination from time to time by our Board of Directors.

13

Our ability to pay dividends in the future will depend on our financial results, liquidity and financial condition. There is no assurance that we will be able to pay dividends in the future, or if we are able to, that our Board of Directors will continue to declare dividends in the future, at current rates or at all. If we discontinue or reduce the amount or frequency of dividends, the value of our Common Stock may be impaired.

Risks related to our Common Stock. The exercise of options or any other issuance of shares by us may dilute your ownership of our Common Stock. Trading volume in our Common Stock varies significantly based on a number of factors, which may be exacerbated by our repurchases of our Common Stock. As a result of the potentially low volume trading market for our stock, its market price may fluctuate significantly more than the stock market as a whole or of the stock prices of similar companies. Without a larger float, our Common Stock will be less liquid than the stock of companies with broader public ownership, and, as a result, the trading prices for our Common Stock may be more volatile. Among other things, trading of a relatively small volume of our Common Stock may have a greater impact on the trading price of our stock than would be the case if our public float were larger.

Our Common Stock is listed on The NASDAQ Global Market tier of the Nasdaq Stock Market, and we therefore are subject to continued listing requirements, including requirements with respect to the market value and number of publicly-held shares, number of stockholders, minimum bid price, number of market makers and either (i) stockholders’ equity or (ii) total market value of stock, total assets and total revenues. If we fail to satisfy one or more of the requirements, we may be delisted from The NASDAQ Global Market. If we do not qualify for listing on The NASDAQ Capital Market, and if we are not able to list our Common Stock on another exchange, our Common Stock could be quoted on the OTC Bulletin Board or on the “pink sheets”. As a result, we could face significant adverse consequences including, among others, a limited availability of market quotations for our securities and a decreased ability to issue additional securities or obtain additional financing in the future.

General Risk Factors

Global and regional economic and political conditions may have an adverse impact on our business. Weak economic conditions generally, sustained uncertainty about global economic and political conditions, government spending cuts and the impact of new government policies, or a tightening of credit markets, could cause our customers and potential customers to postpone or reduce spending on technology products or services or put downward pressure on prices, which could have an adverse effect on our business, results of operations or cash flows. For example, there continues to be substantial uncertainty regarding the economic impact of the UK's exit from the European Union ("EU"), referred to as "Brexit". The UK formally withdrew from EU membership on January 31, 2020 and commenced a transition period during which the trading relationship between the UK and the EU will remain the same and the UK and EU will begin negotiations to determine their future relationship. Although the full effects of Brexit are uncertain and will be dependent on the outcome of such negotiations, potential adverse consequences of Brexit include global market uncertainty, volatility in currency exchange rates, greater restrictions on imports and exports between the UK and other countries, and increased regulatory complexities, each of which could have a negative impact on our business, financial condition or results of operations. These effects may be amplified if the UK and the EU fail to agree on a future trade relationship, which could result in significant market and economic disruption. We have established a presence in the Netherlands to help address future developments, as needed, for Brexit, which could add complexity to our European operations as well as result in higher costs associated with serving our customers following the transition period.

General economic weakness may reduce our revenues and profits. Generally, economic downturns, may cause some of our current and potential customers to delay or reduce technology purchases, resulting in longer sales cycles, slower adoption of new technologies and increased price competition. We may, therefore, experience a greater decline in demand for the products we sell, resulting in increased competition and pressure to reduce the cost of operations. Any benefits from cost reductions may take longer to realize and may not fully mitigate the impact of the reduced demand. In addition, weak financial and credit markets heighten the risk of customer bankruptcies and create a corresponding delay in collecting receivables from those customers and may also affect our vendors’ ability to supply products, which could disrupt our operations. The realization of any or all these risks could have a material adverse effect on our business, results of operations and financial condition.

14

If the Company fails to maintain an effective system of internal controls or discovers material weaknesses in its internal controls over financial reporting, it may not be able to report its financial results accurately or timely or detect fraud, which could have a material adverse effect on its business. An effective internal control environment is necessary for the Company to produce reliable financial reports and is an important part of its effort to prevent financial fraud. The Company is required to annually evaluate the effectiveness of the design and operation of its internal controls over financial reporting. Based on these evaluations, the Company may conclude that enhancements, modifications, or changes to internal controls are necessary or desirable. While management evaluates the effectiveness of the Company's internal controls on a regular basis, these controls may not always be effective. There are inherent limitations on the effectiveness of internal controls, including collusion, management override, and failure in human judgment. In addition, control procedures are designed to reduce rather than eliminate financial statement risk. If the Company fails to maintain an effective system of internal controls, or if management or the Company's independent registered public accounting firm discovers material weaknesses in the Company's internal controls, it may be unable to produce reliable financial reports or prevent fraud, which could have a material adverse effect on the Company's business. In addition, the Company may be subject to sanctions or investigation by regulatory authorities, such as the SEC or the NASDAQ. Any such actions could result in an adverse reaction in the financial markets due to a loss of confidence in the reliability of the Company's financial statements, which could cause the market price of its Common Stock to decline or limit the Company's access to capital.

Changes in income tax and other regulatory legislation. We operate in compliance with applicable laws and regulations and make plans for our structure and operations based upon existing laws and anticipated future changes in the law. When new legislation is enacted with minimal advance notice, or when new interpretations or applications of existing laws are made, we may need to implement changes in our policies or structure. We are susceptible to unanticipated changes in legislation, especially relating to income and other taxes, import/export laws, hazardous materials and other laws related to trade, accounting and business activities. Such changes in legislation may have an adverse effect on our business.

We may be subject to litigation. We may be subject to legal claims or regulatory matters involving stockholder, consumer, antitrust, intellectual property and other issues. Litigation is subject to inherent uncertainties, and unfavorable rulings could occur. An unfavorable ruling could include monetary damages or other adverse effects. Were an unfavorable ruling to occur, there exists the possibility of a material adverse impact on our business, financial position and results of operations for the period in which the ruling occurred or future periods.

Item 1B. Unresolved Staff Comments

Not applicable.

Item 2. Properties

The Company leases approximately 20,000 square feet of space in Eatontown, New Jersey for its corporate headquarters under a lease expiring in April 2027. Total annual rent expense for this premise is approximately $460,000. The Company subleases approximately 7,165 square feet of this space under a sublease expiring in April 2027. Total annual sublease income for this space is approximately $150,000.

The Company also leases 7,800 square feet of warehouse space in Eatontown, New Jersey under a lease expiring in December 2023. Total annual rent expense for such warehouse space is approximately $64,000. The Company also subleases a satellite office in Maryland. Total annual rent expense for the satellite office is approximately $30,000. The Company also leases office space in the United Kingdom under a lease expiring in April 2026. Total annual rent expense for this premise is approximately $65,000.

We believe that each of the properties is in good operating condition and that such properties are adequate for the operation of the Company’s business as currently conducted. We also rent smaller satellite offices on a short-term basis.

15

Item 3. Legal Proceedings

We are involved from time to time in routine legal matters and other claims incidental to our business. We review outstanding claims and proceedings internally and with external counsel as necessary to assess probability and amount of potential loss. There are no material legal proceedings to which the Company or any of its subsidiaries is a party or of which any of their property is the subject.

Item 4. Mine Safety Disclosures

Not applicable.

PART II

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

Market Information

Shares of our Common Stock, par value $0.01, trade on The Nasdaq Global Market tier of The Nasdaq Stock Marker under the symbol “CLMB”.

Dividends

In each of 2022 and 2021, we declared dividends totaling $0.68 per share on our Common Stock.  The payment of future dividends is at the discretion of our Board of Directors and will depend upon future earnings, results of operations, capital requirements, our financial condition, contractual restrictions, including the terms of the agreements governing our debt and any future indebtedness we may incur and other relevant factors and other factors the Board of Directors may find relevant. There can be no assurance that we will continue to pay comparable cash dividends in the future.

Shareholder Information

As of February 9, 2023, there were approximately 19 record holders of our Common Stock. This figure does not include an estimate of the number of beneficial holders whose shares are held of record by banks, broker or other nominees.

16

Purchases of Equity Securities

During the fourth quarter of 2022, we repurchased shares of our Common Stock as follows:

    

    

    

    

    

Maximum

 

Number of

 

Total Number

Shares That

 

of Shares

May Yet Be

 

Purchased as

Purchased

Total

Average

Part of Publicly

Under the

 

Number

Price Paid

Announced

Average

 Plans or

 

of Shares

Per Share

Plans or

Price Paid

Programs

 

Period

Purchased

(2)

Programs

Per Share

(3)

 

October 1, 2022 - October 31, 2022

 

$

 

$

 

545,786

November 1, 2022 - November 30, 2022

 

4,321

(1)

$

31.13

 

$

545,786

December 1, 2022 - December 31, 2022

 

$

 

$

 

545,786

Total

 

4,321

$

31.13

 

$

 

545,786

(1)Represents 4,321 shares surrendered to the Company by employees to satisfy individual tax withholding obligations upon vesting of previously issued shares of Restricted Stock. These shares are not included in the Common Stock repurchase program referred to in footnote (3) below.

(2)Average price paid per share reflects the closing price of the Company’s Common Stock on the business date the shares were surrendered by the employee stockholder to satisfy individual tax withholding obligations upon vesting of Restricted Stock or the price of the Common Stock paid on the open market purchase, as applicable.

(3)On December 3, 2014, the Board of Directors of the Company approved an increase of 500,000 shares of Common Stock to the number of shares of Common Stock available for repurchase under its repurchase plans. On February 2, 2017, the Board of Directors of the Company approved an increase of 500,000 shares of Common Stock to the number of shares of Common Stock available for repurchase under its repurchase plans. The Company expects to purchase shares of its Common Stock from time to time in the market or otherwise subject to market conditions. The Common Stock repurchase program does not have an expiration date.

Item 6. [Reserved]

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

The following management’s discussion and analysis of the Company’s financial condition and results of operations should be read in conjunction with the Company’s Consolidated Financial Statements and the Notes thereto.  This discussion and analysis contains, in addition to historical information, forward-looking statements that involve risks and uncertainties. Our actual results may differ materially from those anticipated in these forward-looking statements as a result of certain risks and uncertainties, including those set forth under the heading “Risk Factors” and elsewhere in this Annual Report.

Overview

Our Company is a value added IT distribution and solutions company, primarily selling software and other third-party IT products and services through two reportable operating segments. Through our “Distribution” segment we sell products and services to corporate resellers, value added resellers (VARs), consultants and systems integrators worldwide,

17

who in turn sell these products to end users. Through our “Solutions” segment we act as a cloud solutions provider and value-added reseller, selling computer software and hardware developed by others and provide technical services directly to end user customers worldwide. We offer an extensive line of products from leading software vendors and tools for virtualization/cloud computing, security, networking, storage and infrastructure management, application lifecycle management and other technically sophisticated domains as well as computer hardware. We market these products through creative marketing communications, including our web sites, local and on-line seminars, webinars, social media, direct e-mail, and printed materials.

We have subsidiaries in the United States, Canada, Netherlands, United Kingdom and Ireland, through which sales are made.

Name Change of Wayside Technology Group, Inc. to Climb Global Solutions, Inc.

On October 31, 2022, the Company, formerly known as “Wayside Technology Group, Inc.”, amended its organizational documents to change its name to “Climb Global Solutions, Inc.”

Factors Influencing Our Financial Results

We derive most of our net sales though the sale of third-party software licenses, maintenance and service agreements. In our Distribution segment, sales are impacted by the number of product lines we distribute, and sales penetration of those products into the reseller channel, product lifecycle competitive, and demand characteristics of the products which we are authorized to distribute. In our Solutions segment sales are generally driven by sales force effectiveness and success in providing superior customer service and cloud solutions support, competitive pricing, and flexible payment solutions to our customers. Our sales are also impacted by external factors such as levels of IT spending and customer demand for products we distribute.

We sell in a competitive environment where gross product margins have historically declined due to competition and changes in product mix towards products where no delivery of a physical product is required. In addition, we grant discounts, allowances, and rebates to certain customers, which may vary from period to period, based on volume, payment terms and other criteria. To date, we have been able to implement cost efficiencies such as the use of drop shipments, electronic ordering (“EDI”) and other capabilities to be able to operate our business profitably as gross margins have declined. We evaluate the profitability of our business based on return on equity and effective margin (see discussion below).

Gross profit is calculated as net sales less cost of sales. We record customer rebates, discounts and returns as a component of net sales and record vendor rebates, discounts and returns as a component of cost of sales.

Selling, general and administrative expenses are comprised mainly of employee salaries, commissions and other employee related expenses, facility costs, costs to maintain our IT infrastructure, public company compliance costs and professional fees. We monitor our level of accounts payable, inventory turnover and accounts receivable turnover which are measures of how efficiently we utilize capital in our business.

The Company’s sales, gross profit and results of operations have fluctuated and are expected to continue to fluctuate on a quarterly basis as a result of a number of factors, including but not limited to: the condition of the software industry in general, shifts in demand for software products, pricing, industry shipments of new software products or upgrades, fluctuations in merchandise returns, adverse weather conditions that affect response, distribution or shipping, shifts in the timing of holidays and changes in the Company’s product offerings. The Company’s operating expenditures are based on sales forecasts. If sales do not meet expectations in any given quarter, operating results may be materially adversely affected.

Dividend Policy and Share Repurchase Program. Historically we have sought to return value to investors through the payment of quarterly dividends and share repurchases. Total dividends paid and the dollar value of shares repurchased were $3.0 million and $0.7 million for the year ended December 31, 2022, respectively, and $3.0 million and $0.5 million for the year ended December 31, 2021, respectively. The payment of future dividends and any share repurchases are at the

18

discretion of our Board of Directors and dependent on results of operations, projected capital requirements and other factors the Board of Directors may find relevant.

Stock Volatility. The technology, distribution and services sectors of the United States stock markets is subject to substantial volatility. Numerous conditions which impact these sectors or the stock market in general or the Company in particular, whether or not such events relate to or reflect upon the Company’s operating performance, could adversely affect the market price of the Company’s Common Stock. Furthermore, fluctuations in the Company’s operating results, announcements regarding litigation, the loss of a significant vendor partner or customer, increased competition, reduced vendor incentives and trade credit, higher operating expenses, and other developments, could have a significant impact on the market price of our Common Stock.

Inflation. We have historically not been adversely affected by inflation, as abrupt changes in technology, rapid changes in customer preferences, short product life cycles and evolving industry standards within the IT industry have generally caused the prices of the products we sell to decline. This requires us to sell new products and have growth in unit sales of existing products in order to increase our net sales. We believe that most price increases could be passed on to our customers, as prices charged by us are not set by long-term contracts; however, as a result of competitive pressure, there can be no assurance that the full effect of any such price increases could be passed on to our customers or cause a reduction in our customers spending.

Financial Overview

Net sales increased 8%, or $21.7 million, to $304.3 million for the year ended December 31, 2022, compared to $282.6 million for the same period in 2021. Gross profit increased 18%, or $8.4 million, to $54.1 million for the year ended December 31, 2022, compared to $45.7 million for the same period in 2021. Selling, general and administrative (“SG&A”) expenses increased 6%, or $2.0 million, to $34.1 million for the year ended December 31, 2022, compared to $32.1 million for the same period in 2021. Acquisition related costs for the year ended December 31, 2022 were $0.6 million compared to no expense for the same period in 2021. Amortization and depreciation expense increased $0.6 million to $2.1 million for the year ended December 31, 2022 compared to $1.5 million for the same period in the prior year. Net income increased 36%, or $3.3 million, to $12.5 million for the year ended December 31, 2022 compared to $9.2 million for the same period in 2021. Income per diluted share increased 34%, or $0.72, to $2.81 for the year ended December 31, 2022 compared to $2.09 for the same period in 2021.

Critical Accounting Policies and Estimates

Management’s discussion and analysis of the Company’s financial condition and results of operations are based upon the Company’s Consolidated Financial Statements that have been prepared in accordance with generally accepted accounting principles in the United States of America (“US GAAP”). The preparation of these financial statements requires the Company to make estimates and judgments that affect the reported amounts of assets, liabilities, revenues and expenses, and related disclosure of contingent assets and liabilities.

On an on-going basis, the Company evaluates its estimates, including those related to product returns, bad debts, inventories, investments, intangible assets, income taxes, stock-based compensation, contingencies and litigation.

The Company bases its estimates on historical experience and on various other assumptions that are believed to be reasonable under the circumstances, the results of which form the basis for making judgments about the carrying values of assets and liabilities that are not readily apparent from other sources. Actual results may differ from these estimates.

The Company believes the following critical accounting policies and estimates used in the preparation of its Consolidated Financial Statements affect its more significant judgments and estimates.

Revenue

The Company utilizes judgment regarding performance obligations inherent in the products for services it sells including, whether ongoing maintenance obligations performed by third party vendors are distinct from the related

19

software licenses, and allocation of sales prices among distinct performance obligations. These estimates require significant judgment to determine whether the software’s functionality is dependent on ongoing maintenance or if substantially all functionality is available in the original software download. We also use judgment in the allocation of sales proceeds among performance obligations, utilizing observable data such as stand-alone selling prices, or market pricing for similar products and services.

Allowances for Accounts Receivable

The Company maintains allowances for doubtful accounts for estimated losses resulting from the inability of its customers to make required payments. Management determines the estimate of the allowance for uncollectible accounts receivable by considering a number of factors, including historical experience, aging of the accounts receivable, and specific information obtained by the Company on the financial condition and the current creditworthiness of its customers. If the financial condition of the Company’s customers were to deteriorate, resulting in an impairment of their ability to make payments, additional allowances may be required. At the time of sale, we record an estimate for sales returns based on historical experience, which is included in accounts payable and accrued expenses on the Consolidated Balance Sheets. If actual sales returns are greater than estimated by management, additional expense may be incurred.

Accounts Receivable – Long Term

The Company’s accounts receivable long-term are discounted to their present value at prevailing market rates at the time of sale. In doing so, the Company considers competitive market rates and other relevant factors.

Inventory Allowances

The Company writes down its inventory for estimated obsolescence or unmarketable inventory equal to the difference between the cost of inventory and the estimated market value based upon assumptions about future demand and market conditions. If actual market conditions are less favorable than those projected by management, additional inventory write-offs may be required.

Business Combinations

The Company accounts for business combinations using the acquisition method of accounting, which allocates the fair value of the purchase consideration to the tangible and intangible assets acquired and liabilities assumed based on their estimated fair values. The excess of the purchase consideration over the fair values of these identifiable assets and liabilities is recorded as goodwill. When determining the fair values of assets acquired and liabilities assumed, management makes significant estimates and assumptions. The Company may utilize third-party valuation specialists to assist the Company in the allocation. Initial purchase price allocations are subject to revision within the measurement period, not to exceed one year from the date of acquisition. Acquisition-related expenses and transaction costs associated with business combinations are expensed as incurred.

Goodwill

We test goodwill for impairment on an annual basis and between annual tests if an event occurs, or circumstances change, that would more likely than not reduce the fair value of a reporting unit below its carrying amount. The Company performs an evaluation of goodwill, utilizing either a qualitative or quantitative impairment test. The annual test for impairment is conducted as of October 1. The Company’s reporting units included in the assessment of potential goodwill impairment are the same as its operating segments. Goodwill is not amortized but is subject to periodic testing for impairment at the reporting unit level.

In a qualitative assessment, we assess qualitative factors to determine whether it is more likely than not (that is, a likelihood of more than 50 percent) that the fair value of a reporting unit is less than its carrying amount, including goodwill. If, after assessing the totality of events or circumstances, we determine that it is not more likely than not that the fair value of a reporting unit is less than its carrying amount, then the quantitative goodwill impairment test is unnecessary.

20

If, after assessing the totality of events or circumstances, we determine that it is more likely than not that the fair value of a reporting unit is less than its carrying amount, then we perform the quantitative goodwill impairment test. We may also elect the unconditional option to bypass the qualitative assessment for any reporting unit in any period and proceed directly to performing the quantitative goodwill impairment test.

In the quantitative impairment test, we compare the fair value of a reporting unit with its carrying amount, including goodwill. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered not impaired. Conversely, if the carrying amount of a reporting unit exceeds its fair value, an impairment loss shall be recognized in an amount equal to that excess, limited to the total amount of goodwill allocated to that reporting unit.

Determining the fair value of a reporting unit is judgmental in nature and requires the use of significant estimates and assumptions, including net sales growth rates, gross profit margins, operating margins, discount rates and future market conditions, among others. Any changes in the judgments, estimates or assumptions used could produce significantly different results.

Intangible Assets

Intangible assets with determinable lives are amortized on a straight-line basis over their respective estimated useful lives, which is determined based on their expected period of benefit. Intangible assets are reviewed for impairment when events or changes in circumstances indicate that the carrying amount of such assets may not be recoverable. Determination of recoverability is based on an estimate of undiscounted future cash flows resulting from the use of the asset and its eventual disposition. If the carrying amount of an asset exceeds its estimated future undiscounted cash flows, an impairment loss is recorded for the excess of the asset's carrying amount over its fair value. In addition, each quarter, the Company evaluates whether events and circumstances warrant a revision to the remaining estimated useful life of each of these intangible assets. If the Company were to determine that a change to the remaining estimated useful life of an intangible asset was necessary, then the remaining carrying amount of the intangible asset would be amortized prospectively over that revised remaining useful life.

Income Taxes

The Company has considered future taxable income and ongoing prudent and feasible tax planning strategies in assessing the need for the valuation allowance related to deferred tax assets. In the event the Company were to determine that it would not be able to realize all or part of its net deferred tax assets in the future, an adjustment to the deferred tax assets would be charged to income in the period such determination was made.

Share-Based Payments

Under the fair value recognition provision, stock-based compensation cost is measured at the grant date based on the fair value of the award and is recognized as expense on a straight-line basis over the requisite service period. We make certain assumptions in order to value and expense our various share-based payment awards. In connection with our restricted stock programs we record the forfeitures when they occur. We review our valuation assumptions periodically and, as a result, we may change our valuation assumptions used to value stock-based awards granted in future periods. Such changes may lead to a significant change in the expense we recognize in connection with share-based payments.

21

Foreign Exchange

The Company’s foreign currency exposure relates primarily to international transactions where the currency collected from customers can be different from the currency used to purchase the product. In cases where the Company is not able to create a natural hedge by maintaining offsetting asset and liability amounts in the same currency, it may enter into foreign exchange contracts, typically in the form of forward purchase agreements, to facilitate the hedging of foreign currency exposures to mitigate the impact of changes in foreign currency exchange rates. These contracts generally have terms of no more than two months. The Company does not apply hedge accounting to these contracts and therefore the changes in fair value are recorded in earnings. The Company does not enter into foreign exchange contracts for trading purposes and the risk of loss on a foreign exchange contract is the risk of nonperformance by the counterparties, which the Company minimizes by limiting its counterparties to major financial institutions.

Recently Issued Accounting Pronouncements

In June 2016, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update No. 2016-13, “Financial Instruments - Credit Losses (Topic 326)” ("ASU 2016-13"). ASU 2016-13 revises the methodology for measuring credit losses on financial instruments and the timing of when such losses are recorded. Originally, ASU 2016-13 was effective for fiscal years, and for interim periods within those fiscal years, beginning after December 15, 2019, with early adoption permitted. In November 2019, FASB issued ASU 2019-10, “Financial Instruments – Credit Losses (Topic 326), Derivatives and Hedging (Topic 815), and Leases (Topic 842).”  This ASU defers the effective date of ASU 2016-13 for public companies that are considered smaller reporting companies as defined by the SEC to fiscal years beginning after December 15, 2022, including interim periods within those fiscal years. Effective January 1, 2023, the company will adopt the update using a modified retrospective approach with a cumulative-effect adjustment to retained earnings. The new credit loss standard is not expected to have a material effect on our financial position, results of operations or cash flows.

Results of Operations

The following table sets forth for the years indicated the percentage of net sales represented by selected items reflected in the Company’s Consolidated Statements of Earnings. The year-to-year comparison of financial results is not necessarily indicative of future results:

Year ended

December 31,

    

2022

    

2021

    

Net sales

 

100

%  

100

%  

Cost of sales

 

82.2

83.8

Gross profit

 

17.8

16.2

Selling, general and administrative expenses

 

11.2

11.4

Acquisition related costs

0.2

Amortization and depreciation expense

0.7

0.5

Income from operations

 

5.7

4.3

Other income (expense)

 

(0.3)

0.1

Income before income taxes

 

5.4

4.4

Income tax provision

 

1.3

1.1

Net income

 

4.1

%  

3.3

%  

Non-GAAP Financial Measures

Our management monitors several financial and non-financial measures and ratios on a regular basis in order to track the progress of our business. We believe that the most important of these measures and ratios include net sales, adjusted gross billings, gross profit, net income, net income excluding separation expenses, net of taxes, adjusted EBITDA, gross profit as a percentage of adjusted gross billings and adjusted EBITDA as a percentage of gross profit. We use a variety of operating and other information to evaluate the operating performance of our business, develop financial

22

forecasts, make strategic decisions, and prepare and approve annual budgets. These key indicators include financial information that is prepared in accordance with US GAAP and presented in our Consolidated Financial Statements as well as non-US GAAP performance measurement tools.

Year ended

December 31,

December 31,

Reconciliation of net sales to adjusted gross billings (Non-GAAP):

2022

2021

Net sales

$

304,348

$

282,582

Costs of sales related to sales where the Company is an agent

760,310

652,396

Adjusted gross billings

$

1,064,658

$

934,978

We define adjusted gross billings as net sales in accordance with US GAAP, adjusted for the cost of sales related to sales where the Company is an agent. We provided a reconciliation of adjusted gross billings to net sales, which is the most directly comparable US GAAP measure. We use adjusted gross billings of product and services as a supplemental measure of our performance to gain insight into the volume of business generated by our business, and to analyze the changes to our accounts receivable and accounts payable. Our use of adjusted gross billings of product and services as analytical tools has limitations, and you should not consider them in isolation or as substitutes for analysis of our financial results as reported under US GAAP. In addition, other companies, including companies in our industry, might calculate adjusted gross billings of product and services or similarly titled measures differently, which may reduce their usefulness as comparative measures.

Year ended

December 31,

December 31,

Net income reconciled to adjusted EBITDA:

2022

    

2021

Net income

$

12,497

$

9,198

Provision for income taxes

4,035

3,166

Amortization and depreciation

2,054

1,529

Interest expense

71

68

EBITDA

18,657

13,961

Share-based compensation

1,897

1,546

Acquisition related costs

582

-

Adjusted EBITDA

$

21,136

$

15,507

We define adjusted EBITDA, as net income, plus provision for income taxes, depreciation, amortization, share-based compensation, interest, and acquisition related costs. We define effective margin as adjusted EBITDA as a percentage of gross profit. We provided a reconciliation of adjusted EBITDA to net income, which is the most directly comparable US GAAP measure. We use adjusted EBITDA as a supplemental measure of our performance to gain insight into our businesses profitability when compared to the prior year and our competitors. Adjusted EBITDA is also a component to our financial covenants in our credit facility. Our use of adjusted EBITDA has limitations, and you should not consider it in isolation or as a substitute for analysis of our financial results as reported under US GAAP. In addition, other companies, including companies in our industry, might calculate adjusted EBITDA, or similarly titled measures differently, which may reduce their usefulness as comparative measures.

23

Key Financial Metrics

Year ended

December 31,

December 31,

2022

2021

Net sales

$

304,348

$

282,582

Adjusted gross billings (Non-GAAP)

$

1,064,658

$

934,978

Gross profit

$

54,094

$

45,716

Gross profit - Distribution

$

44,970

$

36,526

Gross profit - Solutions

$

9,124

$

9,190

Adjusted EBITDA (Non-GAAP)

$

21,136

$

15,507

Gross margin % - Adjusted gross billings (Non-GAAP)

5.1%

4.9%

Effective margin % - Adjusted EBITDA (Non-GAAP)

39.1%

33.9%

We consider gross profit growth and effective margin to be key metrics in evaluating our business. During the year ended December 31, 2022, gross profit increased 18%, or $8.4 million, to $54.1 million compared to $45.7 million for the same period in 2021 while effective margin increased 520 basis points to 39.1% compared to 33.9% for the same period in 2021.

Year Ended December 31, 2022 Compared to Year Ended December 31, 2021

Acquisition

On August 18, 2022, we completed the acquisition of Spinnakar  for an aggregate purchase price of approximately £9.8 million (equivalent to $11.8 million USD), subject to certain working capital and other adjustments, paid at closing plus a potential post-closing earn-out. The operating results of Spinnakar are included in our operating results from the date of acquisition.

The Company recorded net revenue for Spinnakar of approximately $6.0 million and net income of approximately $0.4 million during the year ended December 31, 2022.

Net Sales

Net sales for the year ended December 31, 2022 increased 8%, or $21.7 million, to $304.3 million compared to $282.6 million for the same period in 2021.

Adjusted gross billings, a non-GAAP financial measure, for the year ended December 31, 2022 increased 14%, or $129.7 million, to $1,064.7 million compared to $935.0 million for the same period in 2021.

Net sales in our Distribution segment for the year ended December 31, 2022 increased 9%, or $23.1 million, to $282.5 million compared to $259.4 million for the same period in the prior year. Adjusted gross billings for the Distribution segment for the year ended December 31, 2022 increased 15%, or $126.5 million, to $998.8 million compared to $872.3 million for the same period in 2021. Net sales and adjusted gross billings increased due to organic growth at our existing vendor lines as well as the impact of the Spinnakar acquisition in the current year. Adjusted gross billings increased at a greater rate than net sales due to differences in the product mix between the two periods and an unfavorable impact of foreign exchange rates.

Net sales in our Solutions segment for the year ended December 31, 2022 decreased 6%, or $1.4 million, to $21.8 million compared to $23.2 million for the prior year.  Adjusted gross billings for the Solutions segment for the year ended

24

December 31, 2022 increased 5%, or $3.2 million, to $65.9 million compared to $62.7 million for the same period in 2021. Adjusted gross billings increased while net sales decreased due to differences in the product mix between the two periods.

During the year ended December 31, 2022, we relied on two key customers for a total of 37% of our total net sales. One major customer accounted for 21% and the other for 16%, of our total net sales during the year ended December 31, 2022. These same customers accounted for 16% and 18%, of total net accounts receivable as of December 31, 2022.

Gross Profit

Gross profit for the year ended December 31, 2022 increased 18%, or $8.4 million, to $54.1 million compared to $45.7 million for the same period in 2021.

Distribution segment gross profit for the year ended December 31, 2022 increased 23%, or $8.5 million, to $45.0 million compared to $36.5 million for the same period in 2021. The increase in Distribution segment gross profit resulted primarily from the organic growth at our existing vendor lines, impact of Spinnakar since the date of acquisition, lower early pay discounts and other rebates and discounts offered to our customers as a percentage of adjusted gross billings and increased rebates and discounts from our vendor partners.

Solutions segment gross profit for the year ended December 31, 2022, decreased 1%, or $0.1 million, to $9.1 million compared to $9.2 million for the same period in 2021.

Customer rebates and discounts for the year ended December 31, 2022 were $8.8 million compared to $8.7 million for the same period in the prior year. As a percentage of adjusted gross billings, customer rebates and discounts decreased during the year ended December 31, 2022, compared to the same period in the prior year. Customer rebates and discounts vary based on terms of rebate and early pay discount programs offered to customers and timing of payments ultimately received from our customers.

Vendor rebates and discounts for the year ended December 31, 2022, were $6.1 million compared to $4.5 million for the same period in the prior year. As a percentage of adjusted gross billings, vendor rebates and discounts also increased during the year ended December 31, 2022 compared to the same period in the prior year. Vendor rebates are dependent on programs offered by our vendors and in some cases reaching certain volume targets set by our vendors or meeting certain early payment programs offered by our vendors. The Company monitors vendor rebate levels, competitive pricing, and gross profit margins carefully. We anticipate that price competition in our market will continue in both of our business segments.

Selling, General and Administrative Expenses

SG&A expenses for the year ended December 31, 2022, increased 6%, or $2.0 million, to $34.1 million, compared to $32.1 million for the same period in the prior year. The increase was primarily driven by higher payroll and related costs consistent with higher gross profit, including the impact of the Spinnakar acquisition. SG&A expenses were 3.5% of adjusted gross billings, a non-GAAP financial measure, for the year ended December 31, 2022, compared to 3.4% for the same period in the prior year.

The Company expects that its SG&A expenses, as a percentage of adjusted gross billings, a non-GAAP financial measure, may vary depending on changes in sales volume, as well as the levels of continuing investments in key growth initiatives. We plan to continue to expand our investment in information technology to support the growth of our business.

Acquisition Related Costs

Acquisition related costs for the year ended December 31, 2022 were $0.6 million compared to no expense for the same period in the prior year. These expenses relate to costs incurred in conjunction with the acquisition of Spinnakar.

25

Foreign Currency Transaction Loss

Foreign currency transaction loss for the year ended December 31, 2022 was $0.9 million compared to a foreign currency transaction loss of $0.1 million for the same period in the prior year. These expenses primarily relate to the change in the value of accounts payable and other monetary assets and liabilities denominated in currencies other than their functional currency between the date of origination and settlement.

Income Taxes

For the year ended December 31, 2022, the Company recorded a provision for income taxes of $4.0 million, or 24.4% of income before taxes, compared to $3.2 million, or 25.6% of income before taxes for the same period in the prior year.  The provision for income taxes in the prior year was impacted by a deferred tax adjustment due to an increase in the corporate tax rate in a foreign jurisdiction the Company operates in that will impact the rate at which deferred taxes are reversed in future periods.

Liquidity and Capital Resources

Our cash and cash equivalents decreased by $9.1 million to $20.2 million at December 31, 2022 compared to $29.3 million at December 31, 2021. Cash and cash equivalents decreasing was primarily the result of $4.5 million of cash and cash equivalents provided by operating activities, offset by $8.5 million payment for the Spinnakar acquisition, $2.5 million of cash used in other investing activities, $1.8 million of cash used in financing activities and $0.7 million negative impact of foreign exchange rates on cash and cash equivalents. 

Net cash provided by operating activities for the year ended December 31, 2022 was $4.6 million, comprised of net income adjusted for non-cash items of $16.3 million offset by changes in operating assets and liabilities of $11.8 million.

Net cash and cash equivalents used in investing activities during the year ended December 31, 2022 was $11.0 million, comprised of $2.5 million of purchases of fixed assets and $8.5 million payment for the Spinnakar acquisition, net of cash acquired. On August 18, 2022, we completed the acquisition of Spinnakar for an aggregate purchase price of approximately £9.8 million (equivalent to $11.8 million USD), subject to certain working capital and other adjustments, paid at closing plus a potential post-closing earn-out. The Company financed the acquisition from existing cash on the balance sheet.

Net cash and cash equivalents used in financing activities during the year ended December 31, 2022 was $1.8 million, comprised of borrowings under term loan, net of $1.8 million, offset by dividend payments on our Common Stock of $3.0 million and purchases of treasury stock of $0.6 million.

On December 3, 2014, the Board of Directors of the Company approved an increase of 500,000 shares of Common Stock to the number of shares of Common Stock available for repurchase under its repurchase plans. On February 2, 2017, the Board of Directors approved an increase of 500,000 shares of Common Stock to the number of shares of Common Stock available for repurchase under its repurchase plans. The Company is authorized to purchase 545,786 shares of Common Stock as of December 31, 2022. The Common Stock repurchase program does not have an expiration date.

As of December 31, 2022, we held 806,068 shares of our Common Stock in treasury at an average cost of $16.41 per share. As of December 31, 2021, we held 859,828 shares of our Common Stock in treasury at an average cost of $16.13 per share. We intend to hold the repurchased shares in treasury for general corporate purposes, including issuances under various stock plans.

On November 15, 2017, the Company entered into a $20,000,000 revolving credit facility (the “Credit Facility”) with Citibank, N.A. (“Citibank”) pursuant to a Second Amended and Restated Revolving Credit Loan Agreement (the “Loan Agreement”), Second Amended and Restated Revolving Credit Loan Note (the “Note”), Second Amended and Restated Security Agreement and Second Amended and Restated Pledge and Security Agreement. On August 31, 2020, the Company entered into an amendment to the Credit Facility (the “Amended Credit Facility”) pursuant to a First

26

Amendment to Second Amended and Restated Revolving Credit Loan Agreement and Other Loan Documents (the “Amended Loan Agreement”) and First Allonge to Second Amended and Restated Revolving Credit Loan Note (the “Amended Note”). The Amended Credit Facility, which will continue to be used for working capital and general corporate purposes, matures on June 30, 2023, at which time the Company must pay all outstanding principal of all outstanding loans plus all accrued and unpaid interest, and any, fees, costs and expenses. The interest rate for any borrowings under the Amended Credit Facility is subject to change from time to time based on the changes in the LIBOR Rate, as defined in the Amended Loan Agreement (the “Index”). As of December 31, 2022 and 2021, the Company had no borrowings outstanding under the Credit Facility.

On April 13, 2021, Wayside Technology UK Holdings Limited (“Wayside UK”), a wholly-owned subsidiary of the Company, entered into an uncommitted short term credit facility of £8,000,000 (“Uncommitted Credit Facility”) with Citibank N.A., London Branch pursuant to certain terms and conditions. Obligations under the Uncommitted Credit Facility are guaranteed by the Company and will be used for working capital and general corporate purposes and have a maturity date of April 13, 2023, at which time Wayside UK must pay all outstanding principal of all outstanding loans plus all accrued and unpaid interest, and any interest, fees, costs and expenses, if any. As of December 31, 2022 and 2021, no borrowings were outstanding under the Uncommitted Credit Facility.

On April 8, 2022, the Company entered into a $2.1 million term loan (the “Term Loan”) with First American Commercial Bancorp, Inc. pursuant to a Master Loan and Security Agreement. The proceeds from the Term Loan will be used to fund certain capital expenditures. The borrowing under the Term Loan bears interest at a rate of 3.73% per annum and is being repaid over forty-eight monthly installments of principal and interest through April 2026. As of December 31, 2022, the Company had $1.8 million outstanding under the Term Loan. There were no amounts outstanding under the Term Loan as of December 31, 2021.

We anticipate that our working capital needs will increase as we invest in the growth of our business. We believe that the funds held in cash and cash equivalents and our unused borrowings under our Credit Facility will be sufficient to fund our working capital and cash requirements for the next 12 months.

Foreign Exchange

The Company’s foreign business is subject to changes in demand or pricing resulting from fluctuations in currency exchange rates or other factors. We are subject to fluctuations primarily in the Canadian Dollar, Euro Dollar and British Pound-to-U.S. Dollar exchange rate.

Off-Balance Sheet Arrangements

As of December 31, 2022, we did not have any off-balance sheet arrangements.

Item 7A. Quantitative and Qualitative Disclosures about Market Risk

Smaller reporting companies are not required to provide the information required by this item.

Item 8. Financial Statements and Supplementary Data

See Index to Consolidated Financial Statements at Item 15(a).

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

None.

Item 9A. Controls and Procedures

Evaluation of Disclosure Controls and Procedures. As required by Rule 13a-15(b) under the Exchange Act, our management carried out an evaluation of the effectiveness of the design and operation of the Company’s “disclosure controls and procedures”, as such term is defined in Rules 13a-15(e) and 15d-15(e) under the Exchange Act, as of the end

27

of the period covered by this Annual Report. This evaluation was carried out under the supervision and with the participation of various members of our management, including our Company’s Chief Executive Officer (principal executive officer), Vice President and Chief Financial Officer (principal financial officer) and Vice President and Chief Accounting Officer (principal accounting officer). Based upon that evaluation, the Company’s Chief Executive Officer, Chief Financial Officer and Chief Accounting Officer concluded that the Company’s disclosure controls and procedures were effective, as of the end of the period covered by this Annual Report, to ensure that information required to be disclosed by the Company in the reports it files or submits under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in the SEC’s rules and forms and is accumulated and communicated to the Company’s management, including the Company’s Chief Executive Officer, Chief Financial Officer and Chief Accounting Officer, as appropriate, to allow timely decisions regarding required disclosure.

 

Management Report on Internal Control Over Financial Reporting. Our management is responsible for establishing and maintaining adequate internal control over financial reporting as defined in Rules 13a-15(f) and 15d-15(f) of the Exchange Act. Internal control over financial reporting is a process designed by, or under the supervision of, our Chief Executive Officer, Chief Financial Officer and Chief Accounting Officer, and effected by the Board of Directors, management and other personnel, to provide reasonable assurance regarding the reliability of our financial reporting and the preparation of financial statements for external purposes in accordance with US GAAP. Internal control over financial reporting includes maintaining records in reasonable detail that accurately and fairly reflect our transactions and disposition of assets; providing reasonable assurance that transactions are recorded as necessary for preparation of our financial statements in accordance with US GAAP; providing reasonable assurance that receipts and expenditures of the Company, are made in accordance with authorizations of management and directors of the Company; and providing reasonable assurance that unauthorized acquisition, use or disposition of Company assets that could have a material effect on our financial statements would be prevented or detected on a timely basis. Because of its inherent limitations, internal control over financial reporting is not intended to provide absolute assurance that a misstatement of our financial statements would be prevented or detected. In addition, projections of any evaluation of effectiveness to future periods are subject to the risk that, owing to changes in conditions, controls may become inadequate, or that the degree of compliance with policies or procedures may deteriorate.

Management, with the participation of our Chief Executive Officer, Chief Financial Officer and Chief Accounting Officer, conducted an evaluation of the effectiveness of our internal control over financial reporting based on the framework in Internal Control — Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission (2013 Framework). Based on this evaluation, the Company’s Chief Executive Officer, Chief Financial Officer and Chief Accounting Officer concluded that the Company’s internal control over financial reporting was effective as of December 31, 2022.

The Company's independent registered public accounting firm, BDO USA, LLP, has audited the effectiveness of the Company's internal control over financial reporting as of December 31, 2022, as stated in their report, which is included herein.

Changes in Internal Control over Financial Reporting. As required by Rule 13a-15(d) under the Exchange Act, our management, including our Chief Executive Officer, Chief Financial Officer and Chief Accounting Officer, has evaluated our internal control over financial reporting to determine whether any changes to our internal control over financial reporting occurred during the fourth quarter of the year ended December 31, 2022 that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.  Based on that evaluation, no such changes to our internal control over financial reporting occurred during the fourth quarter of the year ended December 31, 2022.  As part of that evaluation, management identified changes in user access privileges that were implemented during the first quarter in 2022 at a component. These changes in user access privileges were made in response to identified control deficiencies to ensure that appropriate segregation of duties was maintained as it relates to the preparation and review of journal entries at that component. 

Item 9B. Other Information

None.

28

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

Not applicable.

PART III

Item 10. Directors, Executive Officers and Corporate Governance

The information required hereunder, with the exception of the information relating to the Company’s Code of Ethical Conduct that is presented in Part I under the heading “Available Information,” is incorporated by reference herein from our Definitive Proxy Statement for the 2022 Annual Meeting of Stockholders, to be filed pursuant to Regulation 14A within 120 days of the end of the fiscal year to which this Annual Report relates (the “Definitive Proxy Statement”) under the sections captioned “Election of Directors” and “Corporate Governance.”

Item 11. Executive Compensation

The information required hereunder is incorporated by reference herein from the Definitive Proxy Statement under the sections captioned “Executives and Executive Compensation” and “Corporate Governance.”

Item 12. Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters

The information required hereunder is incorporated by reference herein from the Definitive Proxy Statement under the sections captioned “Equity Compensation Plan Information — Securities Authorized for Issuance under Equity Compensation Plans” and “Security Ownership of Certain Beneficial Owners and Management.”

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

The information required hereunder is incorporated by reference herein from the Definitive Proxy Statement under the sections captioned “Executives and Executive Compensation,” “Corporate Governance” and “Transactions with Related Persons.”

Item 14. Principal Accounting Fees and Services

The information required hereunder is incorporated by reference herein from the Definitive Proxy Statement under the section captioned “Ratification of Appointment of Independent Registered Public Accounting Firm.”

PART IV

Item 15. Exhibits, Financial Statement Schedules

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

1.Consolidated Financial Statements (See Index to Consolidated Financial Statements on page F-1 of this Annual Report);

2.Financial Statement Schedule:

Schedule II Valuation and Qualifying Accounts

29

All other schedules are omitted since the required information is not present or is not present in amounts sufficient to require submission of the schedule, or because the information required is included in the Consolidated Financial Statements or notes thereto.

3.Exhibits Required by Regulation S-K, Item 601:

Exhibit No.

    

Description of Exhibit

2.1

Share Purchase Agreement, dated August 18, 2022, by and among the seller listed therein, and Wayside Technology UK Holding Limited. (14)

3.1

Form of Amended and Restated Certificate of Incorporation of the Company. (1)

3.1(a)

Certificate of Amendment of Restated Certificate of Incorporation of the Company. (2)

3.1(b)

Certificate of Amendment of Restated Certificate of Incorporation of the Company. (15)

3.2

Amended and Restated Bylaws of the Company. (13)

4.1

Specimen of Common Stock Certificate. (1)

4.3

Description of Securities. (filed herewith).

10.1

Second Amended and Restated Revolving Credit Loan Agreement, dated November 15, 2017, by and among Wayside Technology Group, Inc., Lifeboat Distribution, Inc., Techxtend, Inc., Programmer’s Paradise, Inc., and ISP International Software Partners, Inc., as Co-Borrowers, and Citibank, N.A., as Lender. (6)

10.2

Second Amended and Restated Credit Loan Note, dated November 15, 2017, by and among Wayside Technology Group, Inc., Lifeboat Distribution, Inc., Techxtend, Inc., Programmer’s Paradise, Inc., and ISP International Software Partners, Inc., as Co-Borrowers, and Citibank, N.A., as Lender. (6)

10.3

Second Amended and Restated Security Agreement, dated November 15, 2017, by and among Wayside Technology Group, Inc., Lifeboat Distribution, Inc., Techxtend, Inc., Programmer’s Paradise, Inc., and ISP International Software Partners, Inc., as Debtors, and Citibank, N.A., as Lender. (6)

10.4

Second Amended and Restated Pledge and Security Agreement, dated November 15, 2017, by and between Wayside Technology Group, Inc., as Grantor, and Citibank, N.A., as Secured Party. (6)

10.5

First Amendment to Second Amended and Restated Revolving Credit Loan Agreement and Other Loan Documents, dated August 31, 2020, by and among Wayside Technology Group, Inc., Climb Channel Solutions, Inc., f/k/a Lifeboat Distribution, Inc., TechXtend, Inc., Programmer’s Paradise, Inc., ISP International Software Partners, Inc., and Interwork Technologies, Inc., as Co-Borrowers, and Citibank, N.A., as Lender. (11)

10.6

First Allonge to Second Amended and Restated Revolving Credit Loan Note, dated August 31, 2020, by and among Wayside Technology Group, Inc., Climb Channel Solutions, Inc., f/k/a Lifeboat Distribution, Inc., TechXtend, Inc., Programmer’s Paradise, Inc., ISP International Software Partners, Inc., and Interwork Technologies Inc., as Co-Borrowers, and Citibank, N.A., as Lender. (11)

10.7

Code of Ethics and Business Conduct. (7)

10.8*

Employment agreement dated January 15, 2020 between the Company and Dale Foster. (8)

30

Exhibit No.

    

Description of Exhibit

10.9*

Employment agreement dated January 2, 2018 between the Company and Charles Bass. (9)

10.10*

Employment agreement dated June 8, 2021 between the Company and Andrew Clark. (16)

10.11*

Offer Letter, dated January 6, 2003, from the Company to Vito Legrottaglie. (4)

10.12*

Form of Officer and Director Indemnification Agreement. (10)

10.13*

2012 Stock-Based Compensation Plan. (5)

10.14*

2021 Stock-Based Compensation Plan. (12)

10.28*

Form of Non-Qualified Stock Option Agreement. (3)

21.1

Subsidiaries of the Registrant. (filed herewith)

23.1

Consent of BDO USA, LLP, an Independent Registered Public Accounting Firm. (filed herewith)

31.1

Certification pursuant to Rule 13a-14(a) or Rule 15d-14(a) of the Securities Exchange Act of 1934, of Dale Foster, the Chief Executive Officer of the Company (filed herewith).

31.2

Certification pursuant to Rule 13a-14(a) or Rule 15d-14(a) of the Securities Exchange Act of 1934, of Andrew Clark, the Vice President and Chief Financial Officer of the Company (filed herewith).

31.3

Certification pursuant to Rule 13a-14(a) or Rule 15d-14(a) of the Securities Exchange Act of 1934, of Matthew Sullivan, the Vice President and Chief Accounting Officer of the Company (filed herewith).

32.1

Certification pursuant to Rule 13a-14(b) of the Securities Exchange Act of 1934 and 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, of Dale Foster, the Chief Executive Officer of the Company (furnished herewith).

32.2

Certification pursuant to Rule 13a-14(b) of the Securities Exchange Act of 1934 and 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, of Andrew Clark, the Vice President and Chief Financial Officer of the Company (furnished herewith).

32.3

Certification pursuant to Rule 13a-14(b) of the Securities Exchange Act of 1934 and 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, of Matthew Sullivan, the Vice President and Chief Accounting Officer of the Company (furnished herewith).

101

The following financial information from Climb Global Solutions, Inc.’s Annual Report on Form 10-K for the year ended December 31, 2022, filed with the SEC on March 16, 2023, formatted in XBRL (Extensible Business Reporting Language) includes: (1) Consolidated Balance Sheets, (2) Consolidated Statements of Earnings, (3) Consolidated Statements of Comprehensive Income, (4) Consolidated Statements of Stockholders’ Equity, (5) Consolidated Statements of Cash Flows, and (6) the Notes to the Consolidated Financial Statements.

104

Cover Page Interactive Data File – The cover page interactive data file does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.

(1)Incorporated by reference to the exhibits of the same number to the Registrant’s Registration Statement on Form S-1 or amendments thereto (File No. 333-92810) filed on May 30, 1995, July 7, 1995 and July 18, 1995.

31

(2)Incorporated by reference to the exhibits of the same number to the Registrant’s Quarterly Report on Form 10-Q for the quarter ended September 30, 2006 filed on November 3, 2006.

(3)Incorporated by reference to Exhibit 10.59 filed with the Registrant’s Annual Report on Form 10-K for the year ended December 31, 2007 filed on March 13, 2008.

(4)Incorporated by reference to Exhibit 10.45 filed with the Registrant’s Quarterly Report on Form 10-Q for the quarter ended March 31, 2007 filed on May 15, 2007.

(5)Incorporated by reference to Exhibit A of the Registrant’s Definitive Annual Meeting Proxy Statement filed on April 24, 2012.

(6)Incorporated by reference to the Registrant’s Form 8-K filed on November 20, 2017.

(7)Incorporated by reference to the Registrant’s Form 8-K filed on December 8, 2017.

(8)Incorporated by reference to the Registrant’s Form 8-K filed on January 21, 2020.

(9)Incorporated by reference to Exhibit 10.3 to the Registrant’s Quarterly Report on Form 10-Q for the Period Ended March 31, 2020 filed May 8, 2020.

(10)Incorporated by reference Exhibit 10.1 to the Registrant’s Quarterly Report on Form 10-Q for the Period Ended March 31, 2017 filed May 5, 2017.

(11)Incorporated by reference to the Registrant’s Form 8-K filed on September 2, 2020.

(12)Incorporated by reference to Appendix A of the Registrant’s Definitive Annual Meeting Proxy Statement filed on April 16, 2021.

(13)Incorporated by reference to Exhibit 3.1 to the Registrant’s Form 8-K filed on December 8, 2022.

(14)Incorporated by reference to Exhibit 2.1 to the Registrant’s Form 8-K filed on August 18, 2022.

(15)Incorporated by reference to Exhibit 3.1(a) to the Registrant’s Form 8-K filed on October 27, 2022.

(16)Incorporated by reference to Exhibit 10.1 to the Registrant’s Form 8-K filed on June 8, 2021.

*

Compensatory plan or arrangement of management required to be filed as an exhibit to this Annual Report on Form 10-K.  

Item 16. Form 10-K Summary

None.

32

SIGNATURES

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

CLIMB GLOBAL SOLUTIONS, INC.

By:

/s/ Dale Foster

Dale Foster, Chief Executive Officer

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

Signature

Title

Date

/s/ Dale Foster

Chief Executive Officer and Director

March 16, 2023

Dale Foster

(Principal Executive Officer)

/s/ Andrew Clark

Vice President and Chief Financial Officer

March 16, 2023

Andrew Clark

(Principal Financial Officer)

/s/ Matthew Sullivan

Vice President and Chief Accounting Officer

March 16, 2023

Matthew Sullivan

(Principal Accounting Officer)

/s/ Jeffrey Geygan

Chairman of the Board of Directors

March 16, 2023

Jeffrey Geygan

/s/ John McCarthy

Director

March 16, 2023

John McCarthy

/s/ Andrew Bryant

Director

March 16, 2023

Andrew Bryant

/s/ Gerri Gold

Director

March 16, 2023

Gerri Gold

/s/ Greg Scorziello

Director

March 16, 2023

Greg Scorziello

/s/ Kimberly Boren

Director

March 16, 2023

Kimberly Boren

33

Items 8 and 15(a)

Climb Global Solutions, Inc. and Subsidiaries

Index to Consolidated Financial Statements and Schedule

Page

Reports of Independent Registered Public Accounting Firm (BDO USA, LLP; Woodbridge, New Jersey; PCAOB ID#243)

F-2

Consolidated Balance Sheets as of December 31, 2022 and 2021

F-6

Consolidated Statements of Earnings for the years ended December 31, 2022 and 2021

F-7

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

F-8

Consolidated Statements of Stockholders’ Equity for the years ended December 31, 2022 and 2021

F-9

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

F-10

Notes to Consolidated Financial Statements

F-11

Schedule II — Valuation and Qualifying Accounts

F-31

F-1

Report of Independent Registered Public Accounting Firm

To the Board of Directors and Stockholders

Climb Global Solutions, Inc.

Eatontown, New Jersey

Opinion on Internal Control over Financial Reporting

We have audited Climb Global Solutions, Inc.’s (formerly known as Wayside Technology Group, Inc.) (the “Company”) internal control over financial reporting as of December 31, 2022, based on criteria established in Internal Control – Integrated Framework (2013) issued by the Committee of Sponsoring Organizations of the Treadway Commission (the “COSO criteria”).  In our opinion, the Company maintained, in all material respects, effective internal control over financial reporting as of December 31, 2022, based on the COSO criteria.

We also have audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (“PCAOB”), the consolidated balance sheets of the Company as of December 31, 2022 and 2021, the related consolidated statements of earnings, comprehensive income, stockholders’ equity, and cash flows for each of the two years in the period ended December 31, 2022, and the related notes and schedule and our report dated March 16, 2023 expressed an unqualified opinion thereon.

Basis for Opinion

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

We conducted our audit of internal control over financial reporting in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether effective internal control over financial reporting was maintained in all material respects. Our audit included obtaining an understanding of internal control over financial reporting, assessing the risk that a material weakness exists, and testing and evaluating the design and operating effectiveness of internal control based on the assessed risk. Our audit also included performing such other procedures as we considered necessary in the circumstances. We believe that our audit provides a reasonable basis for our opinion.

Definition and Limitations of Internal Control over Financial Reporting

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

F-2

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

/s/ BDO USA, LLP

Woodbridge, New Jersey

March 16, 2023

F-3

Report of Independent Registered Public Accounting Firm

To the Board of Directors and Stockholders

Climb Global Solutions, Inc.

Eatontown, New Jersey

Opinion on the Consolidated Financial Statements

We have audited the accompanying consolidated balance sheets of Climb Global Solutions, Inc. (formerly known as Wayside Technology Group, Inc.) (the “Company”) as of December 31, 2022 and 2021, the related consolidated statements of earnings, comprehensive income, stockholders’ equity, and cash flows for each of the two years in the period ended December 31, 2022, and the related notes and schedule (collectively referred to as the “consolidated financial statements”). In our opinion, the consolidated financial statements present fairly, in all material respects, the financial position of the Company at December 31, 2022 and 2021, and the results of its operations and its cash flows for each of the two years in the period ended December 31, 2022, in conformity with accounting principles generally accepted in the United States of America.

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

Basis for Opinion

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

We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the consolidated financial statements are free of material misstatement, whether due to error or fraud.

Our audits included performing procedures to assess the risks of material misstatement of the consolidated financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the consolidated financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the consolidated financial statements. We believe that our audits provide a reasonable basis for our opinion.

Critical Audit Matter

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

Acquisition

As described in Note 3 of the consolidated financial statements, the Company completed the acquisition of Spinnakar Limited during the year ended December 31, 2022. The total purchase consideration for Spinnakar Limited was

F-4

approximately $13.6 million, inclusive of a $1.8 million post-closing contingent earn-out. As a result of the acquisition, management determined the estimated fair value of the identifiable assets acquired and liabilities assumed at the acquisition date and recorded intangible assets of approximately $11.7 million in aggregate. The primary intangible assets acquired were vendor relationships.

We identified the revenue projections, projected operating margin and the discount rate used in the determination of the fair value of certain acquired vendor relationships as a critical audit matter. The principal considerations for our determination included the subjectivity and judgment required to determine projected revenue, projected operating margin and the discount rate used to determine the fair value of certain vendor relationships acquired. Auditing these elements involved especially challenging auditor judgment due to the nature and extent of audit effort required to address these matters, including the extent of specialized skill or knowledge needed.  

The primary procedures we performed to address this critical audit matter included:

Assessing the reasonableness of the revenue projections and projected operating margins for certain vendor relationships acquired by (i) evaluating historical performance of the acquired entity, (ii) obtaining publicly available information to evaluate management plans,   (iii) performing a sensitivity analysis of the assumptions used in the discounted cash flow and evaluating the potential effect of changes in these assumptions, and iv) evaluating the consistency of forecasted amounts against information obtained through inquiries made of certain individuals.
Utilizing professionals with specialized skills and knowledge to assist in (i) evaluating the appropriateness of the valuation model used by management, (ii) testing the mathematical accuracy of the Company’s calculations, and (iii) evaluating the reasonableness of the discount rate used in the cash flow model for the determination of the fair value of certain acquired vendor relationships.

/s/ BDO USA, LLP

We have served as the Company's auditor since 2018.

Woodbridge, New Jersey

March 16, 2023

F-5

Climb Global Solutions, Inc. and Subsidiaries

Consolidated Balance Sheets

(Amounts in thousands, except share and per share amounts)

December 31,

December 31,

    

2022

    

2021

    

ASSETS

Current assets:

Cash and cash equivalents

$

20,245

$

29,272

Accounts receivable, net of allowance for doubtful accounts of $842 and $881, respectively

154,596

 

122,502

Inventory, net

4,766

 

2,022

Vendor prepayments and advances

890

661

Prepaid expenses and other current assets

4,141

 

4,871

Total current assets

184,638

 

159,328

Equipment and leasehold improvements, net

3,515

 

1,932

Goodwill

18,963

17,188

Other intangibles, net

19,693

9,950

Right-of-use assets, net

1,235

1,628

Accounts receivable-long-term, net

3,114

 

78

Other assets

350

 

459

Deferred income tax assets

348

 

189

Total assets

$

231,856

$

190,752

LIABILITIES AND STOCKHOLDERS’ EQUITY

Current liabilities:

Accounts payable and accrued expenses

$

160,650

$

134,271

Lease liability, current portion

521

475

Term loan, current portion

520

Total current liabilities

161,691

 

134,746

Lease liability, net of current portion

1,296

1,810

Deferred income tax liabilities

4,137

1,780

Term loan, net of current portion

1,292

Non-current liabilities

2,866

Total liabilities

171,282

138,336

Commitments and contingencies

Stockholders’ equity:

Common stock, $.01 par value per share; 10,000,000 shares authorized; 5,284,500 shares issued: 4,478,432 and 4,424,672 shares outstanding, respectively

53

 

53

Additional paid-in capital

32,715

 

32,087

Treasury stock, at cost, 806,068 and 859,828 shares, respectively

(13,230)

 

(13,870)

Retained earnings

43,904

 

34,396

Accumulated other comprehensive loss

(2,868)

 

(250)

Total stockholders’ equity

60,574

 

52,416

Total liabilities and stockholders' equity

$

231,856

$

190,752

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

F-6

Climb Global Solutions, Inc. and Subsidiaries

Consolidated Statements of Earnings

(Amounts in thousands, except per share amounts)

Year ended

 

December 31,

    

2022

    

2021

 

Net sales

$

304,348

$

282,582

Cost of sales

 

250,254

 

236,866

Gross profit

 

54,094

 

45,716

Selling, general, and administrative expenses

 

34,144

 

32,136

Acquisition related costs

582

Amortization and depreciation expense

2,054

1,529

Income from operations

 

17,314

 

12,051

Other income:

Interest, net

 

159

 

359

Foreign currency transaction loss

(941)

(46)

Income before provision for income taxes

 

16,532

 

12,364

Provision for income taxes

 

4,035

 

3,166

Net income

$

12,497

$

9,198

Income per common share-Basic

$

2.81

$

2.09

Income per common share-Diluted

$

2.81

$

2.09

Weighted average common shares outstanding — Basic

 

4,331

 

4,272

Weighted average common shares outstanding — Diluted

 

4,331

 

4,272

Dividends paid per common share

$

0.68

$

0.68


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

F-7

Climb Global Solutions, Inc. and Subsidiaries

Consolidated Statements of Comprehensive Income

(Amounts in thousands)

Year ended

 

December 31,

    

2022

    

2021

 

Net income

$

12,497

$

9,198

Other comprehensive (loss) income:

Foreign currency translation adjustments

 

(2,618)

 

492

Other comprehensive (loss) income

 

(2,618)

 

492

Comprehensive income

$

9,879

$

9,690

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

F-8

Climb Global Solutions, Inc. and Subsidiaries

Consolidated Statements of Stockholders’ Equity

(Amounts in thousands, except share amounts)

Accumulated

 

Additional

Other

 

Common Stock

Paid-In

Treasury

Retained

Comprehensive

 

   

Shares

   

Amount

   

Capital

   

Shares

   

Amount

   

Earnings

   

(Loss) Income

   

Total

 

Balance at January 1, 2021

 

5,284,500

53

31,962

 

922,503

(14,747)

28,191

(742)

44,717

Net income

9,198

9,198

Translation adjustment

492

492

Dividends paid

(2,993)

(2,993)

Share-based compensation expense

1,546

1,546

Restricted stock grants (net of forfeitures)

(1,421)

(83,963)

1,421

Treasury shares repurchased

21,288

(544)

(544)

Balance at December 31, 2021

 

5,284,500

53

32,087

 

859,828

(13,870)

34,396

(250)

52,416

Net income

12,497

12,497

Translation adjustment

(2,618)

(2,618)

Dividends paid

(2,989)

(2,989)

Share-based compensation

1,923

1,923

Restricted stock grants (net of forfeitures)

(1,295)

(74,449)

1,295

Treasury shares repurchased

20,689

(655)

(655)

Balance at December 31, 2022

 

5,284,500

$

53

$

32,715

 

806,068

$

(13,230)

$

43,904

$

(2,868)

$

60,574

The accompanying notes are an integral part of the consolidated financial statements

F-9

Climb Global Solutions, Inc. and Subsidiaries

Consolidated Statements of Cash Flows

(Amounts in thousands)

Year ended

 

December 31,

    

2022

    

2021

 

Cash flows from operating activities

Net income

$

12,497

$

9,198

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

Depreciation and amortization expense

 

2,066

 

1,534

Provision for doubtful accounts

 

19

 

26

Deferred income tax (benefit) expense

 

(535)

 

228

Share-based compensation expense

1,897

 

1,546

Amortization of discount on accounts receivable

(109)

(55)

Amortization of right-of-use assets

426

468

Changes in operating assets and liabilities, net of acquisitions:

Accounts receivable

 

(35,826)

 

(28,577)

Inventory

 

(2,751)

 

2,914

Prepaid expenses and other current assets

 

1,025

 

(1,004)

Vendor prepayments

(230)

574

Accounts payable and accrued expenses

 

25,411

 

18,616

Lease liability, net

(503)

(534)

Other assets and liabilities

 

1,174

 

(222)

Net cash and cash equivalents provided by operating activities

 

4,561

 

4,712

Cash flows from investing activities

Purchase of equipment and leasehold improvements

 

(2,502)

 

(258)

Payment for acquisitions, net of cash acquired

(8,511)

Net cash and cash equivalents used in investing activities

 

(11,013)

 

(258)

Cash flows from financing activities

Purchase of treasury stock

 

(655)

 

(544)

Borrowings under term loan

2,148

Repayments of borrowings under term loan

(336)

Dividends paid

 

(2,989)

(2,993)

Contingent consideration

(862)

Net cash and cash equivalents used in financing activities

 

(1,832)

 

(4,399)

Effect of foreign exchange rate on cash and cash equivalents

 

(743)

 

(131)

Net decrease in cash and cash equivalents

 

(9,027)

 

(76)

Cash and cash equivalents at beginning of period

 

29,272

 

29,348

Cash and cash equivalents at end of period

$

20,245

$

29,272

Supplementary disclosure of cash flow information:

Income taxes paid

$

4,278

$

2,700

Interest paid

50

43

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

F-10

Climb Global Solutions, Inc. and Subsidiaries

Notes to Consolidated Financial Statements

(Amounts in tables in thousands, except share and per share amounts)

Note 1. Description of Business

Climb Global Solutions, Inc. (formerly known as Wayside Technology Group, Inc.) and Subsidiaries (the “Company”), was incorporated in Delaware in 1982.  The Company distributes technology products developed by others to resellers who in turn sell to end customers worldwide. The Company also is a cloud solutions provider and value-added reseller of software, hardware and services to customers worldwide. The Company also operates in Canada, the United Kingdom and Europe. The Company offers an extensive line of products from leading software vendors and tools for virtualization/cloud computing, security, networking, storage and infrastructure management, application lifecycle management and other technically sophisticated domains as well as computer hardware.

The Company is organized into two reportable operating segments. The “Distribution” segment distributes technical software to corporate resellers, value added resellers (VARs), consultants and systems integrators worldwide under the name “Climb Channel Solutions”. The “Solutions” segment is a cloud solutions provider and value-added reseller of software, hardware and services to customers worldwide under the names “Grey Matter”.

Note 2. Summary of Significant Accounting Policies

Principles of Consolidation and Operations

The consolidated financial statements include the accounts of Climb Global Solutions, Inc. and its wholly owned subsidiaries. All intercompany transactions and balances have been eliminated.

Business Combinations

The Company accounts for business combinations using the acquisition method of accounting, which allocates the fair value of the purchase consideration to the tangible and intangible assets acquired and liabilities assumed based on their estimated fair values. The excess of the purchase consideration over the fair values of these identifiable assets and liabilities is recorded as goodwill. When determining the fair values of assets acquired and liabilities assumed, management makes significant estimates and assumptions. The Company may utilize third-party valuation specialists to assist the Company in the allocation. Initial purchase price allocations are subject to revision within the measurement period, not to exceed one year from the date of acquisition. Acquisition-related expenses and transaction costs associated with business combinations are expensed as incurred.

Use of Estimates

The preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States of America (“US GAAP”) requires management to make extensive use of certain estimates and assumptions which affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting periods. The significant areas of estimation include but are not limited to accounting for allowance for doubtful accounts, sales returns, allocation of revenue in multiple deliverable arrangements, principal vs. agent considerations, discount rates applicable to long term receivables, inventory obsolescence, income taxes, depreciation, amortization of intangible assets, contingencies and stock-based compensation. Actual results could differ from those estimates.

Net Income Per Common Share

Our basic and diluted earnings per share are computed using the two-class method. The two-class method is an earnings allocation method that determines net income per share for each class of common stock and participating securities according to their participation rights in dividends and undistributed earnings or losses. Non-vested restricted stock awards that include non-forfeitable rights to dividends are considered participating securities. Per share amounts are

F-11

computed by dividing net income available to common shareholders by the weighted average shares outstanding during each period. Diluted and basic earnings per share are the same because the restricted shares are the only potentially dilutive security.

A reconciliation of the numerators and denominators of the basic and diluted per share computations follows:

Year ended December 31,

    

2022

    

2021

Numerator:

Net income

$

12,497

$

9,198

Less distributed and undistributed income allocated to participating securities

317

269

Net income attributable to common shareholders

12,180

8,929

Denominator:

 

 

Weighted average common shares (Basic)

4,331

 

4,272

 

 

Weighted average common shares including assumed conversions (Diluted)

4,331

 

4,272

Basic net income per share

$

2.81

$

2.09

Diluted net income per share

$

2.81

$

2.09

Cash Equivalents

The Company considers all liquid short-term investments with maturities of 90 days or less when purchased to be cash equivalents.

Accounts Receivable

Accounts receivable principally represents amounts collectible from our customers. The Company performs ongoing credit evaluations of its customers but generally does not require collateral to support any outstanding obligation. From time to time, we sell accounts receivable to a financial institution on a non-recourse basis for cash, less a discount. The Company has no significant retained interests or servicing liabilities related to the accounts receivable sold. Proceeds from the sale of receivables approximated their discounted book value and were included in operating cash flows on the Consolidated Statements of Cash Flows.

Allowances for Accounts Receivable

We provide an allowance for doubtful accounts related to accounts receivable for estimated losses resulting from the inability of our customers to make required payments. We take into consideration the overall quality and aging of the receivable portfolio along with specifically identified customer risks. If actual customer payment performance were to deteriorate to an extent not expected, additional allowances may be required. At the time of sale, we also record an estimate for sales returns based on historical experience, which is included in accounts payable and accrued expenses on the Consolidated Balance Sheets. If actual sales returns are greater than estimated by management, an additional return allowance may be required as an offset to net sales.

Foreign Currency Translation

Assets and liabilities of the Company’s foreign subsidiaries have been translated using the end of the reporting period exchange rates, and related revenues and expenses have been translated at average rates of exchange in effect during the period. Cumulative translation adjustments have been classified within accumulated other comprehensive loss, which

F-12

is a separate component of stockholders’ equity in accordance FASB ASC Topic No. 220, “Comprehensive Income”. Foreign currency transaction gains and losses are recorded as income or expenses as amounts are settled.

For foreign currency remeasurement from each local currency into the appropriate functional currency, monetary assets and liabilities are remeasured to functional currencies using current exchange rates in effect at the balance sheet date. Gains or losses from these remeasurements have been included in the Company's Consolidated Statements of Earnings. Non-monetary assets and liabilities are recorded at historical exchange rates.

Concentration of Credit Risk

Financial instruments that potentially subject the Company to concentrations in credit risk consist of cash and cash equivalents.

The Company’s cash and cash equivalents, at times, may exceed federally insured limits. The Company’s cash and cash equivalents are deposited primarily in banking institutions with global operations. The Company has not experienced any losses in such accounts. The Company believes it is not exposed to any significant credit risk on cash and cash equivalents.

Financial Instruments

The carrying amounts of financial instruments, including cash and cash equivalents, accounts receivable and accounts payable approximated fair value as of December 31, 2022 and 2021, because of the relative short maturity of these instruments. The Company’s accounts receivable-long-term is discounted to its present value at prevailing market rates at the time of sale which, approximates fair value as of December 31, 2022 and 2021.

Inventory

Inventory, consisting primarily of finished products held for resale, is valued based on the first-in-first-out method of accounting and is stated at the lower of cost or net realizable value.

Vendor Prepayments and Advances

Vendor prepayments represents advance payments made to vendors to be applied against future purchases. Any amounts not expected to be utilized to apply against purchases within one year are reclassified to other long-term assets.

Equipment and Leasehold Improvements

Equipment and leasehold improvements are stated at cost or fair value, if purchased as part of a business combination. Equipment depreciation is calculated using the straight-line method over three to five years. Leasehold improvements are amortized using the straight-line method over the estimated useful lives of the assets or the related lease terms, whichever is shorter.

Software Development Costs

The Company capitalizes certain internal and external costs incurred to acquire or create internal-use software. Capitalized software costs are amortized on a straight-line basis over the estimated useful life of the software, which is generally four to seven years. At December 31, 2022 and 2021, the Company had unamortized software development costs of $2.4 million and $0.7 million, respectively, which are included in "Equipment and leasehold improvements" in the Company's Consolidated Balance Sheets. As of December 31, 2022, this includes $2.3 million for an internal-use software project that amortization expense has not yet been recognized for as the internal-use software is not ready for its intended use. As of December 31, 2021, there were no such costs capitalized for this project.

F-13

Accounts Receivable-Long-Term

Accounts receivable-long-term result from product sales with extended payment terms that are discounted to their present values at the prevailing market rates at the time of sale. In subsequent periods, the accounts receivable is increased to the amounts due and payable by the customers through the accretion of interest income on the unpaid accounts receivable due in future years. The amounts under these long-term accounts receivable due within one year are reclassified to the current portion of accounts receivable.

Goodwill

We test goodwill for impairment on an annual basis and between annual tests if an event occurs, or circumstances change, that would more likely than not reduce the fair value of a reporting unit below its carrying amount. The Company performs an evaluation of goodwill, utilizing either a qualitative or quantitative impairment test. The annual test for impairment is conducted as of October 1. The Company’s reporting units included in the assessment of potential goodwill impairment are the same as its operating segments. Goodwill is not amortized but is subject to periodic testing for impairment at the reporting unit level.

In a qualitative assessment, we assess qualitative factors to determine whether it is more likely than not (that is, a likelihood of more than 50 percent) that the fair value of a reporting unit is less than its carrying amount, including goodwill. If, after assessing the totality of events or circumstances, we determine that it is not more likely than not that the fair value of a reporting unit is less than its carrying amount, then the quantitative goodwill impairment test is unnecessary.

If, after assessing the totality of events or circumstances, we determine that it is more likely than not that the fair value of a reporting unit is less than its carrying amount, then we perform the quantitative goodwill impairment test. We may also elect the unconditional option to bypass the qualitative assessment for any reporting unit in any period and proceed directly to performing the quantitative goodwill impairment test.

In the quantitative impairment test, we compare the fair value of a reporting unit with its carrying amount, including goodwill. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered not impaired. Conversely, if the carrying amount of a reporting unit exceeds its fair value, an impairment loss shall be recognized in an amount equal to that excess, limited to the total amount of goodwill allocated to that reporting unit.

Determining the fair value of a reporting unit is judgmental in nature and requires the use of significant estimates and assumptions, including net sales growth rates, gross profit margins, operating margins, discount rates and future market conditions, among others. Any changes in the judgments, estimates or assumptions used could produce significantly different results.

Intangible Assets

Intangible assets with determinable lives are amortized on a straight-line basis over their respective estimated useful lives, which is determined based on their expected period of benefit. Intangible assets are reviewed for impairment when events or changes in circumstances indicate that the carrying amount of such assets may not be recoverable. Determination of recoverability is based on an estimate of undiscounted future cash flows resulting from the use of the asset and its eventual disposition. If the carrying amount of an asset exceeds its estimated future undiscounted cash flows, an impairment loss is recorded for the excess of the asset's carrying amount over its fair value. In addition, each quarter, the Company evaluates whether events and circumstances warrant a revision to the remaining estimated useful life of each of these intangible assets. If the Company were to determine that a change to the remaining estimated useful life of an intangible asset was necessary, then the remaining carrying amount of the intangible asset would be amortized prospectively over that revised remaining useful life.

F-14

Comprehensive Income

Comprehensive income consists of net income for the year and the impact of unrealized foreign currency translation adjustments. The foreign currency translation adjustments are not currently adjusted for income taxes as they relate to permanent investments in international subsidiaries.

Revenue Recognition

The Company’s revenues primarily result from the sale of various technology products and services, including third-party products, third-party software and third-party maintenance, software support and services. The Company recognizes revenue as control of the third-party products and third-party software is transferred to customers, which generally happens at the point of shipment or fulfilment and at the point that our customers and vendors accept the terms and conditions of the arrangement for third-party maintenance, software support and services.

The Company has contracts with certain customers where the Company’s performance obligation is to arrange for the products or services to be provided by another party. In these arrangements, as the Company assumes an agency relationship in the transaction, revenue is recognized in the amount of the net fee associated with serving as an agent. These arrangements primarily relate to third party maintenance, cloud services and certain security software whose intended functionality is dependent on third party maintenance.

The Company allows its customers to return product for exchange or credit subject to certain limitations. A liability is recorded at the time of sale for estimated product returns based upon historical experience and an asset is recognized for the amount expected to be recorded upon product return. The Company also provides rebates and other discounts to certain customers which are considered variable consideration. A provision for customer rebates and other discounts is recorded as a reduction of revenue at the time of sale based on an evaluation of the contract terms and historical experience.

The Company considers shipping and handling activities as costs to fulfill the sales of products. Shipping revenue is included in net sales when control of the product is transferred to the customer, and the related shipping and handling costs are included in cost of sales. Taxes imposed by governmental authorities on the Company’s revenue producing activities with customers, such as sales taxes and value added taxes, are excluded from net sales.

The Company disaggregates its operating revenue by segment, geography and timing of revenue recognition, which the Company believes provides a meaningful depiction of the nature of its revenue. For additional information, see Note 13 (Industry, Segment and Geographic Information).

Hardware and software products sold by the Company are generally delivered via shipment from the Company’s facilities, drop shipment directly from the vendor, or by electronic delivery of keys for software products. The majority of the Company’s business involves shipments directly from its vendors to its customers, in these transactions, the Company is generally responsible for negotiating price both with the vendor and customer, payment to the vendor, establishing payment terms with the customer, product returns, and has risk of loss if the customer does not make payment. As the principal with the customer, the Company recognizes revenue upon receiving notification from the vendor that the product was shipped. Control of software products is deemed to have passed to the customer when they acquire the right to use or copy the software under license as substantially all product functionality is available to the customer at the time of sale.

The Company performs an analysis of the number of days of sales in-transit to customers at the end of each reporting period based on an analysis of commercial delivery terms that include drop-shipment arrangements. This analysis is the basis upon which the Company estimates the amount of net sales in-transit at the end of the period and adjusts revenue and the related costs to reflect only what has been delivered to the customer. Changes in delivery patterns may result in a different number of business days estimated to make this adjustment. The Company also performs a weighted average analysis of the estimated number of days between order fulfillment and beginning of the renewal term for term licenses recorded on a gross basis, and a deferral estimate is recorded for term license renewals fulfilled prior to commencement date.

F-15

Generally, software products are sold with accompanying third-party delivered software assurance, which is a product that allows customers to upgrade, at no additional cost, to the latest technology if new capabilities are introduced during the period that the software assurance is in effect. The Company evaluates whether the software assurance is a separate performance obligation by assessing if the third-party delivered software assurance is critical or essential to the core functionality of the software itself. This involves considering if the software provides its original intended functionality to the customer without the updates, if the customer would ascribe a higher value to the upgrades versus the up-front deliverable, if the customer would expect frequent intelligence updates to the software (such as updates that maintain the original functionality), and if the customer chooses to not delay or always install upgrades. If the Company determines that the accompanying third-party delivered software assurance is critical or essential to the core functionality of the software license, the software license and the accompanying third-party delivered software assurance are recognized as a single performance obligation. The value of the product is primarily the accompanying support delivered by a third party and therefore the Company is acting as an agent in these transactions and recognizes them on a net basis at the point the associated software license is delivered to the customer. The Company sells cloud computing solutions that utilize third-party vendors to enable customers to access data center functionality in a cloud-based solution, including storage, computing and networking and access to software in the cloud that enhances office productivity, provides security or assists in collaboration. The Company recognizes revenue for cloud computing solutions for arrangements with one-time invoicing to the customer at the time of invoice on a net basis as the Company is acting as an agent in the transaction. For monthly subscription-based arrangements, the Company is acting as an agent in the transaction and recognizes revenue as it invoices the customer for its monthly usage on a net basis. For software licenses where the accompanying third-party delivered software assurance is not critical or essential to the core functionality, the software assurance is recognized as a separate performance obligation, with the associated revenue recognized on a net basis at the point the related software license is delivered to the customer.

The Company also sells some of its products and services as part of bundled contract arrangements containing multiple deliverables, which may include a combination of products and services. For each deliverable that represents a distinct performance obligation, total arrangement consideration is allocated based upon the standalone selling prices (“SSP”) of each performance obligation. SSP is determined based on the price at which the performance obligation is sold separately. If the standalone selling price is not observable through established standard prices, we use judgement and estimate the standalone selling price considering available information such as market pricing and pricing related to similar products.

Freight

The Company records freight billed to its customers as net sales and the related freight costs as cost of sales when the underlying product revenue is recognized. For freight not billed to its customers, the Company records the freight costs as cost of sales. The Company’s typical shipping terms result in shipping being performed before the customer obtains control of the product. The Company considers shipping to be a fulfillment activity and not a separate performance obligation.

Commissions

The Company pays commissions and related payroll taxes to sales personnel when customers are invoiced. These costs are recorded as selling general and administrative expenses in the period earned as all our performance obligations are complete within a short window of processing the order.

Stock-Based Compensation

The Company has stockholder-approved stock incentive plans for employees and directors. Stock-based compensation is recognized based on the grant date fair value and is recognized as expense on a straight-line basis over the requisite service period.

Operating Segments

Operating segments are defined as components of an enterprise for which separate financial information is available that is evaluated regularly by the chief operating decision maker in deciding how to allocate resources and in

F-16

assessing performance. The Company's operations are classified into two reportable business segments: Distribution and Solutions. For additional information, see Note 13 (Industry, Segment and Geographic Information).

Treasury Stock

Treasury stock is accounted for at cost. Shares repurchased by the Company are held in treasury for general corporate purposes, including issuances under equity incentive plans. The reissuance of shares from treasury stock is based on the weighted average purchase price of the shares.

Interest, net

Interest, net consists primarily of income from the amortization of the discount on accounts receivable long term, net of interest expense that is inclusive of fees associated with the Company’s credit facility.

Income Taxes

The Company utilizes the asset and liability method of accounting for income taxes. Under this method, deferred tax assets and liabilities are determined based on differences between financial reporting and tax basis of assets and liabilities and are measured using enacted tax rates and laws that will be in effect when the differences are expected to reverse. This method also requires a valuation allowance against the net deferred tax asset if, based on the weighted available evidence, it is more likely than not that some or all the deferred tax assets will not be realized. The Company’s policy is to recognize interest and penalties related to uncertain tax positions in income tax expense when assessed. The Company accounts for uncertainties in accordance with FASB ASC 740 “Income Taxes”. This standard clarified the accounting for uncertainties in income taxes. The standard prescribes criteria for recognition and measurement of tax positions. It also provides guidance on derecognition, classification, interest and penalties, and disclosures related to income taxes associated with uncertain tax positions. The Company classifies all deferred tax asset or liabilities as non-current on the balance sheet.

Foreign Exchange

The Company’s foreign currency exposure relates primarily to international transactions where the currency collected from customers can be different from the currency used to purchase the product. In cases where the Company is not able to create a natural hedge by maintaining offsetting asset and liability amounts in the same currency, it may enter into foreign exchange contracts, typically in the form of forward purchase agreements, to facilitate the hedging of foreign currency exposures to mitigate the impact of changes in foreign currency exchange rates. These contracts generally have terms of no more than two months. The Company does not apply hedge accounting to these contracts and therefore the changes in fair value are recorded in earnings. The Company does not enter into foreign exchange contracts for trading purposes and the risk of loss on a foreign exchange contract is the risk of nonperformance by the counterparties, which the Company minimizes by limiting its counterparties to major financial institutions.

Recently Issued Accounting Pronouncements

In June 2016, the FASB issued Accounting Standards Update No. 2016-13, “Financial Instruments - Credit Losses (Topic 326)” ("ASU 2016-13"). ASU 2016-13 revises the methodology for measuring credit losses on financial instruments and the timing of when such losses are recorded. Originally, ASU 2016-13 was effective for fiscal years, and for interim periods within those fiscal years, beginning after December 15, 2019, with early adoption permitted. In November 2019, FASB issued ASU 2019-10, “Financial Instruments – Credit Losses (Topic 326), Derivatives and Hedging (Topic 815), and Leases (Topic 842).”  This ASU defers the effective date of ASU 2016-13 for public companies that are considered smaller reporting companies as defined by the SEC to fiscal years beginning after December 15, 2022, including interim periods within those fiscal years. Effective January 1, 2023, the company will adopt the update using a modified retrospective approach with a cumulative-effect adjustment to retained earnings. The new credit loss standard is not expected to have a material effect on our financial position, results of operations or cash flows.

F-17

3. Acquisition

Acquisition of Spinnakar Limited

On August 18, 2022, the Company entered into a Share Purchase Agreement and purchased the entire share capital of Spinnakar Limited (“Spinnakar”) for an aggregate purchase price of approximately £9.8 million (equivalent to $11.8 million USD), subject to certain working capital and other adjustments, paid at closing plus a potential post-closing earn-out. The allocation of the purchase price was based upon the estimated fair value of Spinnakar’s net tangible and identifiable intangible assets as of the date of the acquisition. The transaction was accounted for under the purchase method of accounting.

The financial position and operating results of Spinnakar is included in the Company’s consolidated financial statements from the date of acquisition. The Company recorded net revenue for Spinnakar of approximately $6.0 million and net income of approximately $0.4 million during the year ended December 31, 2022.

The impact of the acquisition’s preliminary purchase price allocations on the Company’s consolidated balance sheet and the acquisition date fair value of the total consideration transferred is depicted in the table below. Due to the timing of the closing of the transaction in the third quarter of 2022, the Company has not yet completed its evaluation and determination of certain assets acquired and liabilities assumed, primarily the final valuation of goodwill and intangible assets and the final evaluation and assessment of income tax accounts; therefore, the final fair value of the assets acquired and liabilities assumed, which will be completed within the measurement period of up to one year from the acquisition date, may vary from the Company’s preliminary estimates:

(in thousands)

Cash

$

3,325

Trade accounts receivable

1,852

Other current assets

367

Vendor relationships (10.4-year weighted average useful life)

11,687

Goodwill

3,244

Accounts payable and other current liabilities

(3,977)

Deferred income tax liabilities

(2,892)

Net assets

$

13,606

(in thousands)

Supplementary information:

Cash paid to sellers

$

11,836

Contingent earn-out

1,771

Total purchase consideration

$

13,607

Cash paid to sellers

11,836

Cash acquired in acquisition

(3,325)

Net cash paid for acquisition

$

8,511

Intangible assets are comprised of approximately $11.7 million of vendor relationships with a weighted average amortization period of 10.4 years, representing the expected period of benefits. Goodwill, which was allocated to the Distribution segment, is the excess of the consideration transferred over the net assets recognized and represents the expected revenue and cost synergies of the combined company and assembled workforce. Goodwill recognized as a result of the acquisition is not deductible for income tax purposes.

F-18

The purchase consideration includes approximately $1.8 million fair value for potential earn-out consideration if certain targets are achieved, payable in cash. The earn-out liability is included in non-current liabilities as of December 31, 2022, as any payments upon achievement of the certain targets wouldn’t be due within the next 12 months.

The Company incurred acquisition related costs of approximately $0.6 million during the year ended December 31, 2022 in conjunction with the Spinnakar acquisition, which is reflected in the accompanying consolidated statements of earnings. There were no acquisition related costs incurred during the year ended December 31, 2021.

F-19

4. Goodwill and Other Intangible Assets

Goodwill represents the premium paid over the fair value of the net tangible and intangible assets that are individually identified and separately recognized in business combinations. The following table summarizes the changes in the carrying amount of goodwill for the years ended December 31, 2022 and 2021.

Balance at January 1, 2021

$

16,816

Translation adjustments

372

Balance December 31, 2021

$

17,188

Goodwill acquired

3,244

Translation adjustments

(1,469)

Balance at December 31, 2022

$

18,963

Information related to the Company’s other intangibles, net is as follows:

As of December 31, 2022

Gross Carrying Amount

Accumulated Amortization

Net Carrying Amount

Customer and vendor relationships

$

21,457

2,165

19,292

Trade name

468

67

401

Total

$

21,925

$

2,232

$

19,693

As of December 31, 2021

Gross Carrying Amount

Accumulated Amortization

Net Carrying Amount

Customer and vendor relationships

$

10,550

$

1,079

$

9,471

Trade name

519

40

479

Total

$

11,069

$

1,119

$

9,950

Customer relationships are amortized over thirteen years. Vendor relationships are amortized between eight and fifteen years. Trade name is amortized over fifteen years.

The Company recognized total amortization expense for other intangibles, net of $1.2 million and $0.9 million during the years ended December 31, 2022 and 2021, respectively.

Estimated future amortization expense of the Company’s other intangibles, net as of December 31, 2022 is as follows:

2023

 

1,875

2024

 

1,875

2025

 

1,875

2026

 

1,875

2027

1,875

Thereafter

 

10,318

Total

$

19,693

F-20

5. Right-of-use Asset and Lease Liability

The Company has entered into operating leases for office and warehouse facilities, which have terms at lease commencement that range from 3 years to 11 years. The Company determines if an arrangement is a lease at inception. Leases with an initial term of 12 months or less are not recorded on the Consolidated Balance Sheets and lease expense for these leases is recognized on a straight-line basis over the lease term.

Right-of-use assets represent the Company’s right to use an underlying asset for the lease term and lease liabilities represent the obligation to make lease payments arising from the lease. Operating lease right-of-use assets and liabilities are recognized at commencement date of the lease based on the present value of the lease payments over the lease term. As our leases do not provide a readily determinable implicit rate, we use an incremental borrowing rate based on the information available at commencement date, including lease term, in determining the present value of future payments. The operating lease asset also includes any lease payments made and excludes lease incentives. Operating lease expense is recognized on a straight-line basis over the lease term and included in selling, general and administrative expenses.

Information related to the Company’s right-of-use assets and related lease liabilities were as follows:

Year ended

December 31,

2022

2021

Cash paid for operating lease liabilities

$

647

$

598

Right-of-use assets obtained in exchange for new operating lease obligations

$

63

$

163

Weighted-average remaining lease term

3.9 years

5.1 years

Weighted-average discount rate

3.5%

3.5%

Maturities of lease liabilities as of December 31, 2022 were as follows:

2023

 

624

2024

 

540

2025

 

548

2026

 

546

2027

125

2,383

Less: imputed interest

(566)

Total lease liabilities

$

1,817

Lease liabilities, current portion

521

Lease liabilities, net of current portion

1,296

Total lease liabilities

$

1,817

F-21

6. Balance Sheet Detail

Equipment and leasehold improvements, net consist of the following:

    

December 31,

December 31,

2022

    

2021

Equipment

$

2,720

$

2,627

Capitalized software

2,997

816

Leasehold improvements

 

1,848

 

1,762

 

7,565

 

5,205

Less accumulated depreciation and amortization

 

(4,050)

 

(3,273)

$

3,515

$

1,932

Depreciation expense relating to equipment and leasehold improvements, net was $0.4 million and $0.5 million during the years ended December 31, 2022 and 2021, respectively. Amortization expense relating to capitalized software was $0.4 million and $0.1 million during the years ended December 31, 2022 and 2021.

Accounts receivable – long term, net consist of the following:

December 31,

December 31,

2022

    

2021

    

Total amount due from customers

$

5,213

$

484

Less: unamortized discount

 

(188)

 

(8)

Less: current portion included in accounts receivable

 

(1,911)

 

(398)

$

3,114

$

78

Accounts payable and accrued expenses consist of the following:

    

December 31,

December 31,

2022

    

2021

    

Trade accounts payable

$

151,180

$

125,908

Accrued expenses

 

9,470

 

8,363

$

160,650

$

134,271

Accumulated other comprehensive loss consists of the following:

 

December 31,

December 31,

    

2022

    

2021

Foreign currency translation adjustments

$

(2,618)

$

492

$

(2,618)

$

492

F-22

7. Income Taxes

Deferred tax attributes resulting from differences between the tax basis of assets and liabilities and the reported amounts in the Consolidated Balance Sheets are as follows:

December 31,

December 31,

    

2022

    

2021

 

Deferred tax assets:

Accruals and reserves

$

631

$

501

Deferred rent credit

146

163

Depreciation and amortization

38

24

Total deferred tax assets

815

688

Deferred tax liabilities:

Accruals and reserves

(67)

Depreciation and amortization

(4,604)

 

(2,212)

Total deferred tax liabilities

(4,604)

(2,279)

Net deferred tax liabilities

$

(3,789)

$

(1,591)

The provision for income taxes is as follows:

Year ended December 31,

 

    

2022

    

2021

 

Current:

Federal

$

2,694

$

1,692

State

 

622

 

572

Foreign

 

1,254

 

674

 

4,570

 

2,938

Deferred:

Federal

 

(124)

 

(45)

State

(30)

(12)

Foreign

 

(381)

 

285

 

(535)

 

228

$

4,035

$

3,166

Effective Tax Rate

 

24.4

%  

 

25.6

%

The reasons for the difference between total tax expense and the amount computed by applying the U.S. statutory federal income tax rate to income before income taxes are as follows:

Year ended December 31,

 

    

2022

    

2021

 

Statutory rate applied to pretax income

$

3,472

$

2,596

State income taxes, net of federal income tax benefit

 

468

 

442

Other permanent items

156

19

Foreign income taxes over U.S. statutory rate

 

137

 

(18)

Other items

 

11

 

(36)

Adjustment for foreign rate change

353

Dividends

(9)

(17)

GILTI, net of foreign tax credits

(50)

(38)

Stock compensation

(150)

(135)

Income tax expense

$

4,035

$

3,166

F-23

The Company has analyzed filing positions in all the federal, state and foreign jurisdictions where it is required to file income tax returns, as well as all open tax years in these jurisdictions. The Company has identified its federal consolidated tax return, its state tax returns, its Canadian tax return and its tax return in the United Kingdom as major tax jurisdictions. As of December 31, 2022, the Company’s 2019 through 2021 Federal tax returns remain open for examination. The Company’s various states and Canadian tax returns are open for examination for the years 2018 through 2021. The Company’s tax return in the United Kingdom is open for examination for the years 2020 and 2021. The Company’s policy is to recognize interest related to unrecognized tax benefits as interest expense and penalties as operating expenses. The Company believes that it has appropriate support for the income tax positions it takes and expects to take on its tax returns, and that its accruals for tax liabilities are adequate for all open years based on an assessment of many factors including experience and interpretations of tax law applied to the facts of each matter.

For financial reporting purposes, income before income taxes includes the following components:

Year ended December 31,

 

    

2022

    

2021

 

United States

$

12,968

$

9,355

Foreign

 

3,564

 

3,009

$

16,532

$

12,364

The Company has approximately $8.0 million of undistributed earnings in Canada and $1.5 million of undistributed earnings in the United Kingdom, which it continues to reinvest indefinitely, and therefore no withholding taxes related to its repatriation has been recorded.

There was no activity related to the Company’s unrecognized tax benefits during the year ended December 31, 2022. The following table summarizes the activity related to the Company’s unrecognized tax benefits as of December 31, 2021:

    

2021

Balance as of January 1

$

49

Additions related to prior period tax positions

-

Reductions related to settlements with tax authorities

(49)

Balance as of December 31

$

-

During the years ended December 31, 2022 and 2021, the Company incurred interest and penalties of zero, respectively, related to these uncertain tax benefits.

8. Credit Facility

On November 15, 2017, the Company entered into a $20 million revolving credit facility (the “Credit Facility”) with Citibank, N.A. (“Citibank”) pursuant to a Second Amended and Restated Revolving Credit Loan Agreement (the “Loan Agreement”), Second Amended and Restated Revolving Credit Loan Note (the “Note”), Second Amended and Restated Security Agreement and Second Amended and Restated Pledge and Security Agreement. On August 31, 2020, the Company entered into an amendment to the Credit Facility (the “Amended Credit Facility”) pursuant to a First Amendment to Second Amended and Restated Revolving Credit Loan Agreement and Other Loan Documents (collectively, the “Amended Loan Agreement”) and First Allonge to Second Amended and Restated Revolving Credit Loan Note (the “Amended Note”).

The Amended Credit Facility, which will continue to be used for working capital and general corporate purposes, matures on June 30, 2023, at which time the Company must pay all outstanding principal of all outstanding loans plus all accrued and unpaid interest, and any, fees, costs and expenses. In addition, the Company will pay regular monthly payments of all accrued and unpaid interest. The interest rate for any borrowings under the Amended Credit Facility is subject to change from time to time based on the changes in the LIBOR Rate, as defined in the Amended Loan Agreement,  

F-24

with the LIBOR Rate not to be less than 0.75 percentage points. Interest on the unpaid principal balance of the Amended Note will be calculated using a rate of 1.75 percentage points over the LIBOR Rate. If the LIBOR Rate becomes unavailable during the term of the Amended Credit Facility, interest will be based upon the Benchmark Replacement (as defined in the Amended Loan Agreement) selected by Citibank after notifying the Company. The Amended Credit Facility is secured by the assets of the Company.

At December 31, 2022 and 2021, the Company had no borrowings outstanding under the Credit Facility.  The Company incurred $0.1 million of interest expense, related to the Credit Facility during the years ended December 31, 2022 and 2021, respectively.

On April 13, 2021, Wayside Technology UK Holdings Limited (“Wayside UK”), a wholly-owned subsidiary of the Company, entered into an uncommitted short term credit facility of £8 million (“Uncommitted Credit Facility”) with Citibank N.A., London Branch (“Citibank London”) pursuant to certain terms and conditions. Obligations under the Uncommitted Credit Facility are guaranteed by the Company and will be used for working capital and general corporate purposes and have a maturity date of April 13, 2023, at which time Wayside UK must pay all outstanding principal of all outstanding loans plus all accrued and unpaid interest, and any interest, fees, costs and expenses, if any.

Interest on the unpaid principal balance of the Uncommitted Credit Facility will be calculated using a rate of 1.85 percentage points over the Daily Rate, as defined in the Uncommitted Credit Facility. Amounts borrowed under the Uncommitted Credit Facility will be guaranteed by the Company.   The Uncommitted Credit Facility may be cancelled at any time by Citibank London.  Citibank London has the sole discretion to accept or reject any requested utilization of the Uncommitted Credit Facilitation.

At December 31, 2022 and 2021, Wayside UK had no borrowings outstanding under the Uncommitted Credit Facility.

On April 8, 2022, the Company entered into a $2.1 million term loan (the “Term Loan”) with First American Commercial Bancorp, Inc. pursuant to a Master Loan and Security Agreement. The proceeds from the Term Loan will be used to fund certain capital expenditures. The borrowing under the Term Loan bears interest at a rate of 3.73% per annum and is being repaid over forty-eight monthly installments of principal and interest through April 2026.

As of December 31, 2022, the Company had $1.8 million outstanding under the Term Loan. There were no amounts outstanding under the Term Loan as of December 31, 2021.

As of December 31, 2022, future principal payments under the Term Loan are as follows:

Year ended December 31,

2023

520

2024

540

2025

560

2026

192

Total

$

1,812

9. Stockholders’ Equity and Stock-Based Compensation

The 2021 Omnibus Incentive Plan (the “2021 Plan”) authorizes the grant of Stock Options, Stock Units, Stock Appreciation Rights, Restricted Stock, Deferred Stock, Stock Bonuses and other equity-based awards. The 2021 Plan was approved by the Company’s stockholders at the 2021 Annual Meeting in June 2021. The total number of shares of the Company’s common stock, par value $0.01 per share (“Common Stock”) initially available for award under the 2021 Plan was 500,000 shares. As of December 31, 2022, the number of shares of Common Stock available for future award grants to employees, officers and directors under the 2021 Plan is 373,594.

F-25

The 2012 Stock-Based Compensation Plan (the “2012 Plan”) authorizes the grant of Stock Options, Stock Units, Stock Appreciation Rights, Restricted Stock, Deferred Stock, Stock Bonuses and other equity-based awards. The total number of shares of the Company’s Common Stock initially available for award under the 2012 Plan was 600,000, which was increased to 1,000,000 shares by stockholder approval at the Company’s 2018 Annual Meeting in June 2018. Immediately prior to the replacement of the 2012 Plan by the 2021 Plan, there were 352,158 shares of Common Stock available under the 2012 Plan. The 2012 Plan has been replaced by the 2021 Plan and none of the remaining shares of Common Stock authorized under the 2012 Plan will be transferred to or used under the 2021 Plan nor will any awards under the 2012 Plan that are forfeited increase the shares available for awards under the 2021 Plan. As of December 31, 2022, the number of shares of Common Stock available under the 2012 Plan is zero.

During the year ended December 31, 2022, the Company granted a total of 78,505 shares of Restricted Stock to officers, directors and employees. These shares of Restricted Stock vest immediately or over time in up to sixteen equal quarterly installments. During the year ended December 31, 2022, 4,056 shares of Restricted Stock were forfeited as a result of employees terminating employment with the Company.

During the year ended December 31, 2021, the Company granted a total of 106,122 shares of Restricted Stock to officers, directors and employees. These shares of Restricted Stock vest immediately or over time in up to sixteen equal quarterly installments. During the year ended December 31, 2021, 22,159 shares of Restricted Stock were forfeited as a result of officers and employees terminating employment with the Company.

There was no options activity during the year ended December 31, 2022 and 2021 and there were no options outstanding or exercisable at December 31, 2022 and 2021, respectively, under both the Company’s 2012 Plan and 2021 Plan.

Under the various plans, options that are cancelled can be reissued. At December 31, 2022, no cancelled options were reserved for future reissuance.

A summary of nonvested shares of Restricted Stock awards outstanding under the Company’s 2012 Plan as of December 31, 2022, and 2021 and changes during the years ended December 31, 2022 and 2021 is as follows:

    

    

Weighted

 

Average Grant

 

Date

 

Shares

Fair Value

 

Nonvested shares at January 1, 2021

 

122,792

$

13.37

Granted in 2021

 

106,122

 

22.96

Vested in 2021

 

(84,653)

 

17.47

Forfeited in 2021

 

(22,159)

 

16.14

Nonvested shares at December 31, 2021

 

122,102

$

18.35

Granted in 2022

 

78,505

 

31.83

Vested in 2022

 

(75,492)

 

21.93

Forfeited in 2022

 

(4,056)

 

19.20

Nonvested shares at December 31, 2022

 

121,059

$

24.83

As of December 31, 2022, there was approximately $2.8 million of total unrecognized compensation cost related to nonvested share-based compensation arrangements. The unrecognized compensation cost is expected to be recognized over a weighted-average period of 2.3 years.

For the years ended December 31, 2022 and 2021, the Company recognized share-based compensation cost of approximately $1.9 million and $1.5 million, respectively, which is included in selling, general and administrative expenses.

F-26

10. Defined Contribution Plan

The Company maintains a defined contribution plan covering substantially all employees. Participating employees may make contributions to the plan, through payroll deductions. Matching contributions are made by the Company equal to 50% of the employee’s contribution to the extent such employee contribution did not exceed 6% of their compensation. During the years ended December 31, 2022 and 2021, the Company expensed approximately $0.3 million, respectively, related to this plan.

11. Commitments and Contingencies

Employment Agreements

The Company has entered into employment agreements with four of its executive officers. If the Company terminates their respective employment for any reason other than for cause, these executive officers are entitled to severance payments ranging from six to twelve months at each executive officer’s then applicable base salary. Certain of these executive officers are entitled to additional severance payments if the Company terminates their respective employment for any reason other than for cause during the term of their employment and on or within twelve months following a change in control.

Other

As of December 31, 2022, the Company has no standby letters of credit, has no standby repurchase obligations or other commercial commitments. The Company has a line of credit see Note 8 (Credit Facility). Other than employment agreements, other management compensation arrangements and related party transactions as disclosed in Note 12, the Company is not engaged in any other transactions with related parties.

12. Related Party Transactions

The Company made sales to a customer where a member of our Board of Directors was formerly an executive. This member of our Board of Directors employment with the customer ended during the second quarter of fiscal 2022 and prior to this member of Board of Directors employment ending, net sales to this customer totaled approximately $0.2 million, which was subsequently collected in full. During the year ended December 31, 2021, net sales to this customer totaled $0.3 million and amounts due from this customer as of December 31, 2021 totaled zero.

The Company made sales to a customer where a family member of one of our executive’s has a minority ownership position. During the year ended December 31, 2022 and 2021, net sales to this customer totaled $1.8 million and $0.4 million, respectively, and amounts due from this customer as of December 31, 2022 and 2021 totaled $0.1 million and $0.2 million, respectively. The Company also accrued referral fees totaling zero and $0.2 million to this customer during the year ended December 31, 2022 and 2021, respectively, and amounts owed to this customer for these referral fees as of December 31, 2022 and 2021 totaled zero and $0.1 million, respectively.

13. Industry, Segment and Geographic Financial Information

The Company distributes software developed by others through resellers indirectly to customers worldwide.  We also resell computer software and hardware developed by others and provide technical services directly to customers worldwide.

FASB ASC Topic 280, “Segment Reporting,” requires that public companies report profits and losses and certain other information on their “reportable operating segments” in their annual and interim financial statements. The internal organization used by the public company’s Chief Operating Decision Maker (CODM) to assess performance and allocate resources determines the basis for reportable operating segments. The Company’s CODM is the Chief Executive Officer.

The Company is organized into two reportable operating segments. The “Distribution” segment distributes technical software to corporate resellers, value added resellers (VARs), consultants and systems integrators worldwide.

F-27

The “Solutions” segment is a cloud solutions provider and value-added reseller of software, hardware and services to customers worldwide.

As permitted by FASB ASC Topic 280, the Company has utilized the aggregation criteria in combining its operations in Canada, Europe and the United Kingdom with the domestic segments as the international operations provide the same products and services to similar clients and are considered together when the Company’s CODM decides how to allocate resources.

Segment income is based on segment net sales less the respective segment’s cost of sales as well as segment direct costs (including such items as payroll costs and payroll related costs, such as profit sharing, incentive awards and insurance) and excluding general and administrative expenses not attributed to an individual segment business unit. The Company only identifies accounts receivable, vendor prepayments and inventory by segment as shown below as “Selected Assets” by segment; it does not allocate its other assets, including capital expenditures by segment. The following segment reporting information of the Company is provided:

Year ended

December 31,

  

2022

  

2021

Net Sales:

Distribution

$

282,509

$

259,360

Solutions

 

21,839

 

23,222

 

304,348

 

282,582

Gross Profit:

Distribution

$

44,970

$

36,526

Solutions

 

9,124

 

9,190

 

54,094

 

45,716

Direct Costs:

Distribution

$

15,804

$

14,610

Solutions

 

4,296

 

4,741

 

20,100

 

19,351

Segment Income Before Taxes: (1)

Distribution

$

29,166

$

21,916

Solutions

 

4,828

 

4,449

Segment Income Before Taxes

 

33,994

 

26,365

General and administrative

$

14,044

$

12,785

Amortization and depreciation expense

2,054

1,529

Acquisition related costs

582

Interest, net

159

359

Foreign currency transaction loss

 

(941)

 

(46)

Income before taxes

$

16,532

$

12,364

(1) Excludes general corporate expenses including acquisition related costs, amortization and depreciation expense, interest, and foreign currency transaction (loss) gain.

    

    

    

As of

As of 

December 31,

December 31,

Selected Assets by Segment:

2022

2021

Distribution

$

180,602

$

133,506

Solutions

 

21,420

 

18,895

Segment Select Assets

 

202,022

 

152,401

Corporate Assets

 

29,834

 

38,351

Total Assets

$

231,856

$

190,752

F-28

Geographic areas and net sales mix related to operations for the year ended December 31, 2022 and 2021 were as follows. Net sales is allocated to a geographic area based on the location of the sale, which is generally the customer’s country of domicile.

    

Year ended

    

December 31, 2022

Distribution

  

Solutions

Total

Geography

              

              

USA

$

225,380

$

11,137

$

236,517

Europe and United Kingdom

 

34,423

 

9,171

 

43,594

Canada

 

22,706

 

1,531

 

24,237

Total net sales

$

282,509

$

21,839

$

304,348

Timing of Revenue Recognition

              

              

Transferred at a point in time where the Company is principal (1)

$

251,334

$

15,044

$

266,378

Transferred at a point in time where the Company is agent (2)

 

31,175

 

6,795

 

37,970

Total net sales

$

282,509

$

21,839

$

304,348

    

Year ended

    

December 31, 2021

Distribution

  

Solutions

Total

Geography

              

              

USA

$

210,247

$

11,057

$

221,304

Europe and United Kingdom

 

26,055

 

10,652

 

36,707

Canada

 

23,058

 

1,513

 

24,571

Total net sales

$

259,360

$

23,222

$

282,582

Timing of Revenue Recognition

              

              

Transferred at a point in time where the Company is principal (1)

$

234,322

$

16,360

$

250,682

Transferred at a point in time where the Company is agent (2)

 

25,038

 

6,862

 

31,900

Total net sales

$

259,360

$

23,222

$

282,582

(1)Includes net sales from third-party hardware and software products.

(2)Includes net sales from third-party maintenance, software support and services.

Geographic identifiable assets related to operations as of December 31, 2022 and 2021 were as follows.

    

December 31,

December 31,

 

Identifiable Assets by Geographic Areas

2022

    

2021

USA

$

137,877

$

122,445

Canada

27,597

24,923

Europe and United Kingdom

66,382

43,384

Total

$

231,856

$

190,752

F-29

For the year ended December 31, 2022, the Company had two customers that accounted for 21%, and 16%, respectively, of consolidated net sales and as of December 31, 2022, 16% and 18%, respectively, of total net accounts receivable. For the year ended December 31, 2022, the Company had two vendors that accounted for 17% and 9%, respectively, of our consolidated purchases.

For the year ended December 31, 2021, the Company had two customers that accounted for 18%, and 17%, respectively, of consolidated net sales and as of December 31, 2021, 18% and 22%, respectively, of total net accounts receivable. For the year ended December 31, 2021, the Company had two vendors that accounted for 20% and 10%, respectively of our consolidated purchases.

Our top five customers accounted for 52% and 51% of consolidated net sales for the years ended December 31, 2022 and 2021, respectively.

F-30

Climb Global Solutions, Inc. and Subsidiaries

Schedule II--Valuation and Qualifying Accounts

(Amounts in thousands)

    

    

Charged to 

    

    

 

Beginning

Cost and 

Ending 

 

Description

Balance

Expense

Deductions

Balance

 

Year ended December 31, 2021

Allowance for doubtful accounts

$

892

$

26

$

37

$

881

Year ended December 31, 2022

Allowance for doubtful accounts

$

881

$

19

$

58

$

842

F-31

EX-4.3 2 clmb-20221231xex4d3.htm EX-4.3 wstg_Ex4_3

Exhibit 4.3

 

DESCRIPTION OF THE REGISTRANT’S

SECURITIES REGISTERED PURSUANT TO

SECTION 12 OF THE SECURITIES EXCHANGE

ACT OF 1934

 

Climb Global Solutions, Inc. (the “Company,” “we” or “our”) has one class of securities registered under Section 12 of the Securities Exchange Act of 1934, as amended (the “Exchange Act”), which is our common stock, par value $0.01 per share (“Common Stock”). The following summary of the material terms of our Common Stock is qualified by reference to our Restated Certificate of Incorporation, as amended (the “Certificate of Incorporation”) and our Amended and Restated Bylaws (the “Bylaws”), each of which is incorporated by reference as an exhibit to our Annual Report on Form 10-K, as well as applicable provisions of the Delaware General Corporation Law (“DGCL”).

 

Capitalization

 

Our authorized capital stock consists of 10,000,000 shares of Common Stock and 10,000 shares of preferred stock, par value $0.01 per share (“Preferred Stock”).

 

Common Stock

 

Holders of our Common Stock are entitled to receive dividends and other distributions when authorized by our Board of Directors and declared by us out of assets legally available for the payment thereof. Holders of our Common Stock are also entitled, in the event of any voluntary or involuntary liquidation, dissolution or winding up of the Company, to receive a pro rata distribution of any remaining assets after payment or provision for payment of our debts or liabilities. These rights are subject to the preferential rights of any Preferred Stock outstanding at any time.

Each share of Common Stock shall be entitled to one vote per share on all matters to be voted on by the stockholders of the Company, including the election of Directors. Except as provided by the terms of any outstanding Preferred Stock, our common stockholders will possess exclusive voting power. Cumulative voting in the election of Directors is not permitted. Directors will be elected by a plurality of voting power of the shares of capital stock of the Company which are present in person or by proxy and entitled to vote in the election of Directors at a duly called meeting at which a quorum is present. The affirmative vote of the holders of a majority in voting power of the shares of capital stock of the Company which are present in person or by proxy and entitled to vote thereon cast at a meeting of stockholders duly called and at which a quorum is present shall be sufficient to approve any matter which may properly come before the meeting, unless more than a majority of the votes present is required by law or the Certificate of Incorporation.

Holders of our Common Stock have no preemptive, subscription, redemption, sinking fund or conversion rights. The rights, preferences and privileges of holders of our Common Stock are subject to, and may be adversely affected by, the rights of the holders of shares of any series of Preferred Stock which we may designate and issue in the future.

Our Common Stock is listed on the New York Stock Exchange under the symbol “CLMB.”

 

Preferred  Stock

 

Our Certificate of Incorporation authorizes our Board of Directors, without further action by our


stockholders, to establish one or more series of Preferred Stock and to determine, with respect to any series of Preferred Stock, the voting powers, full or limited, or no voting powers, and with such designations, preferences and relative, participating, optional or other rights, and qualifications or restrictions thereof. As a result, our Board of Directors could authorize the issuance of shares of Preferred Stock that have priority over shares of our Common Stock with respect to dividends or other distributions or rights upon liquidation, voting rights or with other terms and conditions that could have the effect of delaying, deferring or preventing a transaction or a change of control of our Company. As of the date hereof, we have no outstanding shares of Preferred Stock.

 

Certain Provisions of Delaware Law and Our Charter and Bylaws

 

Our Board of Directors

Our Certificate of Incorporation provides that the number of Directors of our Company may not be fewer than three and may be fixed only by the resolution of Directors then in office. Subject to the rights of the holders of any outstanding Preferred Stock, any vacancy in the Board of Directors (including a vacancy caused by an increase in the number of Directors) may be filled solely by resolution adopted by a majority of Directors then in office, whether or not such majority constitutes less than a quorum, or by a sole remaining Director; provided however that any vacancy created by a removal of a Director by the stockholders may be filled by action of the stockholders taken at the same meeting at which the vacancy was created; such action to be upon the affirmative vote of the holders of not less than a majority of the voting power of the outstanding capital stock entitled to vote in the election of Directors, voting as a single class. Subject to the rights of holders of any outstanding Preferred Stock to elect Directors or to remove Directors so elected, a Director may be removed only for cause and only by the affirmative vote of the holders of at least a majority of the voting power of the outstanding capital stock entitled to vote in the election of Directors, voting as a single class.

Special Meetings of Stockholders

Special meetings of stockholders of the Company may be called only by the Board of Directors, the Chairman of the Board of Directors, our Chief Executive Officer, our President or the record holders of at least 35% of the voting power of the issued and outstanding capital stock of the Company.

Amendments to our Certificate of Incorporation and Bylaws

Any amendment of our Certificate of Incorporation must first be declared advisable by our Board of Directors and, if required by the DGCL or our Certificate of Incorporation, thereafter be approved by a majority of the outstanding shares entitled to vote on the amendment, and a majority of the outstanding shares of each class entitled to vote thereon as a class. Notwithstanding the preceding sentence, the affirmative vote of stockholders holding 66-2/3% of the outstanding shares of capital stock then entitled to vote thereon shall be required in order to amend any provision of, or to adopt any provision which is inconsistent with, Article V (Board of Directors; Stockholders’ Meetings), Article VI (Director Liability) or Article VII (Amendments to the Restated Certificate of Incorporation) of our Certificate of Incorporation. Our Bylaws may be amended by our Board of Directors and may also be amended by the affirmative vote of stockholders holding not less than 66-2/3% of the voting power of the Company then entitled to vote thereon.

Requirements for Advance Notice of Stockholder Proposals and Nominations

Except as provided in Rule 14a-8 of the Exchange Act, a stockholder who intends to propose business at an annual or special meeting of the stockholders of the Company must comply with the notice,


informational requirements and procedures set forth in our Certificate of Incorporation and Bylaws. Pursuant to our Certificate of Incorporation a stockholder’s notice must be delivered to the Secretary of the Company at the principal executive offices of the Company not later than the earlier to occur of (i) the date which is 60 days prior to the meeting and (ii) the date determined by the Company in compliance with the Exchange Act as the last date on which stockholder proposals may be submitted to the Company for inclusion in the Company’s proxy materials; provided that, if the Company provides less than 60 days’ notice or prior public disclosure of the date of the meeting, to be timely, any such stockholder proposal must be received no later than the close of business on the tenth day following the day on which such notice or prior disclosure was made, whichever first occurs.

Delaware Anti-Takeover Law

We are subject to Section 203 of the DGCL. Section 203 generally prohibits a public Delaware corporation from engaging in a business combination with an “interested stockholder” for a period of three years following the date on which the stockholder became an interested stockholder, unless:

prior to the date of the business combination, the board of directors of the corporation approved either the business combination or the transaction which resulted in the stockholder becoming an interested stockholder;
upon consummation of the transaction which resulted in the stockholder becoming an interested stockholder, the interested stockholder owned at least 85% of the voting stock of the corporation outstanding at the time the transaction commenced, excluding for purposes of determining the voting stock outstanding (but not the outstanding voting stock owned by the interested stockholder)

(a) shares owned by persons who are directors and also officers and (b) shares owned by employee stock plans in which employee participants do not have the right to determine confidentially whether shares held subject to the plan will be tendered in a tender or exchange offer; or

on or subsequent to the date of the business combination, the business combination is approved by the board of directors and authorized at an annual or special meeting of stockholders, and not by written consent, by the affirmative vote of at least 66-2/3% of the outstanding voting stock which is not owned by the interested stockholder.

The term “interested stockholder” is defined generally as any person who is the owner of 15% or more of the corporation’s outstanding voting stock or any person who is an affiliate or associate of the corporation and was the owner of 15% or more of the corporation’s outstanding voting stock at any time within the three-year period immediately prior to the date on which it is sought to be determined whether such person is an interested stockholder, and the affiliates and associates of such person.

 

Anti-Takeover Effects of Various Provisions

 

Certain provisions of the DGCL, our Certificate of Incorporation and our Bylaws summarized above may have an anti-takeover effect and could make the following transactions more difficult: acquisition of the Company by means of a tender offer; acquisition of the Company by means of a proxy contest or otherwise; or removal of the Company’s incumbent officers and directors. It is possible that these provisions could make it more difficult to accomplish or could deter transactions that stockholders may otherwise consider to be in their best interest or in the best interests of the Company, including transactions that might result in a premium over the market price for shares of our Common Stock.


EX-21.1 3 clmb-20221231xex21d1.htm EX-21.1

Exhibit 21.1

Subsidiaries (Active)

Name

    

Jurisdiction of Organization

Climb Channel Solutions, Inc.

Delaware

TechXtend, Inc.

Delaware

ISP International Software Partners, Inc.

Interwork Technologies Inc.

Wayside Technology Group Europe B.V.

Lifeboat Distribution,  EMEA B.V.

Delaware

Delaware

Netherlands

Netherlands

Climb Global Solutions (Canada), Inc.

Climb Global Solutions Holdings UK Limited

Canada

England and Wales

Climb Global Solutions Limited

Climb Global Solutions EMEA Limited

England and Wales

Ireland


EX-23.1 4 clmb-20221231xex23d1.htm EX-23.1

Exhibit 23.1

Consent of Independent Registered Public Accounting Firm

Climb Global Solutions, Inc.

Eatontown, New Jersey

We hereby consent to the incorporation by reference in the Registration Statement on Form S-8 (No. 333-257231, 333-237670, and 333-184573) of Climb Global Solutions, Inc. (formerly known as Wayside Technology Group, Inc.) of our reports dated March 16, 2023, relating to the consolidated financial statements and schedule, and the effectiveness of Climb Global Solutions, Inc.’s internal control over financial reporting, which appears in this Annual Report on Form 10-K.

/s/ BDO USA, LLP

Woodbridge, New Jersey

March 16, 2023


EX-31.1 5 clmb-20221231xex31d1.htm EX-31.1

Exhibit 31.1

CERTIFICATION OF CHIEF EXECUTIVE OFFICER (PRINCIPAL EXECUTIVE OFFICER)

I, Dale Foster, certify that:

1.I have reviewed this annual report on Form 10-K of Climb Global Solutions, 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 officers 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 officers 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: March 16, 2023

/s/ Dale Foster

Dale Foster

Chief Executive Officer and Director (principal executive officer)


EX-31.2 6 clmb-20221231xex31d2.htm EX-31.2

Exhibit 31.2

CERTIFICATION OF CHIEF FINANCIAL OFFICER (PRINCIPAL FINANCIAL OFFICER)

I, Andrew Clark, certify that:

1.I have reviewed this annual report on Form 10-K of Climb Global Solutions, 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 officers 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 officers 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: March 16, 2023

/s/ Andrew Clark

Andrew Clark

Vice President and Chief Financial Officer (principal financial officer)


EX-31.3 7 clmb-20221231xex31d3.htm EX-31.3

Exhibit 31.3

CERTIFICATION OF CHIEF ACCOUNTING OFFICER (PRINCIPAL ACCOUNTING OFFICER)

I, Matthew Sullivan, certify that:

1.I have reviewed this annual report on Form 10-K of Climb Global Solutions, 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 officers 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 officers 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: March 16, 2023

/s/ Matthew Sullivan

Matthew Sullivan

Vice President and Chief Accounting Officer (principal accounting officer)


EX-32.1 8 clmb-20221231xex32d1.htm EX-32.1

Exhibit 32.1

CERTIFICATION PURSUANT TO

Graphic18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO

SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

In connection with the Annual Report of Climb Global Solutions, Inc. (the “Company”) on Form 10-K for the period ending December 31, 2022 as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Dale Foster, certify, pursuant to 18 U.S.C. §1350, as adopted pursuant to §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/ Dale Foster

Dale Foster

Chief Executive Officer and Director

March 16, 2023

A signed original of this written statement required by Section 906 has been provided to the Company and will be retained by the Company and furnished to the Securities and Exchange Commission or its staff upon request.


EX-32.2 9 clmb-20221231xex32d2.htm EX-32.2

Exhibit 32.2

CERTIFICATION PURSUANT TO

18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO

SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

In connection with the Annual Report of Climb Global Solutions, Inc. (the “Company”) on Form 10-K for the period ending December 31, 2022 as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Andrew Clark, certify, pursuant to 18 U.S.C. §1350, as adopted pursuant to §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/ Andrew Clark

Andrew Clark

Vice President and Chief Financial Officer

March 16, 2023

A signed original of this written statement required by Section 906 has been provided to the Company and will be retained by the Company and furnished to the Securities and Exchange Commission or its staff upon request.


EX-32.3 10 clmb-20221231xex32d3.htm EX-32.3

Exhibit 32.3

CERTIFICATION PURSUANT TO

18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO

SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

In connection with the Annual Report of Climb Global Solutions, Inc. (the “Company”) on Form 10-K for the period ending December 31, 2022 as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Matthew Sullivan, certify, pursuant to 18 U.S.C. §1350, as adopted pursuant to §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/ Matthew Sullivan

Matthew Sullivan

Vice President and Chief Accounting Officer

March 16, 2023

A signed original of this written statement required by Section 906 has been provided to the Company and will be retained by the Company and furnished to the Securities and Exchange Commission or its staff upon request.


GRAPHIC 11 clmb-20221231xex32d1001.jpg GRAPHIC begin 644 clmb-20221231xex32d1001.jpg M_]C_X 02D9)1@ ! @ 0 ! #_VP!# ," @," @,# P,$ P,$!0@%!00$ M!0H'!P8(# H,# L*"PL-#A(0#0X1#@L+$!80$1,4%145# \7&!84&!(4%13_ MVP!# 0,$! 4$!0D%!0D4#0L-%!04%!04%!04%!04%!04%!04%!04%!04%!04 M%!04%!04%!04%!04%!04%!04%!04%!3_P 1" 0 ! # 2( A$! Q$!_\0 M'P 04! 0$! 0$ $" P0%!@<("0H+_\0 M1 @$# P($ P4% M! 0 %] 0(# 01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D* M%A<8&1HE)B7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7& MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$ P$! 0$! M 0$! 0 $" P0%!@<("0H+_\0 M1$ @$"! 0#! <%! 0 0)W $" M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$ MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4 MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,! (1 Q$ /P#]4Z*** /_ !V0$! end EX-101.SCH 12 clmb-20221231.xsd EX-101.SCH 99900 - Disclosure - Standard And Custom Axis Domain Defaults link:presentationLink link:calculationLink link:definitionLink 00100 - Statement - Consolidated Balance Sheets link:presentationLink link:calculationLink link:definitionLink 00200 - Statement - Consolidated Statements of Earnings link:presentationLink link:calculationLink link:definitionLink 00300 - Statement - Consolidated Statements of Comprehensive Income link:presentationLink link:calculationLink link:definitionLink 00500 - Statement - Consolidated Statements of Cash Flows link:presentationLink link:calculationLink link:definitionLink 40201 - Disclosure - Summary of Significant Accounting Policies - Net Income Per Common Share (Details) link:presentationLink link:calculationLink link:definitionLink 40302 - Disclosure - Acquisition - Cash Consideration (Details) link:presentationLink link:calculationLink link:definitionLink 40303 - Disclosure - Acquisition - Supplementary information (Details) link:presentationLink link:calculationLink link:definitionLink 40402 - Disclosure - Goodwill and Other Intangible Assets - Other intangibles, net (Details) link:presentationLink link:calculationLink link:definitionLink 40403 - Disclosure - Goodwill and Other Intangible Assets - Future amortization expense (Details) link:presentationLink link:calculationLink link:definitionLink 40503 - Disclosure - Right-of-use Asset and Lease Liability - Maturities of lease liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 40601 - Disclosure - Balance Sheet Detail (Details) link:presentationLink link:calculationLink link:definitionLink 40603 - Disclosure - Balance Sheet Detail - Accounts payable and accrued expenses and AOCI (Details) link:presentationLink link:calculationLink link:definitionLink 40604 - Disclosure - Right-of-use Asset and Lease Liability - Maturities of lease liabilities (Details) (calc2) link:presentationLink link:calculationLink link:definitionLink 40701 - Disclosure - Income Taxes - Deferred Tax Assets - (Details) link:presentationLink link:calculationLink link:definitionLink 40702 - Disclosure - Income Taxes - Provision for Income Taxes - (Details) link:presentationLink link:calculationLink link:definitionLink 40703 - Disclosure - Income Taxes - Reconciliations and Components of Income - (Details) link:presentationLink link:calculationLink link:definitionLink 40802 - Disclosure - Credit Facility - Future Principal Payments Under Term Loan (Details) link:presentationLink link:calculationLink link:definitionLink 41301 - Disclosure - Industry, Segment and Geographic Financial Information (Details) link:presentationLink link:calculationLink link:definitionLink 00090 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 00105 - Statement - Consolidated Balance Sheets (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 00400 - Statement - Consolidated Statements of Stockholder's Equity link:presentationLink link:calculationLink link:definitionLink 10101 - Disclosure - Description of Business link:presentationLink link:calculationLink link:definitionLink 10201 - Disclosure - Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 10601 - Disclosure - Balance Sheet Detail link:presentationLink link:calculationLink link:definitionLink 10701 - Disclosure - Income Taxes link:presentationLink link:calculationLink link:definitionLink 10801 - Disclosure - Credit Facility link:presentationLink link:calculationLink link:definitionLink 10901 - Disclosure - Stockholders' Equity and Stock Based Compensation link:presentationLink link:calculationLink link:definitionLink 11001 - Disclosure - Defined Contribution Plan link:presentationLink link:calculationLink link:definitionLink 11101 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 11301 - Disclosure - Industry, Segment and Geographic Financial Information link:presentationLink link:calculationLink link:definitionLink 11401 - Disclosure - Schedule II--Valuation and Qualifying Accounts link:presentationLink link:calculationLink link:definitionLink 20202 - Disclosure - Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 30203 - Disclosure - Summary of Significant Accounting Policies (Tables) link:presentationLink link:calculationLink link:definitionLink 30303 - Disclosure - Acquisition (Tables) link:presentationLink link:calculationLink link:definitionLink 30603 - Disclosure - Balance Sheet Detail (Tables) link:presentationLink link:calculationLink link:definitionLink 30703 - Disclosure - Income Taxes (Tables) link:presentationLink link:calculationLink link:definitionLink 30903 - Disclosure - Stockholders' Equity and Stock Based Compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 31303 - Disclosure - Industry, Segment and Geographic Financial Information (Tables) link:presentationLink link:calculationLink link:definitionLink 40101 - Disclosure - Description of Business (Details) link:presentationLink link:calculationLink link:definitionLink 40202 - Disclosure - Summary of Significant Accounting Policies - Equipment and Revenue Recognition (Details) link:presentationLink link:calculationLink link:definitionLink 40301 - Disclosure - Acquisition (Details) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - Right-of-use Asset and Lease Liability (Details) link:presentationLink link:calculationLink link:definitionLink 40602 - Disclosure - Balance Sheet Detail - Accounts receivable - long term, net (Details) link:presentationLink link:calculationLink link:definitionLink 40704 - Disclosure - Income Taxes - Unrecognized Tax Benefits - (Details) link:presentationLink link:calculationLink link:definitionLink 40801 - Disclosure - Credit Facility (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - Stockholders' Equity and Stock Based Compensation - Plans and options (Details) link:presentationLink link:calculationLink link:definitionLink 40902 - Disclosure - Stockholders' Equity and Stock Based Compensation - Nonvested (Details) link:presentationLink link:calculationLink link:definitionLink 41001 - Disclosure - Defined Contribution Plan (Details) link:presentationLink link:calculationLink link:definitionLink 41101 - Disclosure - Commitments and Contingencies (Details) link:presentationLink link:calculationLink link:definitionLink 41201 - Disclosure - Related Party Transactions (Detail) link:presentationLink link:calculationLink link:definitionLink 41302 - Disclosure - Industry, Segment and Geographic Financial Information - Selected Assets by Segment (Details) link:presentationLink link:calculationLink link:definitionLink 41303 - Disclosure - Industry, Segment and Geographic Financial Information - Disaggregation of Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 41304 - Disclosure - Industry, Segment and Geographic Financial Information - Assets (Details) link:presentationLink link:calculationLink link:definitionLink 41305 - Disclosure - Industry, Segment and Geographic Financial Information - Concentration (Details) link:presentationLink link:calculationLink link:definitionLink 41401 - Disclosure - Schedule II--Valuation and Qualifying Accounts (Details) link:presentationLink link:calculationLink link:definitionLink 10301 - Disclosure - Acquisition link:presentationLink link:calculationLink link:definitionLink 10401 - Disclosure - Goodwill and Other Intangible Assets link:presentationLink link:calculationLink link:definitionLink 10501 - Disclosure - Right-of-use Asset and Lease Liability link:presentationLink link:calculationLink link:definitionLink 11201 - Disclosure - Related Party Transactions link:presentationLink link:calculationLink link:definitionLink 30403 - Disclosure - Goodwill and Other Intangible Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 30503 - Disclosure - Right-of-use Asset and Lease Liability (Tables) link:presentationLink link:calculationLink link:definitionLink 30803 - Disclosure - Credit Facility (Tables) link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - Goodwill and Other Intangible Assets - Summary of goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 40502 - Disclosure - Right-of-use Asset and Lease Liability - Operating lease information (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 13 clmb-20221231_cal.xml EX-101.CAL EX-101.DEF 14 clmb-20221231_def.xml EX-101.DEF EX-101.LAB 15 clmb-20221231_lab.xml EX-101.LAB EX-101.PRE 16 clmb-20221231_pre.xml EX-101.PRE XML 17 R1.htm IDEA: XBRL DOCUMENT v3.22.4
Document and Entity Information - USD ($)
$ in Millions
12 Months Ended
Dec. 31, 2022
Feb. 28, 2023
Jun. 30, 2022
Document and Entity Information      
Document Type 10-K    
Document Transition Report false    
Document Period End Date Dec. 31, 2022    
Entity Registrant Name Climb Global Solutions, Inc.    
Entity File Number 000-26408    
Entity Incorporation, State or Country Code DE    
Entity Tax Identification Number 13-3136104    
Entity Address, Address Line One 4 Industrial Way West, Suite 300    
Entity Address, City or Town Eatontown    
Entity Address, State or Province NJ    
Entity Address, Postal Zip Code 07724    
City Area Code 732    
Local Phone Number 389-0932    
Title of 12(b) Security Common Stock, par value $0.01 per share    
Trading Symbol CLMB    
Security Exchange Name NASDAQ    
Entity Current Reporting Status Yes    
Entity Interactive Data Current Yes    
Entity Filer Category Accelerated Filer    
Entity Central Index Key 0000945983    
Amendment Flag false    
Current Fiscal Year End Date --12-31    
Entity Small Business true    
Entity Emerging Growth Company false    
Entity Shell Company false    
Entity Common Stock, Shares Outstanding   4,516,652  
Document Fiscal Year Focus 2022    
Document Fiscal Period Focus FY    
ICFR Auditor Attestation Flag true    
Auditor Name BDO USA, LLP    
Auditor Firm ID 243    
Auditor Location Woodbridge, New Jersey    
Document Annual Report true    
Entity Well-known Seasoned Issuer No    
Entity Voluntary Filers No    
Entity Public Float     $ 134.8
XML 18 R2.htm IDEA: XBRL DOCUMENT v3.22.4
Consolidated Balance Sheets - USD ($)
$ in Thousands
Dec. 31, 2022
Dec. 31, 2021
Current assets:    
Cash and cash equivalents $ 20,245 $ 29,272
Accounts receivable, net of allowance for doubtful accounts of $842 and $881, respectively 154,596 122,502
Inventory, net 4,766 2,022
Vendor prepayments and advances 890 661
Prepaid expenses and other current assets 4,141 4,871
Total current assets 184,638 159,328
Equipment and leasehold improvements, net 3,515 1,932
Goodwill 18,963 17,188
Other intangibles, net 19,693 9,950
Right-of-use assets, net 1,235 1,628
Accounts receivable-long-term, net 3,114 78
Other assets 350 459
Deferred income tax assets 348 189
Total assets 231,856 190,752
Current liabilities:    
Accounts payable and accrued expenses 160,650 134,271
Lease liability, current portion 521 475
Term loan, current portion 520  
Total current liabilities 161,691 134,746
Lease liability, net of current portion 1,296 1,810
Deferred income tax liabilities 4,137 1,780
Term loan, net of current portion 1,292  
Non-current liabilities 2,866  
Total liabilities 171,282 138,336
Commitments and contingencies
Stockholders' equity:    
Common stock, $.01 par value per share; 10,000,000 shares authorized; 5,284,500 shares issued: 4,478,432 and 4,424,672 shares outstanding, respectively 53 53
Additional paid-in capital 32,715 32,087
Treasury stock, at cost, 806,068 and 859,828 shares, respectively (13,230) (13,870)
Retained earnings 43,904 34,396
Accumulated other comprehensive loss (2,868) (250)
Total stockholders' equity 60,574 52,416
Total liabilities and stockholders' equity $ 231,856 $ 190,752
XML 19 R3.htm IDEA: XBRL DOCUMENT v3.22.4
Consolidated Balance Sheets (Parenthetical) - USD ($)
$ in Thousands
Dec. 31, 2022
Dec. 31, 2021
Consolidated Balance Sheets    
Accounts receivable, allowances (in dollars) $ 842 $ 881
Common Stock, par value (in dollars per share) $ 0.01 $ 0.01
Common Stock, shares authorized 10,000,000 10,000,000
Common Stock, shares issued 5,284,500 5,284,500
Common Stock, shares outstanding 4,478,432 4,424,672
Treasury stock, shares 806,068 859,828
XML 20 R4.htm IDEA: XBRL DOCUMENT v3.22.4
Consolidated Statements of Earnings - USD ($)
shares in Thousands, $ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Consolidated Statements of Earnings    
Net sales $ 304,348 $ 282,582
Cost of sales 250,254 236,866
Gross profit 54,094 45,716
Selling, general, and administrative expenses 34,144 32,136
Acquisition related costs 582 0
Amortization and depreciation expense 2,054 1,529
Income from operations 17,314 12,051
Other income:    
Interest, net 159 359
Foreign currency transaction loss (941) (46)
Income before provision for income taxes 16,532 12,364
Provision for income taxes 4,035 3,166
Net income $ 12,497 $ 9,198
Income per common share-Basic $ 2.81 $ 2.09
Income per common share-Diluted $ 2.81 $ 2.09
Weighted average common shares outstanding - Basic (in shares) 4,331 4,272
Weighted average common shares outstanding - Diluted (in shares) 4,331 4,272
Dividends paid per common share (in dollars per share) $ 0.68 $ 0.68
XML 21 R5.htm IDEA: XBRL DOCUMENT v3.22.4
Consolidated Statements of Comprehensive Income - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Consolidated Statements of Comprehensive Income    
Net income $ 12,497 $ 9,198
Other comprehensive (loss) income:    
Foreign currency translation adjustments (2,618) 492
Other comprehensive (loss) income (2,618) 492
Comprehensive income $ 9,879 $ 9,690
XML 22 R6.htm IDEA: XBRL DOCUMENT v3.22.4
Consolidated Statements of Stockholder's Equity - USD ($)
$ in Thousands
Common Stock
Additional Paid-In Capital
Treasury
Retained Earnings
Accumulated Other Comprehensive (Loss) Income
Total
Balance at Dec. 31, 2020 $ 53 $ 31,962 $ (14,747) $ 28,191 $ (742) $ 44,717
Balance (in shares) at Dec. 31, 2020 5,284,500          
Treasury Stock, balance (in shares) at Dec. 31, 2020     922,503      
Increase (Decrease) in Stockholders' Equity            
Net income       9,198   9,198
Translation adjustment         492 492
Dividends paid       (2,993)   (2,993)
Share-based compensation expense   1,546       1,546
Restricted stock grants (net of forfeitures)   (1,421) $ 1,421      
Restricted stock grants (net of forfeitures) (in shares)     (83,963)      
Treasury shares repurchased     $ (544)     (544)
Treasury shares repurchased (in shares)     21,288      
Balance at Dec. 31, 2021 $ 53 32,087 $ (13,870) 34,396 (250) $ 52,416
Balance (in shares) at Dec. 31, 2021 5,284,500         5,284,500
Treasury Stock, balance (in shares) at Dec. 31, 2021     859,828     859,828
Increase (Decrease) in Stockholders' Equity            
Net income       12,497   $ 12,497
Translation adjustment         (2,618) (2,618)
Dividends paid       (2,989)   (2,989)
Share-based compensation expense   1,923       1,923
Restricted stock grants (net of forfeitures)   (1,295) $ 1,295      
Restricted stock grants (net of forfeitures) (in shares)     (74,449)      
Treasury shares repurchased     $ (655)     (655)
Treasury shares repurchased (in shares)     20,689      
Balance at Dec. 31, 2022 $ 53 $ 32,715 $ (13,230) $ 43,904 $ (2,868) $ 60,574
Balance (in shares) at Dec. 31, 2022 5,284,500         5,284,500
Treasury Stock, balance (in shares) at Dec. 31, 2022     806,068     806,068
XML 23 R7.htm IDEA: XBRL DOCUMENT v3.22.4
Consolidated Statements of Cash Flows - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Cash flows from operating activities    
Net income $ 12,497 $ 9,198
Adjustments to reconcile net income to net cash and cash equivalents provided by operating activities:    
Depreciation and amortization expense 2,066 1,534
Provision for doubtful accounts 19 26
Deferred income tax (benefit) expense (535) 228
Share-based compensation expense 1,897 1,546
Amortization of discount on accounts receivable (109) (55)
Amortization of right-of-use assets 426 468
Changes in operating assets and liabilities, net of acquisitions:    
Accounts receivable (35,826) (28,577)
Inventory (2,751) 2,914
Prepaid expenses and other current assets 1,025 (1,004)
Vendor prepayments (230) 574
Accounts payable and accrued expenses 25,411 18,616
Lease liability, net (503) (534)
Other assets and liabilities 1,174 (222)
Net cash and cash equivalents provided by operating activities 4,561 4,712
Cash flows from investing activities    
Purchase of equipment and leasehold improvements (2,502) (258)
Payment for acquisitions, net of cash acquired (8,511)  
Net cash and cash equivalents used in investing activities (11,013) (258)
Cash flows from financing activities    
Purchase of treasury stock (655) (544)
Borrowings under term loan 2,148  
Repayments of borrowings under term loan (336)  
Dividends paid (2,989) (2,993)
Contingent consideration   (862)
Net cash and cash equivalents used in financing activities (1,832) (4,399)
Effect of foreign exchange rate on cash and cash equivalents (743) (131)
Net decrease in cash and cash equivalents (9,027) (76)
Cash and cash equivalents at beginning of period 29,272 29,348
Cash and cash equivalents at end of period 20,245 29,272
Supplementary disclosure of cash flow information:    
Income taxes paid 4,278 2,700
Interest paid $ 50 $ 43
XML 24 R8.htm IDEA: XBRL DOCUMENT v3.22.4
Description of Business
12 Months Ended
Dec. 31, 2022
Description of Business  
Description of Business

Note 1. Description of Business

Climb Global Solutions, Inc. (formerly known as Wayside Technology Group, Inc.) and Subsidiaries (the “Company”), was incorporated in Delaware in 1982.  The Company distributes technology products developed by others to resellers who in turn sell to end customers worldwide. The Company also is a cloud solutions provider and value-added reseller of software, hardware and services to customers worldwide. The Company also operates in Canada, the United Kingdom and Europe. The Company offers an extensive line of products from leading software vendors and tools for virtualization/cloud computing, security, networking, storage and infrastructure management, application lifecycle management and other technically sophisticated domains as well as computer hardware.

The Company is organized into two reportable operating segments. The “Distribution” segment distributes technical software to corporate resellers, value added resellers (VARs), consultants and systems integrators worldwide under the name “Climb Channel Solutions”. The “Solutions” segment is a cloud solutions provider and value-added reseller of software, hardware and services to customers worldwide under the names “Grey Matter”.

XML 25 R9.htm IDEA: XBRL DOCUMENT v3.22.4
Summary of Significant Accounting Policies
12 Months Ended
Dec. 31, 2022
Summary of Significant Accounting Policies  
Summary of Significant Accounting Policies

Note 2. Summary of Significant Accounting Policies

Principles of Consolidation and Operations

The consolidated financial statements include the accounts of Climb Global Solutions, Inc. and its wholly owned subsidiaries. All intercompany transactions and balances have been eliminated.

Business Combinations

The Company accounts for business combinations using the acquisition method of accounting, which allocates the fair value of the purchase consideration to the tangible and intangible assets acquired and liabilities assumed based on their estimated fair values. The excess of the purchase consideration over the fair values of these identifiable assets and liabilities is recorded as goodwill. When determining the fair values of assets acquired and liabilities assumed, management makes significant estimates and assumptions. The Company may utilize third-party valuation specialists to assist the Company in the allocation. Initial purchase price allocations are subject to revision within the measurement period, not to exceed one year from the date of acquisition. Acquisition-related expenses and transaction costs associated with business combinations are expensed as incurred.

Use of Estimates

The preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States of America (“US GAAP”) requires management to make extensive use of certain estimates and assumptions which affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting periods. The significant areas of estimation include but are not limited to accounting for allowance for doubtful accounts, sales returns, allocation of revenue in multiple deliverable arrangements, principal vs. agent considerations, discount rates applicable to long term receivables, inventory obsolescence, income taxes, depreciation, amortization of intangible assets, contingencies and stock-based compensation. Actual results could differ from those estimates.

Net Income Per Common Share

Our basic and diluted earnings per share are computed using the two-class method. The two-class method is an earnings allocation method that determines net income per share for each class of common stock and participating securities according to their participation rights in dividends and undistributed earnings or losses. Non-vested restricted stock awards that include non-forfeitable rights to dividends are considered participating securities. Per share amounts are

computed by dividing net income available to common shareholders by the weighted average shares outstanding during each period. Diluted and basic earnings per share are the same because the restricted shares are the only potentially dilutive security.

A reconciliation of the numerators and denominators of the basic and diluted per share computations follows:

Year ended December 31,

    

2022

    

2021

Numerator:

Net income

$

12,497

$

9,198

Less distributed and undistributed income allocated to participating securities

317

269

Net income attributable to common shareholders

12,180

8,929

Denominator:

 

 

Weighted average common shares (Basic)

4,331

 

4,272

 

 

Weighted average common shares including assumed conversions (Diluted)

4,331

 

4,272

Basic net income per share

$

2.81

$

2.09

Diluted net income per share

$

2.81

$

2.09

Cash Equivalents

The Company considers all liquid short-term investments with maturities of 90 days or less when purchased to be cash equivalents.

Accounts Receivable

Accounts receivable principally represents amounts collectible from our customers. The Company performs ongoing credit evaluations of its customers but generally does not require collateral to support any outstanding obligation. From time to time, we sell accounts receivable to a financial institution on a non-recourse basis for cash, less a discount. The Company has no significant retained interests or servicing liabilities related to the accounts receivable sold. Proceeds from the sale of receivables approximated their discounted book value and were included in operating cash flows on the Consolidated Statements of Cash Flows.

Allowances for Accounts Receivable

We provide an allowance for doubtful accounts related to accounts receivable for estimated losses resulting from the inability of our customers to make required payments. We take into consideration the overall quality and aging of the receivable portfolio along with specifically identified customer risks. If actual customer payment performance were to deteriorate to an extent not expected, additional allowances may be required. At the time of sale, we also record an estimate for sales returns based on historical experience, which is included in accounts payable and accrued expenses on the Consolidated Balance Sheets. If actual sales returns are greater than estimated by management, an additional return allowance may be required as an offset to net sales.

Foreign Currency Translation

Assets and liabilities of the Company’s foreign subsidiaries have been translated using the end of the reporting period exchange rates, and related revenues and expenses have been translated at average rates of exchange in effect during the period. Cumulative translation adjustments have been classified within accumulated other comprehensive loss, which

is a separate component of stockholders’ equity in accordance FASB ASC Topic No. 220, “Comprehensive Income”. Foreign currency transaction gains and losses are recorded as income or expenses as amounts are settled.

For foreign currency remeasurement from each local currency into the appropriate functional currency, monetary assets and liabilities are remeasured to functional currencies using current exchange rates in effect at the balance sheet date. Gains or losses from these remeasurements have been included in the Company's Consolidated Statements of Earnings. Non-monetary assets and liabilities are recorded at historical exchange rates.

Concentration of Credit Risk

Financial instruments that potentially subject the Company to concentrations in credit risk consist of cash and cash equivalents.

The Company’s cash and cash equivalents, at times, may exceed federally insured limits. The Company’s cash and cash equivalents are deposited primarily in banking institutions with global operations. The Company has not experienced any losses in such accounts. The Company believes it is not exposed to any significant credit risk on cash and cash equivalents.

Financial Instruments

The carrying amounts of financial instruments, including cash and cash equivalents, accounts receivable and accounts payable approximated fair value as of December 31, 2022 and 2021, because of the relative short maturity of these instruments. The Company’s accounts receivable-long-term is discounted to its present value at prevailing market rates at the time of sale which, approximates fair value as of December 31, 2022 and 2021.

Inventory

Inventory, consisting primarily of finished products held for resale, is valued based on the first-in-first-out method of accounting and is stated at the lower of cost or net realizable value.

Vendor Prepayments and Advances

Vendor prepayments represents advance payments made to vendors to be applied against future purchases. Any amounts not expected to be utilized to apply against purchases within one year are reclassified to other long-term assets.

Equipment and Leasehold Improvements

Equipment and leasehold improvements are stated at cost or fair value, if purchased as part of a business combination. Equipment depreciation is calculated using the straight-line method over three to five years. Leasehold improvements are amortized using the straight-line method over the estimated useful lives of the assets or the related lease terms, whichever is shorter.

Software Development Costs

The Company capitalizes certain internal and external costs incurred to acquire or create internal-use software. Capitalized software costs are amortized on a straight-line basis over the estimated useful life of the software, which is generally four to seven years. At December 31, 2022 and 2021, the Company had unamortized software development costs of $2.4 million and $0.7 million, respectively, which are included in "Equipment and leasehold improvements" in the Company's Consolidated Balance Sheets. As of December 31, 2022, this includes $2.3 million for an internal-use software project that amortization expense has not yet been recognized for as the internal-use software is not ready for its intended use. As of December 31, 2021, there were no such costs capitalized for this project.

Accounts Receivable-Long-Term

Accounts receivable-long-term result from product sales with extended payment terms that are discounted to their present values at the prevailing market rates at the time of sale. In subsequent periods, the accounts receivable is increased to the amounts due and payable by the customers through the accretion of interest income on the unpaid accounts receivable due in future years. The amounts under these long-term accounts receivable due within one year are reclassified to the current portion of accounts receivable.

Goodwill

We test goodwill for impairment on an annual basis and between annual tests if an event occurs, or circumstances change, that would more likely than not reduce the fair value of a reporting unit below its carrying amount. The Company performs an evaluation of goodwill, utilizing either a qualitative or quantitative impairment test. The annual test for impairment is conducted as of October 1. The Company’s reporting units included in the assessment of potential goodwill impairment are the same as its operating segments. Goodwill is not amortized but is subject to periodic testing for impairment at the reporting unit level.

In a qualitative assessment, we assess qualitative factors to determine whether it is more likely than not (that is, a likelihood of more than 50 percent) that the fair value of a reporting unit is less than its carrying amount, including goodwill. If, after assessing the totality of events or circumstances, we determine that it is not more likely than not that the fair value of a reporting unit is less than its carrying amount, then the quantitative goodwill impairment test is unnecessary.

If, after assessing the totality of events or circumstances, we determine that it is more likely than not that the fair value of a reporting unit is less than its carrying amount, then we perform the quantitative goodwill impairment test. We may also elect the unconditional option to bypass the qualitative assessment for any reporting unit in any period and proceed directly to performing the quantitative goodwill impairment test.

In the quantitative impairment test, we compare the fair value of a reporting unit with its carrying amount, including goodwill. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered not impaired. Conversely, if the carrying amount of a reporting unit exceeds its fair value, an impairment loss shall be recognized in an amount equal to that excess, limited to the total amount of goodwill allocated to that reporting unit.

Determining the fair value of a reporting unit is judgmental in nature and requires the use of significant estimates and assumptions, including net sales growth rates, gross profit margins, operating margins, discount rates and future market conditions, among others. Any changes in the judgments, estimates or assumptions used could produce significantly different results.

Intangible Assets

Intangible assets with determinable lives are amortized on a straight-line basis over their respective estimated useful lives, which is determined based on their expected period of benefit. Intangible assets are reviewed for impairment when events or changes in circumstances indicate that the carrying amount of such assets may not be recoverable. Determination of recoverability is based on an estimate of undiscounted future cash flows resulting from the use of the asset and its eventual disposition. If the carrying amount of an asset exceeds its estimated future undiscounted cash flows, an impairment loss is recorded for the excess of the asset's carrying amount over its fair value. In addition, each quarter, the Company evaluates whether events and circumstances warrant a revision to the remaining estimated useful life of each of these intangible assets. If the Company were to determine that a change to the remaining estimated useful life of an intangible asset was necessary, then the remaining carrying amount of the intangible asset would be amortized prospectively over that revised remaining useful life.

Comprehensive Income

Comprehensive income consists of net income for the year and the impact of unrealized foreign currency translation adjustments. The foreign currency translation adjustments are not currently adjusted for income taxes as they relate to permanent investments in international subsidiaries.

Revenue Recognition

The Company’s revenues primarily result from the sale of various technology products and services, including third-party products, third-party software and third-party maintenance, software support and services. The Company recognizes revenue as control of the third-party products and third-party software is transferred to customers, which generally happens at the point of shipment or fulfilment and at the point that our customers and vendors accept the terms and conditions of the arrangement for third-party maintenance, software support and services.

The Company has contracts with certain customers where the Company’s performance obligation is to arrange for the products or services to be provided by another party. In these arrangements, as the Company assumes an agency relationship in the transaction, revenue is recognized in the amount of the net fee associated with serving as an agent. These arrangements primarily relate to third party maintenance, cloud services and certain security software whose intended functionality is dependent on third party maintenance.

The Company allows its customers to return product for exchange or credit subject to certain limitations. A liability is recorded at the time of sale for estimated product returns based upon historical experience and an asset is recognized for the amount expected to be recorded upon product return. The Company also provides rebates and other discounts to certain customers which are considered variable consideration. A provision for customer rebates and other discounts is recorded as a reduction of revenue at the time of sale based on an evaluation of the contract terms and historical experience.

The Company considers shipping and handling activities as costs to fulfill the sales of products. Shipping revenue is included in net sales when control of the product is transferred to the customer, and the related shipping and handling costs are included in cost of sales. Taxes imposed by governmental authorities on the Company’s revenue producing activities with customers, such as sales taxes and value added taxes, are excluded from net sales.

The Company disaggregates its operating revenue by segment, geography and timing of revenue recognition, which the Company believes provides a meaningful depiction of the nature of its revenue. For additional information, see Note 13 (Industry, Segment and Geographic Information).

Hardware and software products sold by the Company are generally delivered via shipment from the Company’s facilities, drop shipment directly from the vendor, or by electronic delivery of keys for software products. The majority of the Company’s business involves shipments directly from its vendors to its customers, in these transactions, the Company is generally responsible for negotiating price both with the vendor and customer, payment to the vendor, establishing payment terms with the customer, product returns, and has risk of loss if the customer does not make payment. As the principal with the customer, the Company recognizes revenue upon receiving notification from the vendor that the product was shipped. Control of software products is deemed to have passed to the customer when they acquire the right to use or copy the software under license as substantially all product functionality is available to the customer at the time of sale.

The Company performs an analysis of the number of days of sales in-transit to customers at the end of each reporting period based on an analysis of commercial delivery terms that include drop-shipment arrangements. This analysis is the basis upon which the Company estimates the amount of net sales in-transit at the end of the period and adjusts revenue and the related costs to reflect only what has been delivered to the customer. Changes in delivery patterns may result in a different number of business days estimated to make this adjustment. The Company also performs a weighted average analysis of the estimated number of days between order fulfillment and beginning of the renewal term for term licenses recorded on a gross basis, and a deferral estimate is recorded for term license renewals fulfilled prior to commencement date.

Generally, software products are sold with accompanying third-party delivered software assurance, which is a product that allows customers to upgrade, at no additional cost, to the latest technology if new capabilities are introduced during the period that the software assurance is in effect. The Company evaluates whether the software assurance is a separate performance obligation by assessing if the third-party delivered software assurance is critical or essential to the core functionality of the software itself. This involves considering if the software provides its original intended functionality to the customer without the updates, if the customer would ascribe a higher value to the upgrades versus the up-front deliverable, if the customer would expect frequent intelligence updates to the software (such as updates that maintain the original functionality), and if the customer chooses to not delay or always install upgrades. If the Company determines that the accompanying third-party delivered software assurance is critical or essential to the core functionality of the software license, the software license and the accompanying third-party delivered software assurance are recognized as a single performance obligation. The value of the product is primarily the accompanying support delivered by a third party and therefore the Company is acting as an agent in these transactions and recognizes them on a net basis at the point the associated software license is delivered to the customer. The Company sells cloud computing solutions that utilize third-party vendors to enable customers to access data center functionality in a cloud-based solution, including storage, computing and networking and access to software in the cloud that enhances office productivity, provides security or assists in collaboration. The Company recognizes revenue for cloud computing solutions for arrangements with one-time invoicing to the customer at the time of invoice on a net basis as the Company is acting as an agent in the transaction. For monthly subscription-based arrangements, the Company is acting as an agent in the transaction and recognizes revenue as it invoices the customer for its monthly usage on a net basis. For software licenses where the accompanying third-party delivered software assurance is not critical or essential to the core functionality, the software assurance is recognized as a separate performance obligation, with the associated revenue recognized on a net basis at the point the related software license is delivered to the customer.

The Company also sells some of its products and services as part of bundled contract arrangements containing multiple deliverables, which may include a combination of products and services. For each deliverable that represents a distinct performance obligation, total arrangement consideration is allocated based upon the standalone selling prices (“SSP”) of each performance obligation. SSP is determined based on the price at which the performance obligation is sold separately. If the standalone selling price is not observable through established standard prices, we use judgement and estimate the standalone selling price considering available information such as market pricing and pricing related to similar products.

Freight

The Company records freight billed to its customers as net sales and the related freight costs as cost of sales when the underlying product revenue is recognized. For freight not billed to its customers, the Company records the freight costs as cost of sales. The Company’s typical shipping terms result in shipping being performed before the customer obtains control of the product. The Company considers shipping to be a fulfillment activity and not a separate performance obligation.

Commissions

The Company pays commissions and related payroll taxes to sales personnel when customers are invoiced. These costs are recorded as selling general and administrative expenses in the period earned as all our performance obligations are complete within a short window of processing the order.

Stock-Based Compensation

The Company has stockholder-approved stock incentive plans for employees and directors. Stock-based compensation is recognized based on the grant date fair value and is recognized as expense on a straight-line basis over the requisite service period.

Operating Segments

Operating segments are defined as components of an enterprise for which separate financial information is available that is evaluated regularly by the chief operating decision maker in deciding how to allocate resources and in

assessing performance. The Company's operations are classified into two reportable business segments: Distribution and Solutions. For additional information, see Note 13 (Industry, Segment and Geographic Information).

Treasury Stock

Treasury stock is accounted for at cost. Shares repurchased by the Company are held in treasury for general corporate purposes, including issuances under equity incentive plans. The reissuance of shares from treasury stock is based on the weighted average purchase price of the shares.

Interest, net

Interest, net consists primarily of income from the amortization of the discount on accounts receivable long term, net of interest expense that is inclusive of fees associated with the Company’s credit facility.

Income Taxes

The Company utilizes the asset and liability method of accounting for income taxes. Under this method, deferred tax assets and liabilities are determined based on differences between financial reporting and tax basis of assets and liabilities and are measured using enacted tax rates and laws that will be in effect when the differences are expected to reverse. This method also requires a valuation allowance against the net deferred tax asset if, based on the weighted available evidence, it is more likely than not that some or all the deferred tax assets will not be realized. The Company’s policy is to recognize interest and penalties related to uncertain tax positions in income tax expense when assessed. The Company accounts for uncertainties in accordance with FASB ASC 740 “Income Taxes”. This standard clarified the accounting for uncertainties in income taxes. The standard prescribes criteria for recognition and measurement of tax positions. It also provides guidance on derecognition, classification, interest and penalties, and disclosures related to income taxes associated with uncertain tax positions. The Company classifies all deferred tax asset or liabilities as non-current on the balance sheet.

Foreign Exchange

The Company’s foreign currency exposure relates primarily to international transactions where the currency collected from customers can be different from the currency used to purchase the product. In cases where the Company is not able to create a natural hedge by maintaining offsetting asset and liability amounts in the same currency, it may enter into foreign exchange contracts, typically in the form of forward purchase agreements, to facilitate the hedging of foreign currency exposures to mitigate the impact of changes in foreign currency exchange rates. These contracts generally have terms of no more than two months. The Company does not apply hedge accounting to these contracts and therefore the changes in fair value are recorded in earnings. The Company does not enter into foreign exchange contracts for trading purposes and the risk of loss on a foreign exchange contract is the risk of nonperformance by the counterparties, which the Company minimizes by limiting its counterparties to major financial institutions.

Recently Issued Accounting Pronouncements

In June 2016, the FASB issued Accounting Standards Update No. 2016-13, “Financial Instruments - Credit Losses (Topic 326)” ("ASU 2016-13"). ASU 2016-13 revises the methodology for measuring credit losses on financial instruments and the timing of when such losses are recorded. Originally, ASU 2016-13 was effective for fiscal years, and for interim periods within those fiscal years, beginning after December 15, 2019, with early adoption permitted. In November 2019, FASB issued ASU 2019-10, “Financial Instruments – Credit Losses (Topic 326), Derivatives and Hedging (Topic 815), and Leases (Topic 842).”  This ASU defers the effective date of ASU 2016-13 for public companies that are considered smaller reporting companies as defined by the SEC to fiscal years beginning after December 15, 2022, including interim periods within those fiscal years. Effective January 1, 2023, the company will adopt the update using a modified retrospective approach with a cumulative-effect adjustment to retained earnings. The new credit loss standard is not expected to have a material effect on our financial position, results of operations or cash flows.

XML 26 R10.htm IDEA: XBRL DOCUMENT v3.22.4
Acquisition
12 Months Ended
Dec. 31, 2022
Acquisition  
Acquisition

3. Acquisition

Acquisition of Spinnakar Limited

On August 18, 2022, the Company entered into a Share Purchase Agreement and purchased the entire share capital of Spinnakar Limited (“Spinnakar”) for an aggregate purchase price of approximately £9.8 million (equivalent to $11.8 million USD), subject to certain working capital and other adjustments, paid at closing plus a potential post-closing earn-out. The allocation of the purchase price was based upon the estimated fair value of Spinnakar’s net tangible and identifiable intangible assets as of the date of the acquisition. The transaction was accounted for under the purchase method of accounting.

The financial position and operating results of Spinnakar is included in the Company’s consolidated financial statements from the date of acquisition. The Company recorded net revenue for Spinnakar of approximately $6.0 million and net income of approximately $0.4 million during the year ended December 31, 2022.

The impact of the acquisition’s preliminary purchase price allocations on the Company’s consolidated balance sheet and the acquisition date fair value of the total consideration transferred is depicted in the table below. Due to the timing of the closing of the transaction in the third quarter of 2022, the Company has not yet completed its evaluation and determination of certain assets acquired and liabilities assumed, primarily the final valuation of goodwill and intangible assets and the final evaluation and assessment of income tax accounts; therefore, the final fair value of the assets acquired and liabilities assumed, which will be completed within the measurement period of up to one year from the acquisition date, may vary from the Company’s preliminary estimates:

(in thousands)

Cash

$

3,325

Trade accounts receivable

1,852

Other current assets

367

Vendor relationships (10.4-year weighted average useful life)

11,687

Goodwill

3,244

Accounts payable and other current liabilities

(3,977)

Deferred income tax liabilities

(2,892)

Net assets

$

13,606

(in thousands)

Supplementary information:

Cash paid to sellers

$

11,836

Contingent earn-out

1,771

Total purchase consideration

$

13,607

Cash paid to sellers

11,836

Cash acquired in acquisition

(3,325)

Net cash paid for acquisition

$

8,511

Intangible assets are comprised of approximately $11.7 million of vendor relationships with a weighted average amortization period of 10.4 years, representing the expected period of benefits. Goodwill, which was allocated to the Distribution segment, is the excess of the consideration transferred over the net assets recognized and represents the expected revenue and cost synergies of the combined company and assembled workforce. Goodwill recognized as a result of the acquisition is not deductible for income tax purposes.

The purchase consideration includes approximately $1.8 million fair value for potential earn-out consideration if certain targets are achieved, payable in cash. The earn-out liability is included in non-current liabilities as of December 31, 2022, as any payments upon achievement of the certain targets wouldn’t be due within the next 12 months.

The Company incurred acquisition related costs of approximately $0.6 million during the year ended December 31, 2022 in conjunction with the Spinnakar acquisition, which is reflected in the accompanying consolidated statements of earnings. There were no acquisition related costs incurred during the year ended December 31, 2021.

XML 27 R11.htm IDEA: XBRL DOCUMENT v3.22.4
Goodwill and Other Intangible Assets
12 Months Ended
Dec. 31, 2022
Goodwill and Other Intangible Assets  
Goodwill and Other Intangible Assets

4. Goodwill and Other Intangible Assets

Goodwill represents the premium paid over the fair value of the net tangible and intangible assets that are individually identified and separately recognized in business combinations. The following table summarizes the changes in the carrying amount of goodwill for the years ended December 31, 2022 and 2021.

Balance at January 1, 2021

$

16,816

Translation adjustments

372

Balance December 31, 2021

$

17,188

Goodwill acquired

3,244

Translation adjustments

(1,469)

Balance at December 31, 2022

$

18,963

Information related to the Company’s other intangibles, net is as follows:

As of December 31, 2022

Gross Carrying Amount

Accumulated Amortization

Net Carrying Amount

Customer and vendor relationships

$

21,457

2,165

19,292

Trade name

468

67

401

Total

$

21,925

$

2,232

$

19,693

As of December 31, 2021

Gross Carrying Amount

Accumulated Amortization

Net Carrying Amount

Customer and vendor relationships

$

10,550

$

1,079

$

9,471

Trade name

519

40

479

Total

$

11,069

$

1,119

$

9,950

Customer relationships are amortized over thirteen years. Vendor relationships are amortized between eight and fifteen years. Trade name is amortized over fifteen years.

The Company recognized total amortization expense for other intangibles, net of $1.2 million and $0.9 million during the years ended December 31, 2022 and 2021, respectively.

Estimated future amortization expense of the Company’s other intangibles, net as of December 31, 2022 is as follows:

2023

 

1,875

2024

 

1,875

2025

 

1,875

2026

 

1,875

2027

1,875

Thereafter

 

10,318

Total

$

19,693

XML 28 R12.htm IDEA: XBRL DOCUMENT v3.22.4
Right-of-use Asset and Lease Liability
12 Months Ended
Dec. 31, 2022
Right-of-use Asset and Lease Liability  
Right-of-use Asset and Lease Liability

5. Right-of-use Asset and Lease Liability

The Company has entered into operating leases for office and warehouse facilities, which have terms at lease commencement that range from 3 years to 11 years. The Company determines if an arrangement is a lease at inception. Leases with an initial term of 12 months or less are not recorded on the Consolidated Balance Sheets and lease expense for these leases is recognized on a straight-line basis over the lease term.

Right-of-use assets represent the Company’s right to use an underlying asset for the lease term and lease liabilities represent the obligation to make lease payments arising from the lease. Operating lease right-of-use assets and liabilities are recognized at commencement date of the lease based on the present value of the lease payments over the lease term. As our leases do not provide a readily determinable implicit rate, we use an incremental borrowing rate based on the information available at commencement date, including lease term, in determining the present value of future payments. The operating lease asset also includes any lease payments made and excludes lease incentives. Operating lease expense is recognized on a straight-line basis over the lease term and included in selling, general and administrative expenses.

Information related to the Company’s right-of-use assets and related lease liabilities were as follows:

Year ended

December 31,

2022

2021

Cash paid for operating lease liabilities

$

647

$

598

Right-of-use assets obtained in exchange for new operating lease obligations

$

63

$

163

Weighted-average remaining lease term

3.9 years

5.1 years

Weighted-average discount rate

3.5%

3.5%

Maturities of lease liabilities as of December 31, 2022 were as follows:

2023

 

624

2024

 

540

2025

 

548

2026

 

546

2027

125

2,383

Less: imputed interest

(566)

Total lease liabilities

$

1,817

Lease liabilities, current portion

521

Lease liabilities, net of current portion

1,296

Total lease liabilities

$

1,817

XML 29 R13.htm IDEA: XBRL DOCUMENT v3.22.4
Balance Sheet Detail
12 Months Ended
Dec. 31, 2022
Balance Sheet Detail  
Balance Sheet Detail

6. Balance Sheet Detail

Equipment and leasehold improvements, net consist of the following:

    

December 31,

December 31,

2022

    

2021

Equipment

$

2,720

$

2,627

Capitalized software

2,997

816

Leasehold improvements

 

1,848

 

1,762

 

7,565

 

5,205

Less accumulated depreciation and amortization

 

(4,050)

 

(3,273)

$

3,515

$

1,932

Depreciation expense relating to equipment and leasehold improvements, net was $0.4 million and $0.5 million during the years ended December 31, 2022 and 2021, respectively. Amortization expense relating to capitalized software was $0.4 million and $0.1 million during the years ended December 31, 2022 and 2021.

Accounts receivable – long term, net consist of the following:

December 31,

December 31,

2022

    

2021

    

Total amount due from customers

$

5,213

$

484

Less: unamortized discount

 

(188)

 

(8)

Less: current portion included in accounts receivable

 

(1,911)

 

(398)

$

3,114

$

78

Accounts payable and accrued expenses consist of the following:

    

December 31,

December 31,

2022

    

2021

    

Trade accounts payable

$

151,180

$

125,908

Accrued expenses

 

9,470

 

8,363

$

160,650

$

134,271

Accumulated other comprehensive loss consists of the following:

 

December 31,

December 31,

    

2022

    

2021

Foreign currency translation adjustments

$

(2,618)

$

492

$

(2,618)

$

492

XML 30 R14.htm IDEA: XBRL DOCUMENT v3.22.4
Income Taxes
12 Months Ended
Dec. 31, 2022
Income Taxes  
Income Taxes

7. Income Taxes

Deferred tax attributes resulting from differences between the tax basis of assets and liabilities and the reported amounts in the Consolidated Balance Sheets are as follows:

December 31,

December 31,

    

2022

    

2021

 

Deferred tax assets:

Accruals and reserves

$

631

$

501

Deferred rent credit

146

163

Depreciation and amortization

38

24

Total deferred tax assets

815

688

Deferred tax liabilities:

Accruals and reserves

(67)

Depreciation and amortization

(4,604)

 

(2,212)

Total deferred tax liabilities

(4,604)

(2,279)

Net deferred tax liabilities

$

(3,789)

$

(1,591)

The provision for income taxes is as follows:

Year ended December 31,

 

    

2022

    

2021

 

Current:

Federal

$

2,694

$

1,692

State

 

622

 

572

Foreign

 

1,254

 

674

 

4,570

 

2,938

Deferred:

Federal

 

(124)

 

(45)

State

(30)

(12)

Foreign

 

(381)

 

285

 

(535)

 

228

$

4,035

$

3,166

Effective Tax Rate

 

24.4

%  

 

25.6

%

The reasons for the difference between total tax expense and the amount computed by applying the U.S. statutory federal income tax rate to income before income taxes are as follows:

Year ended December 31,

 

    

2022

    

2021

 

Statutory rate applied to pretax income

$

3,472

$

2,596

State income taxes, net of federal income tax benefit

 

468

 

442

Other permanent items

156

19

Foreign income taxes over U.S. statutory rate

 

137

 

(18)

Other items

 

11

 

(36)

Adjustment for foreign rate change

353

Dividends

(9)

(17)

GILTI, net of foreign tax credits

(50)

(38)

Stock compensation

(150)

(135)

Income tax expense

$

4,035

$

3,166

The Company has analyzed filing positions in all the federal, state and foreign jurisdictions where it is required to file income tax returns, as well as all open tax years in these jurisdictions. The Company has identified its federal consolidated tax return, its state tax returns, its Canadian tax return and its tax return in the United Kingdom as major tax jurisdictions. As of December 31, 2022, the Company’s 2019 through 2021 Federal tax returns remain open for examination. The Company’s various states and Canadian tax returns are open for examination for the years 2018 through 2021. The Company’s tax return in the United Kingdom is open for examination for the years 2020 and 2021. The Company’s policy is to recognize interest related to unrecognized tax benefits as interest expense and penalties as operating expenses. The Company believes that it has appropriate support for the income tax positions it takes and expects to take on its tax returns, and that its accruals for tax liabilities are adequate for all open years based on an assessment of many factors including experience and interpretations of tax law applied to the facts of each matter.

For financial reporting purposes, income before income taxes includes the following components:

Year ended December 31,

 

    

2022

    

2021

 

United States

$

12,968

$

9,355

Foreign

 

3,564

 

3,009

$

16,532

$

12,364

The Company has approximately $8.0 million of undistributed earnings in Canada and $1.5 million of undistributed earnings in the United Kingdom, which it continues to reinvest indefinitely, and therefore no withholding taxes related to its repatriation has been recorded.

There was no activity related to the Company’s unrecognized tax benefits during the year ended December 31, 2022. The following table summarizes the activity related to the Company’s unrecognized tax benefits as of December 31, 2021:

    

2021

Balance as of January 1

$

49

Additions related to prior period tax positions

-

Reductions related to settlements with tax authorities

(49)

Balance as of December 31

$

-

During the years ended December 31, 2022 and 2021, the Company incurred interest and penalties of zero, respectively, related to these uncertain tax benefits.

XML 31 R15.htm IDEA: XBRL DOCUMENT v3.22.4
Credit Facility
12 Months Ended
Dec. 31, 2022
Credit Facility.  
Credit Facility

8. Credit Facility

On November 15, 2017, the Company entered into a $20 million revolving credit facility (the “Credit Facility”) with Citibank, N.A. (“Citibank”) pursuant to a Second Amended and Restated Revolving Credit Loan Agreement (the “Loan Agreement”), Second Amended and Restated Revolving Credit Loan Note (the “Note”), Second Amended and Restated Security Agreement and Second Amended and Restated Pledge and Security Agreement. On August 31, 2020, the Company entered into an amendment to the Credit Facility (the “Amended Credit Facility”) pursuant to a First Amendment to Second Amended and Restated Revolving Credit Loan Agreement and Other Loan Documents (collectively, the “Amended Loan Agreement”) and First Allonge to Second Amended and Restated Revolving Credit Loan Note (the “Amended Note”).

The Amended Credit Facility, which will continue to be used for working capital and general corporate purposes, matures on June 30, 2023, at which time the Company must pay all outstanding principal of all outstanding loans plus all accrued and unpaid interest, and any, fees, costs and expenses. In addition, the Company will pay regular monthly payments of all accrued and unpaid interest. The interest rate for any borrowings under the Amended Credit Facility is subject to change from time to time based on the changes in the LIBOR Rate, as defined in the Amended Loan Agreement,  

with the LIBOR Rate not to be less than 0.75 percentage points. Interest on the unpaid principal balance of the Amended Note will be calculated using a rate of 1.75 percentage points over the LIBOR Rate. If the LIBOR Rate becomes unavailable during the term of the Amended Credit Facility, interest will be based upon the Benchmark Replacement (as defined in the Amended Loan Agreement) selected by Citibank after notifying the Company. The Amended Credit Facility is secured by the assets of the Company.

At December 31, 2022 and 2021, the Company had no borrowings outstanding under the Credit Facility.  The Company incurred $0.1 million of interest expense, related to the Credit Facility during the years ended December 31, 2022 and 2021, respectively.

On April 13, 2021, Wayside Technology UK Holdings Limited (“Wayside UK”), a wholly-owned subsidiary of the Company, entered into an uncommitted short term credit facility of £8 million (“Uncommitted Credit Facility”) with Citibank N.A., London Branch (“Citibank London”) pursuant to certain terms and conditions. Obligations under the Uncommitted Credit Facility are guaranteed by the Company and will be used for working capital and general corporate purposes and have a maturity date of April 13, 2023, at which time Wayside UK must pay all outstanding principal of all outstanding loans plus all accrued and unpaid interest, and any interest, fees, costs and expenses, if any.

Interest on the unpaid principal balance of the Uncommitted Credit Facility will be calculated using a rate of 1.85 percentage points over the Daily Rate, as defined in the Uncommitted Credit Facility. Amounts borrowed under the Uncommitted Credit Facility will be guaranteed by the Company.   The Uncommitted Credit Facility may be cancelled at any time by Citibank London.  Citibank London has the sole discretion to accept or reject any requested utilization of the Uncommitted Credit Facilitation.

At December 31, 2022 and 2021, Wayside UK had no borrowings outstanding under the Uncommitted Credit Facility.

On April 8, 2022, the Company entered into a $2.1 million term loan (the “Term Loan”) with First American Commercial Bancorp, Inc. pursuant to a Master Loan and Security Agreement. The proceeds from the Term Loan will be used to fund certain capital expenditures. The borrowing under the Term Loan bears interest at a rate of 3.73% per annum and is being repaid over forty-eight monthly installments of principal and interest through April 2026.

As of December 31, 2022, the Company had $1.8 million outstanding under the Term Loan. There were no amounts outstanding under the Term Loan as of December 31, 2021.

As of December 31, 2022, future principal payments under the Term Loan are as follows:

Year ended December 31,

2023

520

2024

540

2025

560

2026

192

Total

$

1,812

XML 32 R16.htm IDEA: XBRL DOCUMENT v3.22.4
Stockholders' Equity and Stock Based Compensation
12 Months Ended
Dec. 31, 2022
Stockholders' Equity and Stock Based Compensation  
Stockholders' Equity and Stock Based Compensation

9. Stockholders’ Equity and Stock-Based Compensation

The 2021 Omnibus Incentive Plan (the “2021 Plan”) authorizes the grant of Stock Options, Stock Units, Stock Appreciation Rights, Restricted Stock, Deferred Stock, Stock Bonuses and other equity-based awards. The 2021 Plan was approved by the Company’s stockholders at the 2021 Annual Meeting in June 2021. The total number of shares of the Company’s common stock, par value $0.01 per share (“Common Stock”) initially available for award under the 2021 Plan was 500,000 shares. As of December 31, 2022, the number of shares of Common Stock available for future award grants to employees, officers and directors under the 2021 Plan is 373,594.

The 2012 Stock-Based Compensation Plan (the “2012 Plan”) authorizes the grant of Stock Options, Stock Units, Stock Appreciation Rights, Restricted Stock, Deferred Stock, Stock Bonuses and other equity-based awards. The total number of shares of the Company’s Common Stock initially available for award under the 2012 Plan was 600,000, which was increased to 1,000,000 shares by stockholder approval at the Company’s 2018 Annual Meeting in June 2018. Immediately prior to the replacement of the 2012 Plan by the 2021 Plan, there were 352,158 shares of Common Stock available under the 2012 Plan. The 2012 Plan has been replaced by the 2021 Plan and none of the remaining shares of Common Stock authorized under the 2012 Plan will be transferred to or used under the 2021 Plan nor will any awards under the 2012 Plan that are forfeited increase the shares available for awards under the 2021 Plan. As of December 31, 2022, the number of shares of Common Stock available under the 2012 Plan is zero.

During the year ended December 31, 2022, the Company granted a total of 78,505 shares of Restricted Stock to officers, directors and employees. These shares of Restricted Stock vest immediately or over time in up to sixteen equal quarterly installments. During the year ended December 31, 2022, 4,056 shares of Restricted Stock were forfeited as a result of employees terminating employment with the Company.

During the year ended December 31, 2021, the Company granted a total of 106,122 shares of Restricted Stock to officers, directors and employees. These shares of Restricted Stock vest immediately or over time in up to sixteen equal quarterly installments. During the year ended December 31, 2021, 22,159 shares of Restricted Stock were forfeited as a result of officers and employees terminating employment with the Company.

There was no options activity during the year ended December 31, 2022 and 2021 and there were no options outstanding or exercisable at December 31, 2022 and 2021, respectively, under both the Company’s 2012 Plan and 2021 Plan.

Under the various plans, options that are cancelled can be reissued. At December 31, 2022, no cancelled options were reserved for future reissuance.

A summary of nonvested shares of Restricted Stock awards outstanding under the Company’s 2012 Plan as of December 31, 2022, and 2021 and changes during the years ended December 31, 2022 and 2021 is as follows:

    

    

Weighted

 

Average Grant

 

Date

 

Shares

Fair Value

 

Nonvested shares at January 1, 2021

 

122,792

$

13.37

Granted in 2021

 

106,122

 

22.96

Vested in 2021

 

(84,653)

 

17.47

Forfeited in 2021

 

(22,159)

 

16.14

Nonvested shares at December 31, 2021

 

122,102

$

18.35

Granted in 2022

 

78,505

 

31.83

Vested in 2022

 

(75,492)

 

21.93

Forfeited in 2022

 

(4,056)

 

19.20

Nonvested shares at December 31, 2022

 

121,059

$

24.83

As of December 31, 2022, there was approximately $2.8 million of total unrecognized compensation cost related to nonvested share-based compensation arrangements. The unrecognized compensation cost is expected to be recognized over a weighted-average period of 2.3 years.

For the years ended December 31, 2022 and 2021, the Company recognized share-based compensation cost of approximately $1.9 million and $1.5 million, respectively, which is included in selling, general and administrative expenses.

XML 33 R17.htm IDEA: XBRL DOCUMENT v3.22.4
Defined Contribution Plan
12 Months Ended
Dec. 31, 2022
Defined Contribution Plan  
Defined Contribution Plan

10. Defined Contribution Plan

The Company maintains a defined contribution plan covering substantially all employees. Participating employees may make contributions to the plan, through payroll deductions. Matching contributions are made by the Company equal to 50% of the employee’s contribution to the extent such employee contribution did not exceed 6% of their compensation. During the years ended December 31, 2022 and 2021, the Company expensed approximately $0.3 million, respectively, related to this plan.

XML 34 R18.htm IDEA: XBRL DOCUMENT v3.22.4
Commitments and Contingencies
12 Months Ended
Dec. 31, 2022
Commitments and Contingencies  
Commitments and Contingencies

11. Commitments and Contingencies

Employment Agreements

The Company has entered into employment agreements with four of its executive officers. If the Company terminates their respective employment for any reason other than for cause, these executive officers are entitled to severance payments ranging from six to twelve months at each executive officer’s then applicable base salary. Certain of these executive officers are entitled to additional severance payments if the Company terminates their respective employment for any reason other than for cause during the term of their employment and on or within twelve months following a change in control.

Other

As of December 31, 2022, the Company has no standby letters of credit, has no standby repurchase obligations or other commercial commitments. The Company has a line of credit see Note 8 (Credit Facility). Other than employment agreements, other management compensation arrangements and related party transactions as disclosed in Note 12, the Company is not engaged in any other transactions with related parties.

XML 35 R19.htm IDEA: XBRL DOCUMENT v3.22.4
Related Party Transactions
12 Months Ended
Dec. 31, 2022
Related Party Transactions  
Related Party Transactions

12. Related Party Transactions

The Company made sales to a customer where a member of our Board of Directors was formerly an executive. This member of our Board of Directors employment with the customer ended during the second quarter of fiscal 2022 and prior to this member of Board of Directors employment ending, net sales to this customer totaled approximately $0.2 million, which was subsequently collected in full. During the year ended December 31, 2021, net sales to this customer totaled $0.3 million and amounts due from this customer as of December 31, 2021 totaled zero.

The Company made sales to a customer where a family member of one of our executive’s has a minority ownership position. During the year ended December 31, 2022 and 2021, net sales to this customer totaled $1.8 million and $0.4 million, respectively, and amounts due from this customer as of December 31, 2022 and 2021 totaled $0.1 million and $0.2 million, respectively. The Company also accrued referral fees totaling zero and $0.2 million to this customer during the year ended December 31, 2022 and 2021, respectively, and amounts owed to this customer for these referral fees as of December 31, 2022 and 2021 totaled zero and $0.1 million, respectively.

XML 36 R20.htm IDEA: XBRL DOCUMENT v3.22.4
Industry, Segment and Geographic Financial Information
12 Months Ended
Dec. 31, 2022
Industry, Segment and Geographic Financial Information  
Segment Information

13. Industry, Segment and Geographic Financial Information

The Company distributes software developed by others through resellers indirectly to customers worldwide.  We also resell computer software and hardware developed by others and provide technical services directly to customers worldwide.

FASB ASC Topic 280, “Segment Reporting,” requires that public companies report profits and losses and certain other information on their “reportable operating segments” in their annual and interim financial statements. The internal organization used by the public company’s Chief Operating Decision Maker (CODM) to assess performance and allocate resources determines the basis for reportable operating segments. The Company’s CODM is the Chief Executive Officer.

The Company is organized into two reportable operating segments. The “Distribution” segment distributes technical software to corporate resellers, value added resellers (VARs), consultants and systems integrators worldwide.

The “Solutions” segment is a cloud solutions provider and value-added reseller of software, hardware and services to customers worldwide.

As permitted by FASB ASC Topic 280, the Company has utilized the aggregation criteria in combining its operations in Canada, Europe and the United Kingdom with the domestic segments as the international operations provide the same products and services to similar clients and are considered together when the Company’s CODM decides how to allocate resources.

Segment income is based on segment net sales less the respective segment’s cost of sales as well as segment direct costs (including such items as payroll costs and payroll related costs, such as profit sharing, incentive awards and insurance) and excluding general and administrative expenses not attributed to an individual segment business unit. The Company only identifies accounts receivable, vendor prepayments and inventory by segment as shown below as “Selected Assets” by segment; it does not allocate its other assets, including capital expenditures by segment. The following segment reporting information of the Company is provided:

Year ended

December 31,

  

2022

  

2021

Net Sales:

Distribution

$

282,509

$

259,360

Solutions

 

21,839

 

23,222

 

304,348

 

282,582

Gross Profit:

Distribution

$

44,970

$

36,526

Solutions

 

9,124

 

9,190

 

54,094

 

45,716

Direct Costs:

Distribution

$

15,804

$

14,610

Solutions

 

4,296

 

4,741

 

20,100

 

19,351

Segment Income Before Taxes: (1)

Distribution

$

29,166

$

21,916

Solutions

 

4,828

 

4,449

Segment Income Before Taxes

 

33,994

 

26,365

General and administrative

$

14,044

$

12,785

Amortization and depreciation expense

2,054

1,529

Acquisition related costs

582

Interest, net

159

359

Foreign currency transaction loss

 

(941)

 

(46)

Income before taxes

$

16,532

$

12,364

(1) Excludes general corporate expenses including acquisition related costs, amortization and depreciation expense, interest, and foreign currency transaction (loss) gain.

    

    

    

As of

As of 

December 31,

December 31,

Selected Assets by Segment:

2022

2021

Distribution

$

180,602

$

133,506

Solutions

 

21,420

 

18,895

Segment Select Assets

 

202,022

 

152,401

Corporate Assets

 

29,834

 

38,351

Total Assets

$

231,856

$

190,752

Geographic areas and net sales mix related to operations for the year ended December 31, 2022 and 2021 were as follows. Net sales is allocated to a geographic area based on the location of the sale, which is generally the customer’s country of domicile.

    

Year ended

    

December 31, 2022

Distribution

  

Solutions

Total

Geography

              

              

USA

$

225,380

$

11,137

$

236,517

Europe and United Kingdom

 

34,423

 

9,171

 

43,594

Canada

 

22,706

 

1,531

 

24,237

Total net sales

$

282,509

$

21,839

$

304,348

Timing of Revenue Recognition

              

              

Transferred at a point in time where the Company is principal (1)

$

251,334

$

15,044

$

266,378

Transferred at a point in time where the Company is agent (2)

 

31,175

 

6,795

 

37,970

Total net sales

$

282,509

$

21,839

$

304,348

    

Year ended

    

December 31, 2021

Distribution

  

Solutions

Total

Geography

              

              

USA

$

210,247

$

11,057

$

221,304

Europe and United Kingdom

 

26,055

 

10,652

 

36,707

Canada

 

23,058

 

1,513

 

24,571

Total net sales

$

259,360

$

23,222

$

282,582

Timing of Revenue Recognition

              

              

Transferred at a point in time where the Company is principal (1)

$

234,322

$

16,360

$

250,682

Transferred at a point in time where the Company is agent (2)

 

25,038

 

6,862

 

31,900

Total net sales

$

259,360

$

23,222

$

282,582

(1)Includes net sales from third-party hardware and software products.

(2)Includes net sales from third-party maintenance, software support and services.

Geographic identifiable assets related to operations as of December 31, 2022 and 2021 were as follows.

    

December 31,

December 31,

 

Identifiable Assets by Geographic Areas

2022

    

2021

USA

$

137,877

$

122,445

Canada

27,597

24,923

Europe and United Kingdom

66,382

43,384

Total

$

231,856

$

190,752

For the year ended December 31, 2022, the Company had two customers that accounted for 21%, and 16%, respectively, of consolidated net sales and as of December 31, 2022, 16% and 18%, respectively, of total net accounts receivable. For the year ended December 31, 2022, the Company had two vendors that accounted for 17% and 9%, respectively, of our consolidated purchases.

For the year ended December 31, 2021, the Company had two customers that accounted for 18%, and 17%, respectively, of consolidated net sales and as of December 31, 2021, 18% and 22%, respectively, of total net accounts receivable. For the year ended December 31, 2021, the Company had two vendors that accounted for 20% and 10%, respectively of our consolidated purchases.

Our top five customers accounted for 52% and 51% of consolidated net sales for the years ended December 31, 2022 and 2021, respectively.

XML 37 R21.htm IDEA: XBRL DOCUMENT v3.22.4
Schedule II--Valuation and Qualifying Accounts
12 Months Ended
Dec. 31, 2022
Schedule II--Valuation and Qualifying Accounts  
Schedule II--Valuation and Qualifying Accounts

Climb Global Solutions, Inc. and Subsidiaries

Schedule II--Valuation and Qualifying Accounts

(Amounts in thousands)

    

    

Charged to 

    

    

 

Beginning

Cost and 

Ending 

 

Description

Balance

Expense

Deductions

Balance

 

Year ended December 31, 2021

Allowance for doubtful accounts

$

892

$

26

$

37

$

881

Year ended December 31, 2022

Allowance for doubtful accounts

$

881

$

19

$

58

$

842

XML 38 R22.htm IDEA: XBRL DOCUMENT v3.22.4
Summary of Significant Accounting Policies (Policies)
12 Months Ended
Dec. 31, 2022
Summary of Significant Accounting Policies  
Principles of Consolidation and Operations

Principles of Consolidation and Operations

The consolidated financial statements include the accounts of Climb Global Solutions, Inc. and its wholly owned subsidiaries. All intercompany transactions and balances have been eliminated.

Business Combinations

Business Combinations

The Company accounts for business combinations using the acquisition method of accounting, which allocates the fair value of the purchase consideration to the tangible and intangible assets acquired and liabilities assumed based on their estimated fair values. The excess of the purchase consideration over the fair values of these identifiable assets and liabilities is recorded as goodwill. When determining the fair values of assets acquired and liabilities assumed, management makes significant estimates and assumptions. The Company may utilize third-party valuation specialists to assist the Company in the allocation. Initial purchase price allocations are subject to revision within the measurement period, not to exceed one year from the date of acquisition. Acquisition-related expenses and transaction costs associated with business combinations are expensed as incurred.

Use of Estimates

Use of Estimates

The preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States of America (“US GAAP”) requires management to make extensive use of certain estimates and assumptions which affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting periods. The significant areas of estimation include but are not limited to accounting for allowance for doubtful accounts, sales returns, allocation of revenue in multiple deliverable arrangements, principal vs. agent considerations, discount rates applicable to long term receivables, inventory obsolescence, income taxes, depreciation, amortization of intangible assets, contingencies and stock-based compensation. Actual results could differ from those estimates.

Net Income Per Common Share

Net Income Per Common Share

Our basic and diluted earnings per share are computed using the two-class method. The two-class method is an earnings allocation method that determines net income per share for each class of common stock and participating securities according to their participation rights in dividends and undistributed earnings or losses. Non-vested restricted stock awards that include non-forfeitable rights to dividends are considered participating securities. Per share amounts are

computed by dividing net income available to common shareholders by the weighted average shares outstanding during each period. Diluted and basic earnings per share are the same because the restricted shares are the only potentially dilutive security.

A reconciliation of the numerators and denominators of the basic and diluted per share computations follows:

Year ended December 31,

    

2022

    

2021

Numerator:

Net income

$

12,497

$

9,198

Less distributed and undistributed income allocated to participating securities

317

269

Net income attributable to common shareholders

12,180

8,929

Denominator:

 

 

Weighted average common shares (Basic)

4,331

 

4,272

 

 

Weighted average common shares including assumed conversions (Diluted)

4,331

 

4,272

Basic net income per share

$

2.81

$

2.09

Diluted net income per share

$

2.81

$

2.09

Cash Equivalents

Cash Equivalents

The Company considers all liquid short-term investments with maturities of 90 days or less when purchased to be cash equivalents.

Accounts Receivable

Accounts Receivable

Accounts receivable principally represents amounts collectible from our customers. The Company performs ongoing credit evaluations of its customers but generally does not require collateral to support any outstanding obligation. From time to time, we sell accounts receivable to a financial institution on a non-recourse basis for cash, less a discount. The Company has no significant retained interests or servicing liabilities related to the accounts receivable sold. Proceeds from the sale of receivables approximated their discounted book value and were included in operating cash flows on the Consolidated Statements of Cash Flows.

Allowances for Accounts Receivable

Allowances for Accounts Receivable

We provide an allowance for doubtful accounts related to accounts receivable for estimated losses resulting from the inability of our customers to make required payments. We take into consideration the overall quality and aging of the receivable portfolio along with specifically identified customer risks. If actual customer payment performance were to deteriorate to an extent not expected, additional allowances may be required. At the time of sale, we also record an estimate for sales returns based on historical experience, which is included in accounts payable and accrued expenses on the Consolidated Balance Sheets. If actual sales returns are greater than estimated by management, an additional return allowance may be required as an offset to net sales.

Foreign Currency Translation

Foreign Currency Translation

Assets and liabilities of the Company’s foreign subsidiaries have been translated using the end of the reporting period exchange rates, and related revenues and expenses have been translated at average rates of exchange in effect during the period. Cumulative translation adjustments have been classified within accumulated other comprehensive loss, which

is a separate component of stockholders’ equity in accordance FASB ASC Topic No. 220, “Comprehensive Income”. Foreign currency transaction gains and losses are recorded as income or expenses as amounts are settled.

For foreign currency remeasurement from each local currency into the appropriate functional currency, monetary assets and liabilities are remeasured to functional currencies using current exchange rates in effect at the balance sheet date. Gains or losses from these remeasurements have been included in the Company's Consolidated Statements of Earnings. Non-monetary assets and liabilities are recorded at historical exchange rates.

Concentration of Credit Risk

Concentration of Credit Risk

Financial instruments that potentially subject the Company to concentrations in credit risk consist of cash and cash equivalents.

The Company’s cash and cash equivalents, at times, may exceed federally insured limits. The Company’s cash and cash equivalents are deposited primarily in banking institutions with global operations. The Company has not experienced any losses in such accounts. The Company believes it is not exposed to any significant credit risk on cash and cash equivalents.

Financial Instruments

Financial Instruments

The carrying amounts of financial instruments, including cash and cash equivalents, accounts receivable and accounts payable approximated fair value as of December 31, 2022 and 2021, because of the relative short maturity of these instruments. The Company’s accounts receivable-long-term is discounted to its present value at prevailing market rates at the time of sale which, approximates fair value as of December 31, 2022 and 2021.

Inventory

Inventory

Inventory, consisting primarily of finished products held for resale, is valued based on the first-in-first-out method of accounting and is stated at the lower of cost or net realizable value.

Vendor Prepayments and Advances

Vendor Prepayments and Advances

Vendor prepayments represents advance payments made to vendors to be applied against future purchases. Any amounts not expected to be utilized to apply against purchases within one year are reclassified to other long-term assets.

Equipment and Leasehold Improvements

Equipment and Leasehold Improvements

Equipment and leasehold improvements are stated at cost or fair value, if purchased as part of a business combination. Equipment depreciation is calculated using the straight-line method over three to five years. Leasehold improvements are amortized using the straight-line method over the estimated useful lives of the assets or the related lease terms, whichever is shorter.

Software Development Costs

Software Development Costs

The Company capitalizes certain internal and external costs incurred to acquire or create internal-use software. Capitalized software costs are amortized on a straight-line basis over the estimated useful life of the software, which is generally four to seven years. At December 31, 2022 and 2021, the Company had unamortized software development costs of $2.4 million and $0.7 million, respectively, which are included in "Equipment and leasehold improvements" in the Company's Consolidated Balance Sheets. As of December 31, 2022, this includes $2.3 million for an internal-use software project that amortization expense has not yet been recognized for as the internal-use software is not ready for its intended use. As of December 31, 2021, there were no such costs capitalized for this project.

Accounts Receivable-Long-Term

Accounts Receivable-Long-Term

Accounts receivable-long-term result from product sales with extended payment terms that are discounted to their present values at the prevailing market rates at the time of sale. In subsequent periods, the accounts receivable is increased to the amounts due and payable by the customers through the accretion of interest income on the unpaid accounts receivable due in future years. The amounts under these long-term accounts receivable due within one year are reclassified to the current portion of accounts receivable.

Goodwill & Intangible Assets

Goodwill

We test goodwill for impairment on an annual basis and between annual tests if an event occurs, or circumstances change, that would more likely than not reduce the fair value of a reporting unit below its carrying amount. The Company performs an evaluation of goodwill, utilizing either a qualitative or quantitative impairment test. The annual test for impairment is conducted as of October 1. The Company’s reporting units included in the assessment of potential goodwill impairment are the same as its operating segments. Goodwill is not amortized but is subject to periodic testing for impairment at the reporting unit level.

In a qualitative assessment, we assess qualitative factors to determine whether it is more likely than not (that is, a likelihood of more than 50 percent) that the fair value of a reporting unit is less than its carrying amount, including goodwill. If, after assessing the totality of events or circumstances, we determine that it is not more likely than not that the fair value of a reporting unit is less than its carrying amount, then the quantitative goodwill impairment test is unnecessary.

If, after assessing the totality of events or circumstances, we determine that it is more likely than not that the fair value of a reporting unit is less than its carrying amount, then we perform the quantitative goodwill impairment test. We may also elect the unconditional option to bypass the qualitative assessment for any reporting unit in any period and proceed directly to performing the quantitative goodwill impairment test.

In the quantitative impairment test, we compare the fair value of a reporting unit with its carrying amount, including goodwill. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered not impaired. Conversely, if the carrying amount of a reporting unit exceeds its fair value, an impairment loss shall be recognized in an amount equal to that excess, limited to the total amount of goodwill allocated to that reporting unit.

Determining the fair value of a reporting unit is judgmental in nature and requires the use of significant estimates and assumptions, including net sales growth rates, gross profit margins, operating margins, discount rates and future market conditions, among others. Any changes in the judgments, estimates or assumptions used could produce significantly different results.

Intangible Assets

Intangible assets with determinable lives are amortized on a straight-line basis over their respective estimated useful lives, which is determined based on their expected period of benefit. Intangible assets are reviewed for impairment when events or changes in circumstances indicate that the carrying amount of such assets may not be recoverable. Determination of recoverability is based on an estimate of undiscounted future cash flows resulting from the use of the asset and its eventual disposition. If the carrying amount of an asset exceeds its estimated future undiscounted cash flows, an impairment loss is recorded for the excess of the asset's carrying amount over its fair value. In addition, each quarter, the Company evaluates whether events and circumstances warrant a revision to the remaining estimated useful life of each of these intangible assets. If the Company were to determine that a change to the remaining estimated useful life of an intangible asset was necessary, then the remaining carrying amount of the intangible asset would be amortized prospectively over that revised remaining useful life.

Comprehensive Income

Comprehensive Income

Comprehensive income consists of net income for the year and the impact of unrealized foreign currency translation adjustments. The foreign currency translation adjustments are not currently adjusted for income taxes as they relate to permanent investments in international subsidiaries.

Revenue Recognition

Revenue Recognition

The Company’s revenues primarily result from the sale of various technology products and services, including third-party products, third-party software and third-party maintenance, software support and services. The Company recognizes revenue as control of the third-party products and third-party software is transferred to customers, which generally happens at the point of shipment or fulfilment and at the point that our customers and vendors accept the terms and conditions of the arrangement for third-party maintenance, software support and services.

The Company has contracts with certain customers where the Company’s performance obligation is to arrange for the products or services to be provided by another party. In these arrangements, as the Company assumes an agency relationship in the transaction, revenue is recognized in the amount of the net fee associated with serving as an agent. These arrangements primarily relate to third party maintenance, cloud services and certain security software whose intended functionality is dependent on third party maintenance.

The Company allows its customers to return product for exchange or credit subject to certain limitations. A liability is recorded at the time of sale for estimated product returns based upon historical experience and an asset is recognized for the amount expected to be recorded upon product return. The Company also provides rebates and other discounts to certain customers which are considered variable consideration. A provision for customer rebates and other discounts is recorded as a reduction of revenue at the time of sale based on an evaluation of the contract terms and historical experience.

The Company considers shipping and handling activities as costs to fulfill the sales of products. Shipping revenue is included in net sales when control of the product is transferred to the customer, and the related shipping and handling costs are included in cost of sales. Taxes imposed by governmental authorities on the Company’s revenue producing activities with customers, such as sales taxes and value added taxes, are excluded from net sales.

The Company disaggregates its operating revenue by segment, geography and timing of revenue recognition, which the Company believes provides a meaningful depiction of the nature of its revenue. For additional information, see Note 13 (Industry, Segment and Geographic Information).

Hardware and software products sold by the Company are generally delivered via shipment from the Company’s facilities, drop shipment directly from the vendor, or by electronic delivery of keys for software products. The majority of the Company’s business involves shipments directly from its vendors to its customers, in these transactions, the Company is generally responsible for negotiating price both with the vendor and customer, payment to the vendor, establishing payment terms with the customer, product returns, and has risk of loss if the customer does not make payment. As the principal with the customer, the Company recognizes revenue upon receiving notification from the vendor that the product was shipped. Control of software products is deemed to have passed to the customer when they acquire the right to use or copy the software under license as substantially all product functionality is available to the customer at the time of sale.

The Company performs an analysis of the number of days of sales in-transit to customers at the end of each reporting period based on an analysis of commercial delivery terms that include drop-shipment arrangements. This analysis is the basis upon which the Company estimates the amount of net sales in-transit at the end of the period and adjusts revenue and the related costs to reflect only what has been delivered to the customer. Changes in delivery patterns may result in a different number of business days estimated to make this adjustment. The Company also performs a weighted average analysis of the estimated number of days between order fulfillment and beginning of the renewal term for term licenses recorded on a gross basis, and a deferral estimate is recorded for term license renewals fulfilled prior to commencement date.

Generally, software products are sold with accompanying third-party delivered software assurance, which is a product that allows customers to upgrade, at no additional cost, to the latest technology if new capabilities are introduced during the period that the software assurance is in effect. The Company evaluates whether the software assurance is a separate performance obligation by assessing if the third-party delivered software assurance is critical or essential to the core functionality of the software itself. This involves considering if the software provides its original intended functionality to the customer without the updates, if the customer would ascribe a higher value to the upgrades versus the up-front deliverable, if the customer would expect frequent intelligence updates to the software (such as updates that maintain the original functionality), and if the customer chooses to not delay or always install upgrades. If the Company determines that the accompanying third-party delivered software assurance is critical or essential to the core functionality of the software license, the software license and the accompanying third-party delivered software assurance are recognized as a single performance obligation. The value of the product is primarily the accompanying support delivered by a third party and therefore the Company is acting as an agent in these transactions and recognizes them on a net basis at the point the associated software license is delivered to the customer. The Company sells cloud computing solutions that utilize third-party vendors to enable customers to access data center functionality in a cloud-based solution, including storage, computing and networking and access to software in the cloud that enhances office productivity, provides security or assists in collaboration. The Company recognizes revenue for cloud computing solutions for arrangements with one-time invoicing to the customer at the time of invoice on a net basis as the Company is acting as an agent in the transaction. For monthly subscription-based arrangements, the Company is acting as an agent in the transaction and recognizes revenue as it invoices the customer for its monthly usage on a net basis. For software licenses where the accompanying third-party delivered software assurance is not critical or essential to the core functionality, the software assurance is recognized as a separate performance obligation, with the associated revenue recognized on a net basis at the point the related software license is delivered to the customer.

The Company also sells some of its products and services as part of bundled contract arrangements containing multiple deliverables, which may include a combination of products and services. For each deliverable that represents a distinct performance obligation, total arrangement consideration is allocated based upon the standalone selling prices (“SSP”) of each performance obligation. SSP is determined based on the price at which the performance obligation is sold separately. If the standalone selling price is not observable through established standard prices, we use judgement and estimate the standalone selling price considering available information such as market pricing and pricing related to similar products.

Freight

Freight

The Company records freight billed to its customers as net sales and the related freight costs as cost of sales when the underlying product revenue is recognized. For freight not billed to its customers, the Company records the freight costs as cost of sales. The Company’s typical shipping terms result in shipping being performed before the customer obtains control of the product. The Company considers shipping to be a fulfillment activity and not a separate performance obligation.

Commissions

Commissions

The Company pays commissions and related payroll taxes to sales personnel when customers are invoiced. These costs are recorded as selling general and administrative expenses in the period earned as all our performance obligations are complete within a short window of processing the order.

Stock-Based Compensation

Stock-Based Compensation

The Company has stockholder-approved stock incentive plans for employees and directors. Stock-based compensation is recognized based on the grant date fair value and is recognized as expense on a straight-line basis over the requisite service period.

Operating Segments

Operating Segments

Operating segments are defined as components of an enterprise for which separate financial information is available that is evaluated regularly by the chief operating decision maker in deciding how to allocate resources and in

assessing performance. The Company's operations are classified into two reportable business segments: Distribution and Solutions. For additional information, see Note 13 (Industry, Segment and Geographic Information).

Treasury Stock

Treasury Stock

Treasury stock is accounted for at cost. Shares repurchased by the Company are held in treasury for general corporate purposes, including issuances under equity incentive plans. The reissuance of shares from treasury stock is based on the weighted average purchase price of the shares.

Interest, net

Interest, net

Interest, net consists primarily of income from the amortization of the discount on accounts receivable long term, net of interest expense that is inclusive of fees associated with the Company’s credit facility.

Income Taxes

Income Taxes

The Company utilizes the asset and liability method of accounting for income taxes. Under this method, deferred tax assets and liabilities are determined based on differences between financial reporting and tax basis of assets and liabilities and are measured using enacted tax rates and laws that will be in effect when the differences are expected to reverse. This method also requires a valuation allowance against the net deferred tax asset if, based on the weighted available evidence, it is more likely than not that some or all the deferred tax assets will not be realized. The Company’s policy is to recognize interest and penalties related to uncertain tax positions in income tax expense when assessed. The Company accounts for uncertainties in accordance with FASB ASC 740 “Income Taxes”. This standard clarified the accounting for uncertainties in income taxes. The standard prescribes criteria for recognition and measurement of tax positions. It also provides guidance on derecognition, classification, interest and penalties, and disclosures related to income taxes associated with uncertain tax positions. The Company classifies all deferred tax asset or liabilities as non-current on the balance sheet.

Foreign Exchange

Foreign Exchange

The Company’s foreign currency exposure relates primarily to international transactions where the currency collected from customers can be different from the currency used to purchase the product. In cases where the Company is not able to create a natural hedge by maintaining offsetting asset and liability amounts in the same currency, it may enter into foreign exchange contracts, typically in the form of forward purchase agreements, to facilitate the hedging of foreign currency exposures to mitigate the impact of changes in foreign currency exchange rates. These contracts generally have terms of no more than two months. The Company does not apply hedge accounting to these contracts and therefore the changes in fair value are recorded in earnings. The Company does not enter into foreign exchange contracts for trading purposes and the risk of loss on a foreign exchange contract is the risk of nonperformance by the counterparties, which the Company minimizes by limiting its counterparties to major financial institutions.

Recently Issued Accounting Pronouncements

Recently Issued Accounting Pronouncements

In June 2016, the FASB issued Accounting Standards Update No. 2016-13, “Financial Instruments - Credit Losses (Topic 326)” ("ASU 2016-13"). ASU 2016-13 revises the methodology for measuring credit losses on financial instruments and the timing of when such losses are recorded. Originally, ASU 2016-13 was effective for fiscal years, and for interim periods within those fiscal years, beginning after December 15, 2019, with early adoption permitted. In November 2019, FASB issued ASU 2019-10, “Financial Instruments – Credit Losses (Topic 326), Derivatives and Hedging (Topic 815), and Leases (Topic 842).”  This ASU defers the effective date of ASU 2016-13 for public companies that are considered smaller reporting companies as defined by the SEC to fiscal years beginning after December 15, 2022, including interim periods within those fiscal years. Effective January 1, 2023, the company will adopt the update using a modified retrospective approach with a cumulative-effect adjustment to retained earnings. The new credit loss standard is not expected to have a material effect on our financial position, results of operations or cash flows.

XML 39 R23.htm IDEA: XBRL DOCUMENT v3.22.4
Summary of Significant Accounting Policies (Tables)
12 Months Ended
Dec. 31, 2022
Summary of Significant Accounting Policies  
Schedule of reconciliation of the numerators and denominators of the basic and diluted per share computations

Year ended December 31,

    

2022

    

2021

Numerator:

Net income

$

12,497

$

9,198

Less distributed and undistributed income allocated to participating securities

317

269

Net income attributable to common shareholders

12,180

8,929

Denominator:

 

 

Weighted average common shares (Basic)

4,331

 

4,272

 

 

Weighted average common shares including assumed conversions (Diluted)

4,331

 

4,272

Basic net income per share

$

2.81

$

2.09

Diluted net income per share

$

2.81

$

2.09

XML 40 R24.htm IDEA: XBRL DOCUMENT v3.22.4
Acquisition (Tables) - Interwork Group, Inc.
12 Months Ended
Dec. 31, 2022
Business Acquisition [Line Items]  
Summary of purchase price allocations

(in thousands)

Cash

$

3,325

Trade accounts receivable

1,852

Other current assets

367

Vendor relationships (10.4-year weighted average useful life)

11,687

Goodwill

3,244

Accounts payable and other current liabilities

(3,977)

Deferred income tax liabilities

(2,892)

Net assets

$

13,606

Summary of supplementary information related to acquisition

(in thousands)

Supplementary information:

Cash paid to sellers

$

11,836

Contingent earn-out

1,771

Total purchase consideration

$

13,607

Cash paid to sellers

11,836

Cash acquired in acquisition

(3,325)

Net cash paid for acquisition

$

8,511

XML 41 R25.htm IDEA: XBRL DOCUMENT v3.22.4
Goodwill and Other Intangible Assets (Tables)
12 Months Ended
Dec. 31, 2022
Goodwill and Other Intangible Assets  
Summary of goodwill

Balance at January 1, 2021

$

16,816

Translation adjustments

372

Balance December 31, 2021

$

17,188

Goodwill acquired

3,244

Translation adjustments

(1,469)

Balance at December 31, 2022

$

18,963

Summary of other intangibles, net

As of December 31, 2022

Gross Carrying Amount

Accumulated Amortization

Net Carrying Amount

Customer and vendor relationships

$

21,457

2,165

19,292

Trade name

468

67

401

Total

$

21,925

$

2,232

$

19,693

As of December 31, 2021

Gross Carrying Amount

Accumulated Amortization

Net Carrying Amount

Customer and vendor relationships

$

10,550

$

1,079

$

9,471

Trade name

519

40

479

Total

$

11,069

$

1,119

$

9,950

Schedule of estimated future amortization expense of other intangible assets

2023

 

1,875

2024

 

1,875

2025

 

1,875

2026

 

1,875

2027

1,875

Thereafter

 

10,318

Total

$

19,693

XML 42 R26.htm IDEA: XBRL DOCUMENT v3.22.4
Right-of-use Asset and Lease Liability (Tables)
12 Months Ended
Dec. 31, 2022
Right-of-use Asset and Lease Liability  
Schedule of information relating to right-of-use assets and related lease liabilities

Year ended

December 31,

2022

2021

Cash paid for operating lease liabilities

$

647

$

598

Right-of-use assets obtained in exchange for new operating lease obligations

$

63

$

163

Weighted-average remaining lease term

3.9 years

5.1 years

Weighted-average discount rate

3.5%

3.5%

Schedule of maturities of lease liabilities

Maturities of lease liabilities as of December 31, 2022 were as follows:

2023

 

624

2024

 

540

2025

 

548

2026

 

546

2027

125

2,383

Less: imputed interest

(566)

Total lease liabilities

$

1,817

Lease liabilities, current portion

521

Lease liabilities, net of current portion

1,296

Total lease liabilities

$

1,817

XML 43 R27.htm IDEA: XBRL DOCUMENT v3.22.4
Balance Sheet Detail (Tables)
12 Months Ended
Dec. 31, 2022
Balance Sheet Detail  
Schedule of equipment and leasehold improvements

    

December 31,

December 31,

2022

    

2021

Equipment

$

2,720

$

2,627

Capitalized software

2,997

816

Leasehold improvements

 

1,848

 

1,762

 

7,565

 

5,205

Less accumulated depreciation and amortization

 

(4,050)

 

(3,273)

$

3,515

$

1,932

Schedule of accounts receivable - long term, net

December 31,

December 31,

2022

    

2021

    

Total amount due from customers

$

5,213

$

484

Less: unamortized discount

 

(188)

 

(8)

Less: current portion included in accounts receivable

 

(1,911)

 

(398)

$

3,114

$

78

Schedule of accounts payable and accrued expenses

    

December 31,

December 31,

2022

    

2021

    

Trade accounts payable

$

151,180

$

125,908

Accrued expenses

 

9,470

 

8,363

$

160,650

$

134,271

Schedule of accumulated other comprehensive loss

 

December 31,

December 31,

    

2022

    

2021

Foreign currency translation adjustments

$

(2,618)

$

492

$

(2,618)

$

492

XML 44 R28.htm IDEA: XBRL DOCUMENT v3.22.4
Income Taxes (Tables)
12 Months Ended
Dec. 31, 2022
Income Taxes  
Schedule of deferred tax assets and liabilities

December 31,

December 31,

    

2022

    

2021

 

Deferred tax assets:

Accruals and reserves

$

631

$

501

Deferred rent credit

146

163

Depreciation and amortization

38

24

Total deferred tax assets

815

688

Deferred tax liabilities:

Accruals and reserves

(67)

Depreciation and amortization

(4,604)

 

(2,212)

Total deferred tax liabilities

(4,604)

(2,279)

Net deferred tax liabilities

$

(3,789)

$

(1,591)

Schedule of provision (benefit) for income taxes

Year ended December 31,

 

    

2022

    

2021

 

Current:

Federal

$

2,694

$

1,692

State

 

622

 

572

Foreign

 

1,254

 

674

 

4,570

 

2,938

Deferred:

Federal

 

(124)

 

(45)

State

(30)

(12)

Foreign

 

(381)

 

285

 

(535)

 

228

$

4,035

$

3,166

Effective Tax Rate

 

24.4

%  

 

25.6

%

Schedule of difference between total tax expense and the amount computed by applying the U.S. statutory federal income tax rate to income before income taxes

Year ended December 31,

 

    

2022

    

2021

 

Statutory rate applied to pretax income

$

3,472

$

2,596

State income taxes, net of federal income tax benefit

 

468

 

442

Other permanent items

156

19

Foreign income taxes over U.S. statutory rate

 

137

 

(18)

Other items

 

11

 

(36)

Adjustment for foreign rate change

353

Dividends

(9)

(17)

GILTI, net of foreign tax credits

(50)

(38)

Stock compensation

(150)

(135)

Income tax expense

$

4,035

$

3,166

Schedule of components of income before income taxes

Year ended December 31,

 

    

2022

    

2021

 

United States

$

12,968

$

9,355

Foreign

 

3,564

 

3,009

$

16,532

$

12,364

Schedule of activity related to unrecognized tax benefits

    

2021

Balance as of January 1

$

49

Additions related to prior period tax positions

-

Reductions related to settlements with tax authorities

(49)

Balance as of December 31

$

-

XML 45 R29.htm IDEA: XBRL DOCUMENT v3.22.4
Credit Facility (Tables)
12 Months Ended
Dec. 31, 2022
Credit Facility.  
Schedule of future principal payments under the term loan

Year ended December 31,

2023

520

2024

540

2025

560

2026

192

Total

$

1,812

XML 46 R30.htm IDEA: XBRL DOCUMENT v3.22.4
Stockholders' Equity and Stock Based Compensation (Tables)
12 Months Ended
Dec. 31, 2022
Stockholders' Equity and Stock Based Compensation  
Summary of nonvested shares of Restricted Stock awards outstanding and the changes during the period

    

    

Weighted

 

Average Grant

 

Date

 

Shares

Fair Value

 

Nonvested shares at January 1, 2021

 

122,792

$

13.37

Granted in 2021

 

106,122

 

22.96

Vested in 2021

 

(84,653)

 

17.47

Forfeited in 2021

 

(22,159)

 

16.14

Nonvested shares at December 31, 2021

 

122,102

$

18.35

Granted in 2022

 

78,505

 

31.83

Vested in 2022

 

(75,492)

 

21.93

Forfeited in 2022

 

(4,056)

 

19.20

Nonvested shares at December 31, 2022

 

121,059

$

24.83

XML 47 R31.htm IDEA: XBRL DOCUMENT v3.22.4
Industry, Segment and Geographic Financial Information (Tables)
12 Months Ended
Dec. 31, 2022
Industry, Segment and Geographic Financial Information  
Schedule of segment reporting information

Year ended

December 31,

  

2022

  

2021

Net Sales:

Distribution

$

282,509

$

259,360

Solutions

 

21,839

 

23,222

 

304,348

 

282,582

Gross Profit:

Distribution

$

44,970

$

36,526

Solutions

 

9,124

 

9,190

 

54,094

 

45,716

Direct Costs:

Distribution

$

15,804

$

14,610

Solutions

 

4,296

 

4,741

 

20,100

 

19,351

Segment Income Before Taxes: (1)

Distribution

$

29,166

$

21,916

Solutions

 

4,828

 

4,449

Segment Income Before Taxes

 

33,994

 

26,365

General and administrative

$

14,044

$

12,785

Amortization and depreciation expense

2,054

1,529

Acquisition related costs

582

Interest, net

159

359

Foreign currency transaction loss

 

(941)

 

(46)

Income before taxes

$

16,532

$

12,364

(1) Excludes general corporate expenses including acquisition related costs, amortization and depreciation expense, interest, and foreign currency transaction (loss) gain.

    

    

    

As of

As of 

December 31,

December 31,

Selected Assets by Segment:

2022

2021

Distribution

$

180,602

$

133,506

Solutions

 

21,420

 

18,895

Segment Select Assets

 

202,022

 

152,401

Corporate Assets

 

29,834

 

38,351

Total Assets

$

231,856

$

190,752

Schedule of net sales to identifiable assets by geographic areas

    

Year ended

    

December 31, 2022

Distribution

  

Solutions

Total

Geography

              

              

USA

$

225,380

$

11,137

$

236,517

Europe and United Kingdom

 

34,423

 

9,171

 

43,594

Canada

 

22,706

 

1,531

 

24,237

Total net sales

$

282,509

$

21,839

$

304,348

Timing of Revenue Recognition

              

              

Transferred at a point in time where the Company is principal (1)

$

251,334

$

15,044

$

266,378

Transferred at a point in time where the Company is agent (2)

 

31,175

 

6,795

 

37,970

Total net sales

$

282,509

$

21,839

$

304,348

    

Year ended

    

December 31, 2021

Distribution

  

Solutions

Total

Geography

              

              

USA

$

210,247

$

11,057

$

221,304

Europe and United Kingdom

 

26,055

 

10,652

 

36,707

Canada

 

23,058

 

1,513

 

24,571

Total net sales

$

259,360

$

23,222

$

282,582

Timing of Revenue Recognition

              

              

Transferred at a point in time where the Company is principal (1)

$

234,322

$

16,360

$

250,682

Transferred at a point in time where the Company is agent (2)

 

25,038

 

6,862

 

31,900

Total net sales

$

259,360

$

23,222

$

282,582

(1)Includes net sales from third-party hardware and software products.

(2)Includes net sales from third-party maintenance, software support and services.

Summary of identifiable assets by geographic area

    

December 31,

December 31,

 

Identifiable Assets by Geographic Areas

2022

    

2021

USA

$

137,877

$

122,445

Canada

27,597

24,923

Europe and United Kingdom

66,382

43,384

Total

$

231,856

$

190,752

XML 48 R32.htm IDEA: XBRL DOCUMENT v3.22.4
Description of Business (Details)
12 Months Ended
Dec. 31, 2022
segment
Description of Business  
Number of reportable operating segments 2
XML 49 R33.htm IDEA: XBRL DOCUMENT v3.22.4
Summary of Significant Accounting Policies - Net Income Per Common Share (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Numerator:    
Net income $ 12,497 $ 9,198
Less distributed and undistributed income allocated to participating securities 317 269
Net income attributable to common shareholders $ 12,180 $ 8,929
Denominator:    
Weighted average common shares (Basic) 4,331 4,272
Weighted average common shares including assumed conversions (Diluted) 4,331 4,272
Basic net income per share (in dollars per share) $ 2.81 $ 2.09
Diluted net income per share (in dollars per share) $ 2.81 $ 2.09
XML 50 R34.htm IDEA: XBRL DOCUMENT v3.22.4
Summary of Significant Accounting Policies - Equipment and Revenue Recognition (Details)
$ in Millions
12 Months Ended
Dec. 31, 2022
USD ($)
segment
Dec. 31, 2021
USD ($)
Equipment and leasehold improvements    
Number of reportable operating segments | segment 2  
Equipment | Minimum    
Equipment and leasehold improvements    
Useful lives of assets 3 years  
Equipment | Maximum    
Equipment and leasehold improvements    
Useful lives of assets 5 years  
Capitalized software    
Equipment and leasehold improvements    
Software development costs, gross $ 2.4 $ 0.7
Capitalized software | Minimum    
Equipment and leasehold improvements    
Amortization period 4 years  
Capitalized software | Maximum    
Equipment and leasehold improvements    
Amortization period 7 years  
Capitalized software for internal use    
Equipment and leasehold improvements    
Software development costs, gross $ 2.3 $ 0.0
XML 51 R35.htm IDEA: XBRL DOCUMENT v3.22.4
Acquisition (Details)
$ in Thousands, £ in Millions
12 Months Ended
Aug. 18, 2022
USD ($)
Aug. 18, 2022
GBP (£)
Dec. 31, 2022
USD ($)
Dec. 31, 2021
USD ($)
Acquisition of Spinnakar Limited        
Acquisition related costs     $ 582 $ 0
Spinnakar Limited        
Acquisition of Spinnakar Limited        
Aggregate purchase price $ 11,800 £ 9.8    
Revenue     6,000  
Net income     400  
Estimates and assumptions measurement period 1 year 1 year    
Vendor relationships $ 11,687      
Fair value of earn-out liability 1,800      
Acquisition related costs     $ 600  
Spinnakar Limited | Vendor relationships        
Acquisition of Spinnakar Limited        
Vendor relationships $ 11,700      
Useful life 10 years 4 months 24 days 10 years 4 months 24 days    
XML 52 R36.htm IDEA: XBRL DOCUMENT v3.22.4
Acquisition - Cash Consideration (Details) - USD ($)
$ in Thousands
Aug. 18, 2022
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Net [Abstract]        
Goodwill   $ 18,963 $ 17,188 $ 16,816
Spinnakar Limited        
Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Net [Abstract]        
Cash $ 3,325      
Trade accounts receivable 1,852      
Other current assets 367      
Intangible assets 11,687      
Goodwill 3,244      
Accounts payable and other current liabilities (3,977)      
Deferred income tax liabilities (2,892)      
Net assets 13,606      
Spinnakar Limited | Vendor relationships        
Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Net [Abstract]        
Intangible assets $ 11,700      
Useful life 10 years 4 months 24 days      
XML 53 R37.htm IDEA: XBRL DOCUMENT v3.22.4
Acquisition - Supplementary information (Details) - Spinnakar Limited
$ in Thousands
Aug. 18, 2022
USD ($)
Business Acquisition [Line Items]  
Cash paid to sellers $ 11,836
Contingent earn-out 1,771
Total purchase consideration 13,607
Cash acquired in acquisition (3,325)
Net cash paid for acquisition $ 8,511
XML 54 R38.htm IDEA: XBRL DOCUMENT v3.22.4
Goodwill and Other Intangible Assets - Summary of goodwill (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Goodwill [Roll Forward]    
Beginning Balance $ 17,188 $ 16,816
Goodwill acquired 3,244  
Translation adjustments (1,469) 372
Ending Balance $ 18,963 $ 17,188
XML 55 R39.htm IDEA: XBRL DOCUMENT v3.22.4
Goodwill and Other Intangible Assets - Other intangibles, net (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Amount $ 21,925 $ 11,069
Accumulated Amortization 2,232 1,119
Total 19,693 9,950
Amortization expense 1,200 900
Customer and vendor relationships    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Amount 21,457 10,550
Accumulated Amortization 2,165 1,079
Total 19,292 9,471
Trade name    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Amount 468 519
Accumulated Amortization 67 40
Total $ 401 $ 479
Amortization period 15 years  
Customer relationships    
Finite-Lived Intangible Assets [Line Items]    
Amortization period 13 years  
Vendor relationships | Minimum    
Finite-Lived Intangible Assets [Line Items]    
Amortization period 8 years  
Vendor relationships | Maximum    
Finite-Lived Intangible Assets [Line Items]    
Amortization period 15 years  
XML 56 R40.htm IDEA: XBRL DOCUMENT v3.22.4
Goodwill and Other Intangible Assets - Future amortization expense (Details) - USD ($)
$ in Thousands
Dec. 31, 2022
Dec. 31, 2021
Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]    
2023 $ 1,875  
2024 1,875  
2025 1,875  
2026 1,875  
2027 1,875  
Thereafter 10,318  
Total $ 19,693 $ 9,950
XML 57 R41.htm IDEA: XBRL DOCUMENT v3.22.4
Right-of-use Asset and Lease Liability (Details)
Dec. 31, 2022
Minimum  
Right-of-use Asset and Lease Liability  
Lease term 3 years
Maximum  
Right-of-use Asset and Lease Liability  
Lease term 11 years
XML 58 R42.htm IDEA: XBRL DOCUMENT v3.22.4
Right-of-use Asset and Lease Liability - Operating lease information (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Right-of-use Asset and Lease Liability    
Cash paid for operating lease liabilities $ 647 $ 598
Right-of-use assets obtained in exchange for new operating lease obligations $ 63 $ 163
Weighted-average remaining lease term 3 years 10 months 24 days 5 years 1 month 6 days
Weighted-average discount rate 3.50% 3.50%
XML 59 R43.htm IDEA: XBRL DOCUMENT v3.22.4
Right-of-use Asset and Lease Liability - Maturities of lease liabilities (Details) - USD ($)
$ in Thousands
Dec. 31, 2022
Dec. 31, 2021
Maturities of lease liabilities    
2023 $ 624  
2024 540  
2025 548  
2026 546  
2027 125  
Total 2,383  
Less: imputed interest (566)  
Total lease liabilities 1,817  
Lease liability, current portion 521 $ 475
Lease liability, net of current portion $ 1,296 $ 1,810
XML 60 R44.htm IDEA: XBRL DOCUMENT v3.22.4
Balance Sheet Detail (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Equipment and leasehold improvements    
Equipment and leasehold improvements, gross $ 7,565 $ 5,205
Less accumulated depreciation and amortization (4,050) (3,273)
Equipment and leasehold improvements, net 3,515 1,932
Depreciation 400 500
Equipment and capitalized software    
Equipment and leasehold improvements    
Equipment and leasehold improvements, gross 2,720 2,627
Capitalized software    
Equipment and leasehold improvements    
Equipment and leasehold improvements, gross 2,997 816
Amortization 400 100
Leasehold improvements    
Equipment and leasehold improvements    
Equipment and leasehold improvements, gross $ 1,848 $ 1,762
XML 61 R45.htm IDEA: XBRL DOCUMENT v3.22.4
Balance Sheet Detail - Accounts receivable - long term, net (Details) - USD ($)
$ in Thousands
Dec. 31, 2022
Dec. 31, 2021
Accounts receivable - long term    
Total amount due from customer $ 5,213 $ 484
Less unamortized discount (188) (8)
Less current portion included in accounts receivable (1,911) (398)
Total of accounts receivable, long term, net $ 3,114 $ 78
XML 62 R46.htm IDEA: XBRL DOCUMENT v3.22.4
Balance Sheet Detail - Accounts payable and accrued expenses and AOCI (Details) - USD ($)
$ in Thousands
Dec. 31, 2022
Dec. 31, 2021
Accounts payable and accrued expenses    
Trade accounts payable $ 151,180 $ 125,908
Accrued expenses 9,470 8,363
Accounts payable and accrued expenses 160,650 134,271
Accumulated other comprehensive loss (2,868) (250)
Foreign currency translation adjustments    
Accounts payable and accrued expenses    
Accumulated other comprehensive loss $ (2,618) $ 492
XML 63 R47.htm IDEA: XBRL DOCUMENT v3.22.4
Income Taxes - Deferred Tax Assets - (Details) - USD ($)
$ in Thousands
Dec. 31, 2022
Dec. 31, 2021
Deferred tax assets:    
Accruals and reserves $ 631 $ 501
Deferred rent credit 146 163
Depreciation and amortization 38 24
Total deferred tax assets 815 688
Deferred tax liabilities:    
Accruals and reserves   (67)
Depreciation and amortization (4,604) (2,212)
Total deferred tax liabilities (4,604) (2,279)
Net deferred tax liabilities $ (3,789) $ (1,591)
XML 64 R48.htm IDEA: XBRL DOCUMENT v3.22.4
Income Taxes - Provision for Income Taxes - (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Current:    
Federal $ 2,694 $ 1,692
State 622 572
Foreign 1,254 674
Total current income tax 4,570 2,938
Deferred:    
Federal (124) (45)
State (30) (12)
Foreign (381) 285
Total deferred income tax (535) 228
Income tax expense $ 4,035 $ 3,166
Effective tax rate (as a percent) 24.40% 25.60%
XML 65 R49.htm IDEA: XBRL DOCUMENT v3.22.4
Income Taxes - Reconciliations and Components of Income - (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Reconciliation of difference between total tax expense and the amount computed by applying the U.S. statutory federal income tax rate to income before income taxes    
Statutory rate applied to pretax income $ 3,472 $ 2,596
State income taxes, net of federal income tax benefit 468 442
Other permanent items 156 19
Foreign income taxes over U.S. statutory rate 137 (18)
Other items 11 (36)
Adjustment for foreign rate change   353
Dividends (9) (17)
GILTI, net of foreign tax credits (50) (38)
Stock compensation (150) (135)
Income tax expense 4,035 3,166
Components of income before income taxes    
United States 12,968 9,355
Foreign 3,564 3,009
Income before provision for income taxes $ 16,532 $ 12,364
XML 66 R50.htm IDEA: XBRL DOCUMENT v3.22.4
Income Taxes - Unrecognized Tax Benefits - (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Reconciliation of unrecognized tax benefits    
Balance   $ 49
Reductions related to settlements with tax authorities   (49)
Balance $ 0  
Interest and penalties related to uncertain tax positions 0 $ 0
Withholding taxes related to repatriation 0  
Canada    
Reconciliation of unrecognized tax benefits    
Undistributed earnings 8,000  
United Kingdom    
Reconciliation of unrecognized tax benefits    
Undistributed earnings $ 1,500  
XML 67 R51.htm IDEA: XBRL DOCUMENT v3.22.4
Credit Facility (Details)
£ in Millions
12 Months Ended
Apr. 08, 2022
USD ($)
Apr. 13, 2021
GBP (£)
Dec. 31, 2022
USD ($)
Dec. 31, 2021
USD ($)
Nov. 15, 2017
USD ($)
Credit Facility          
Interest rate 3.73%        
Interest rate margin (as a percent)     0.75%    
Debt Instrument, Face Amount $ 2,100,000        
Debt Instrument, Term 48 months        
Long-term Debt     $ 1,800,000 $ 0  
Uncommitted Credit Facility          
Credit Facility          
Maximum borrowing capacity | £   £ 8      
Interest rate margin (as a percent)   1.85%      
Borrowings outstanding     0 0  
Credit Facility          
Credit Facility          
Maximum borrowing capacity         $ 20,000,000
Borrowings outstanding     0 0  
Interest expense     $ 100,000 $ 100,000  
Credit Facility | Index          
Credit Facility          
Interest rate margin (as a percent)     1.75%    
XML 68 R52.htm IDEA: XBRL DOCUMENT v3.22.4
Credit Facility - Future Principal Payments Under Term Loan (Details) - Term Loans
$ in Thousands
Dec. 31, 2022
USD ($)
Principal Payments Under The Term Loan  
2023 $ 520
2024 540
2025 560
2027 192
Total $ 1,812
XML 69 R53.htm IDEA: XBRL DOCUMENT v3.22.4
Stockholders' Equity and Stock Based Compensation - Plans and options (Details) - $ / shares
Dec. 31, 2022
Dec. 31, 2021
Jun. 30, 2018
May 31, 2018
Stock-based compensation        
Common Stock, par value (in dollars per share) $ 0.01 $ 0.01    
Options outstanding 0 0    
Options exercisable 0 0    
Options reserved for future issuance (in shares) 0      
2021 Plan        
Stock-based compensation        
Common Stock, par value (in dollars per share) $ 0.01      
Number of shares of common stock initially available for award 500,000      
Options reserved for future issuance (in shares) 373,594      
2012 Plan        
Stock-based compensation        
Number of shares of common stock initially available for award     1,000,000 600,000
Options reserved for future issuance (in shares) 0   352,158  
XML 70 R54.htm IDEA: XBRL DOCUMENT v3.22.4
Stockholders' Equity and Stock Based Compensation - Nonvested (Details)
$ / shares in Units, $ in Millions
12 Months Ended
Dec. 31, 2022
USD ($)
installment
$ / shares
shares
Dec. 31, 2021
USD ($)
installment
$ / shares
shares
Selling, general and administrative expenses    
Weighted Average Grant Date Fair Value    
Share-based compensation expense | $ $ 1.9 $ 1.5
Restricted stock    
Shares    
Nonvested shares at the beginning of the period | shares 122,102 122,792
Granted (in shares) | shares 78,505 106,122
Vested (in shares) | shares (75,492) (84,653)
Forfeited (in shares) | shares (4,056) (22,159)
Nonvested shares at the end of the period | shares 121,059 122,102
Weighted Average Grant Date Fair Value    
Nonvested shares at the beginning of period (in dollars per share) | $ / shares $ 18.35 $ 13.37
Granted (in dollars per share) | $ / shares 31.83 22.96
Vested (in dollars per share) | $ / shares 21.93 17.47
Forfeited (in dollars per share) | $ / shares 19.20 16.14
Nonvested shares at the end of period (in dollars per share) | $ / shares $ 24.83 $ 18.35
Unrecognized compensation cost (in dollars) | $ $ 2.8  
Weighted average period for recognition of unrecognized compensation cost 2 years 3 months 18 days  
Restricted stock | Maximum    
Shares    
Number of equal quarterly installments for vesting of awards | installment 16 16
XML 71 R55.htm IDEA: XBRL DOCUMENT v3.22.4
Defined Contribution Plan (Details) - USD ($)
$ in Millions
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Defined Contribution Plan    
Company's matching contributions equal to each employee's contribution (as a percent) 50.00%  
Maximum contribution of employees as a percentage of their compensation 6.00%  
Amount expensed $ 0.3 $ 0.3
XML 72 R56.htm IDEA: XBRL DOCUMENT v3.22.4
Commitments and Contingencies (Details)
12 Months Ended
Dec. 31, 2022
USD ($)
director
Contingencies  
Number of executive officers with employment agreements | director 4
Period in which additional severance can be paid if there is a change in control 12 months
Other  
Standby letters of credit $ 0
Standby repurchase obligations or other commercial commitments $ 0
Minimum  
Contingencies  
Period for severance payments 6 months
Maximum  
Contingencies  
Period for severance payments 12 months
XML 73 R57.htm IDEA: XBRL DOCUMENT v3.22.4
Related Party Transactions (Detail) - USD ($)
$ in Millions
3 Months Ended 12 Months Ended
Jun. 30, 2022
Dec. 31, 2022
Dec. 31, 2021
Accrued referral fees   $ 0.0 $ 0.1
Board of Directors      
Sales to related party $ 0.2   0.3
Due from related party     0.0
Family member of executive      
Sales to related party   1.8 0.4
Due from related party   0.1 0.2
Accrued referral fees   $ 0.0 $ 0.2
XML 74 R58.htm IDEA: XBRL DOCUMENT v3.22.4
Industry, Segment and Geographic Financial Information (Details)
$ in Thousands
12 Months Ended
Dec. 31, 2022
USD ($)
segment
Dec. 31, 2021
USD ($)
Segment reporting information    
Number of reportable operating segments | segment 2  
Revenue $ 304,348 $ 282,582
Gross profit 54,094 45,716
Direct Costs 20,100 19,351
Segment Income Before Taxes 33,994 26,365
General and administrative 14,044 12,785
Amortization and depreciation expense 2,054 1,529
Acquisition related costs 582 0
Interest, net 159 359
Foreign currency transaction loss (941) (46)
Income before provision for income taxes 16,532 12,364
Distribution    
Segment reporting information    
Revenue 282,509 259,360
Gross profit 44,970 36,526
Direct Costs 15,804 14,610
Segment Income Before Taxes 29,166 21,916
Solutions    
Segment reporting information    
Revenue 21,839 23,222
Gross profit 9,124 9,190
Direct Costs 4,296 4,741
Segment Income Before Taxes $ 4,828 $ 4,449
XML 75 R59.htm IDEA: XBRL DOCUMENT v3.22.4
Industry, Segment and Geographic Financial Information - Selected Assets by Segment (Details) - USD ($)
$ in Thousands
Dec. 31, 2022
Dec. 31, 2021
Segment Reporting Information [Line Items]    
Total Assets $ 231,856 $ 190,752
Segment Total    
Segment Reporting Information [Line Items]    
Total Assets 202,022 152,401
Corporate Assets    
Segment Reporting Information [Line Items]    
Total Assets 29,834 38,351
Distribution    
Segment Reporting Information [Line Items]    
Total Assets 180,602 133,506
Solutions    
Segment Reporting Information [Line Items]    
Total Assets $ 21,420 $ 18,895
XML 76 R60.htm IDEA: XBRL DOCUMENT v3.22.4
Industry, Segment and Geographic Financial Information - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Disaggregation of Revenue [Line Items]    
Net sales $ 304,348 $ 282,582
Distribution    
Disaggregation of Revenue [Line Items]    
Net sales 282,509 259,360
Solutions    
Disaggregation of Revenue [Line Items]    
Net sales 21,839 23,222
USA    
Disaggregation of Revenue [Line Items]    
Net sales 236,517 221,304
USA | Distribution    
Disaggregation of Revenue [Line Items]    
Net sales 225,380 210,247
USA | Solutions    
Disaggregation of Revenue [Line Items]    
Net sales 11,137 11,057
Europe and United Kingdom    
Disaggregation of Revenue [Line Items]    
Net sales 43,594 36,707
Europe and United Kingdom | Distribution    
Disaggregation of Revenue [Line Items]    
Net sales 34,423 26,055
Europe and United Kingdom | Solutions    
Disaggregation of Revenue [Line Items]    
Net sales 9,171 10,652
Canada    
Disaggregation of Revenue [Line Items]    
Net sales 24,237 24,571
Canada | Distribution    
Disaggregation of Revenue [Line Items]    
Net sales 22,706 23,058
Canada | Solutions    
Disaggregation of Revenue [Line Items]    
Net sales 1,531 1,513
Company As Principal | Transferred at Point in Time    
Disaggregation of Revenue [Line Items]    
Net sales 266,378 250,682
Company As Principal | Distribution | Transferred at Point in Time    
Disaggregation of Revenue [Line Items]    
Net sales 251,334 234,322
Company As Principal | Solutions | Transferred at Point in Time    
Disaggregation of Revenue [Line Items]    
Net sales 15,044 16,360
Company As Agent | Transferred at Point in Time    
Disaggregation of Revenue [Line Items]    
Net sales 37,970 31,900
Company As Agent | Distribution | Transferred at Point in Time    
Disaggregation of Revenue [Line Items]    
Net sales 31,175 25,038
Company As Agent | Solutions | Transferred at Point in Time    
Disaggregation of Revenue [Line Items]    
Net sales $ 6,795 $ 6,862
XML 77 R61.htm IDEA: XBRL DOCUMENT v3.22.4
Industry, Segment and Geographic Financial Information - Assets (Details) - USD ($)
$ in Thousands
Dec. 31, 2022
Dec. 31, 2021
Net sales to unaffiliated customers and identifiable assets by geographic areas    
Identifiable Assets by Geographic Areas $ 231,856 $ 190,752
USA    
Net sales to unaffiliated customers and identifiable assets by geographic areas    
Identifiable Assets by Geographic Areas 137,877 122,445
Canada    
Net sales to unaffiliated customers and identifiable assets by geographic areas    
Identifiable Assets by Geographic Areas 27,597 24,923
Europe and United Kingdom    
Net sales to unaffiliated customers and identifiable assets by geographic areas    
Identifiable Assets by Geographic Areas $ 66,382 $ 43,384
XML 78 R62.htm IDEA: XBRL DOCUMENT v3.22.4
Industry, Segment and Geographic Financial Information - Concentration (Details)
12 Months Ended
Dec. 31, 2022
customer
item
Dec. 31, 2021
item
customer
Top five customers    
Significant Customers and Vendors    
Number of customers 5 5
Net sales | Customer concentration risk    
Significant Customers and Vendors    
Number of customers 2 2
Net sales | Customer one | Customer concentration risk    
Significant Customers and Vendors    
Percentage of concentration risk 21.00% 18.00%
Net sales | Customer two | Customer concentration risk    
Significant Customers and Vendors    
Percentage of concentration risk 16.00% 17.00%
Net sales | Top five customers | Customer concentration risk    
Significant Customers and Vendors    
Percentage of concentration risk 52.00% 51.00%
Net accounts receivable | Customer one | Customer concentration risk    
Significant Customers and Vendors    
Percentage of concentration risk 16.00% 18.00%
Net accounts receivable | Customer two | Customer concentration risk    
Significant Customers and Vendors    
Percentage of concentration risk 18.00% 22.00%
Purchases | Vendor concentration risk    
Significant Customers and Vendors    
Number of customers | item 2 2
Purchases | Vendor concentration risk | Vendor One    
Significant Customers and Vendors    
Percentage of concentration risk 17.00% 20.00%
Purchases | Vendor concentration risk | Vendor Two    
Significant Customers and Vendors    
Percentage of concentration risk 9.00% 10.00%
XML 79 R63.htm IDEA: XBRL DOCUMENT v3.22.4
Schedule II--Valuation and Qualifying Accounts (Details) - Allowances for accounts receivable - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Valuation and qualifying accounts    
Beginning Balance $ 881 $ 892
Charged to Cost and Expense 19 26
Deductions 58 37
Ending Balance $ 842 $ 881
XML 80 clmb-20221231x10k_htm.xml IDEA: XBRL DOCUMENT 0000945983 clmb:AllowanceCreditLossMember 2022-01-01 2022-12-31 0000945983 clmb:AllowanceCreditLossMember 2021-01-01 2021-12-31 0000945983 clmb:AllowanceCreditLossMember 2022-12-31 0000945983 clmb:AllowanceCreditLossMember 2021-12-31 0000945983 clmb:AllowanceCreditLossMember 2020-12-31 0000945983 country:GB 2022-01-01 2022-12-31 0000945983 us-gaap:TreasuryStockCommonMember 2022-01-01 2022-12-31 0000945983 us-gaap:TreasuryStockCommonMember 2021-01-01 2021-12-31 0000945983 us-gaap:TreasuryStockCommonMember 2022-12-31 0000945983 us-gaap:RetainedEarningsMember 2022-12-31 0000945983 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0000945983 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0000945983 us-gaap:TreasuryStockCommonMember 2021-12-31 0000945983 us-gaap:RetainedEarningsMember 2021-12-31 0000945983 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0000945983 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-31 0000945983 us-gaap:TreasuryStockCommonMember 2020-12-31 0000945983 us-gaap:RetainedEarningsMember 2020-12-31 0000945983 us-gaap:AdditionalPaidInCapitalMember 2020-12-31 0000945983 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-12-31 0000945983 clmb:StockBasedCompensationPlan2012Member 2022-12-31 0000945983 clmb:StockBasedCompensationPlan2012Member 2018-06-30 0000945983 clmb:StockBasedCompensationPlan2012Member 2018-05-31 0000945983 us-gaap:RestrictedStockMember 2021-12-31 0000945983 us-gaap:RestrictedStockMember 2020-12-31 0000945983 us-gaap:RestrictedStockMember 2021-01-01 2021-12-31 0000945983 srt:DirectorMember 2022-04-01 2022-06-30 0000945983 clmb:FamilyMember 2022-01-01 2022-12-31 0000945983 srt:DirectorMember 2021-01-01 2021-12-31 0000945983 clmb:FamilyMember 2021-01-01 2021-12-31 0000945983 us-gaap:SalesChannelThroughIntermediaryMember clmb:SolutionsSegmentMember us-gaap:TransferredAtPointInTimeMember 2022-01-01 2022-12-31 0000945983 us-gaap:SalesChannelThroughIntermediaryMember clmb:DistributionSegmentMember us-gaap:TransferredAtPointInTimeMember 2022-01-01 2022-12-31 0000945983 us-gaap:SalesChannelDirectlyToConsumerMember clmb:SolutionsSegmentMember us-gaap:TransferredAtPointInTimeMember 2022-01-01 2022-12-31 0000945983 us-gaap:SalesChannelDirectlyToConsumerMember clmb:DistributionSegmentMember us-gaap:TransferredAtPointInTimeMember 2022-01-01 2022-12-31 0000945983 us-gaap:SalesChannelThroughIntermediaryMember us-gaap:TransferredAtPointInTimeMember 2022-01-01 2022-12-31 0000945983 us-gaap:SalesChannelDirectlyToConsumerMember us-gaap:TransferredAtPointInTimeMember 2022-01-01 2022-12-31 0000945983 country:US clmb:SolutionsSegmentMember 2022-01-01 2022-12-31 0000945983 country:US clmb:DistributionSegmentMember 2022-01-01 2022-12-31 0000945983 country:CA clmb:SolutionsSegmentMember 2022-01-01 2022-12-31 0000945983 country:CA clmb:DistributionSegmentMember 2022-01-01 2022-12-31 0000945983 clmb:EuropeAndUnitedKingdomMember clmb:SolutionsSegmentMember 2022-01-01 2022-12-31 0000945983 clmb:EuropeAndUnitedKingdomMember clmb:DistributionSegmentMember 2022-01-01 2022-12-31 0000945983 country:US 2022-01-01 2022-12-31 0000945983 country:CA 2022-01-01 2022-12-31 0000945983 clmb:EuropeAndUnitedKingdomMember 2022-01-01 2022-12-31 0000945983 us-gaap:SalesChannelThroughIntermediaryMember clmb:SolutionsSegmentMember us-gaap:TransferredAtPointInTimeMember 2021-01-01 2021-12-31 0000945983 us-gaap:SalesChannelThroughIntermediaryMember clmb:DistributionSegmentMember us-gaap:TransferredAtPointInTimeMember 2021-01-01 2021-12-31 0000945983 us-gaap:SalesChannelDirectlyToConsumerMember clmb:SolutionsSegmentMember us-gaap:TransferredAtPointInTimeMember 2021-01-01 2021-12-31 0000945983 us-gaap:SalesChannelDirectlyToConsumerMember clmb:DistributionSegmentMember us-gaap:TransferredAtPointInTimeMember 2021-01-01 2021-12-31 0000945983 us-gaap:SalesChannelThroughIntermediaryMember us-gaap:TransferredAtPointInTimeMember 2021-01-01 2021-12-31 0000945983 us-gaap:SalesChannelDirectlyToConsumerMember us-gaap:TransferredAtPointInTimeMember 2021-01-01 2021-12-31 0000945983 country:US clmb:SolutionsSegmentMember 2021-01-01 2021-12-31 0000945983 country:US clmb:DistributionSegmentMember 2021-01-01 2021-12-31 0000945983 country:CA clmb:SolutionsSegmentMember 2021-01-01 2021-12-31 0000945983 country:CA clmb:DistributionSegmentMember 2021-01-01 2021-12-31 0000945983 clmb:EuropeAndUnitedKingdomMember clmb:SolutionsSegmentMember 2021-01-01 2021-12-31 0000945983 clmb:EuropeAndUnitedKingdomMember clmb:DistributionSegmentMember 2021-01-01 2021-12-31 0000945983 country:US 2021-01-01 2021-12-31 0000945983 country:CA 2021-01-01 2021-12-31 0000945983 clmb:EuropeAndUnitedKingdomMember 2021-01-01 2021-12-31 0000945983 srt:MinimumMember us-gaap:EquipmentMember 2022-01-01 2022-12-31 0000945983 srt:MaximumMember us-gaap:EquipmentMember 2022-01-01 2022-12-31 0000945983 us-gaap:LeaseholdImprovementsMember 2022-12-31 0000945983 clmb:EquipmentAndCapitalizedSoftwareMember 2022-12-31 0000945983 us-gaap:LeaseholdImprovementsMember 2021-12-31 0000945983 clmb:EquipmentAndCapitalizedSoftwareMember 2021-12-31 0000945983 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-12-31 0000945983 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-01-01 2021-12-31 0000945983 clmb:UncommittedCreditFacilityMember 2021-04-13 0000945983 us-gaap:RevolvingCreditFacilityMember 2017-11-15 0000945983 us-gaap:RevolvingCreditFacilityMember 2022-12-31 0000945983 clmb:UncommittedCreditFacilityMember 2022-12-31 0000945983 us-gaap:RevolvingCreditFacilityMember 2021-12-31 0000945983 clmb:UncommittedCreditFacilityMember 2021-12-31 0000945983 srt:MinimumMember 2022-12-31 0000945983 srt:MaximumMember 2022-12-31 0000945983 us-gaap:RevolvingCreditFacilityMember 2022-01-01 2022-12-31 0000945983 us-gaap:RevolvingCreditFacilityMember 2021-01-01 2021-12-31 0000945983 srt:MinimumMember us-gaap:SoftwareDevelopmentMember 2022-01-01 2022-12-31 0000945983 srt:MinimumMember clmb:VendorRelationshipsMember 2022-01-01 2022-12-31 0000945983 srt:MaximumMember us-gaap:SoftwareDevelopmentMember 2022-01-01 2022-12-31 0000945983 srt:MaximumMember clmb:VendorRelationshipsMember 2022-01-01 2022-12-31 0000945983 us-gaap:TradeNamesMember 2022-01-01 2022-12-31 0000945983 us-gaap:CustomerRelationshipsMember 2022-01-01 2022-12-31 0000945983 us-gaap:TradeNamesMember 2022-12-31 0000945983 clmb:CustomerAndVendorRelationshipsMember 2022-12-31 0000945983 us-gaap:TradeNamesMember 2021-12-31 0000945983 clmb:CustomerAndVendorRelationshipsMember 2021-12-31 0000945983 us-gaap:RestrictedStockMember 2022-12-31 0000945983 us-gaap:RestrictedStockMember 2022-01-01 2022-12-31 0000945983 us-gaap:RetainedEarningsMember 2022-01-01 2022-12-31 0000945983 us-gaap:RetainedEarningsMember 2021-01-01 2021-12-31 0000945983 2022-04-08 2022-04-08 0000945983 2022-04-08 0000945983 clmb:TermLoansMember 2022-12-31 0000945983 us-gaap:RevolvingCreditFacilityMember us-gaap:LondonInterbankOfferedRateLIBORMember 2022-01-01 2022-12-31 0000945983 clmb:UncommittedCreditFacilityMember 2021-04-13 2021-04-13 0000945983 us-gaap:CostOfSalesMember us-gaap:SupplierConcentrationRiskMember clmb:VendorTwoMember 2022-01-01 2022-12-31 0000945983 us-gaap:CostOfSalesMember us-gaap:SupplierConcentrationRiskMember clmb:VendorOneMember 2022-01-01 2022-12-31 0000945983 clmb:TopFiveCustomersMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-12-31 0000945983 clmb:CustomerTwoMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-12-31 0000945983 clmb:CustomerTwoMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-12-31 0000945983 clmb:CustomerOneMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-12-31 0000945983 clmb:CustomerOneMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-12-31 0000945983 us-gaap:CostOfSalesMember us-gaap:SupplierConcentrationRiskMember clmb:VendorTwoMember 2021-01-01 2021-12-31 0000945983 us-gaap:CostOfSalesMember us-gaap:SupplierConcentrationRiskMember clmb:VendorOneMember 2021-01-01 2021-12-31 0000945983 clmb:TopFiveCustomersMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-12-31 0000945983 clmb:CustomerTwoMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-12-31 0000945983 clmb:CustomerTwoMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-12-31 0000945983 clmb:CustomerOneMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-12-31 0000945983 clmb:CustomerOneMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-12-31 0000945983 us-gaap:CommonStockMember 2022-12-31 0000945983 us-gaap:CommonStockMember 2021-12-31 0000945983 us-gaap:CommonStockMember 2020-12-31 0000945983 clmb:OmnibusIncentivePlan2021Member 2022-12-31 0000945983 2020-12-31 0000945983 us-gaap:SoftwareDevelopmentMember 2022-12-31 0000945983 clmb:InternalUseSoftwareMember 2022-12-31 0000945983 us-gaap:SoftwareDevelopmentMember 2021-12-31 0000945983 clmb:InternalUseSoftwareMember 2021-12-31 0000945983 clmb:SpinnakarLimitedMember clmb:VendorRelationshipsMember 2022-08-18 0000945983 clmb:SpinnakarLimitedMember 2022-01-01 2022-12-31 0000945983 us-gaap:OperatingSegmentsMember 2022-12-31 0000945983 us-gaap:CorporateNonSegmentMember 2022-12-31 0000945983 country:US 2022-12-31 0000945983 country:CA 2022-12-31 0000945983 clmb:SolutionsSegmentMember 2022-12-31 0000945983 clmb:EuropeAndUnitedKingdomMember 2022-12-31 0000945983 clmb:DistributionSegmentMember 2022-12-31 0000945983 us-gaap:OperatingSegmentsMember 2021-12-31 0000945983 us-gaap:CorporateNonSegmentMember 2021-12-31 0000945983 country:US 2021-12-31 0000945983 country:CA 2021-12-31 0000945983 clmb:SolutionsSegmentMember 2021-12-31 0000945983 clmb:EuropeAndUnitedKingdomMember 2021-12-31 0000945983 clmb:DistributionSegmentMember 2021-12-31 0000945983 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2022-01-01 2022-12-31 0000945983 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2021-01-01 2021-12-31 0000945983 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-12-31 0000945983 us-gaap:AdditionalPaidInCapitalMember 2021-01-01 2021-12-31 0000945983 us-gaap:SoftwareDevelopmentMember 2022-01-01 2022-12-31 0000945983 us-gaap:SoftwareDevelopmentMember 2021-01-01 2021-12-31 0000945983 clmb:SpinnakarLimitedMember clmb:VendorRelationshipsMember 2022-08-18 2022-08-18 0000945983 us-gaap:AccumulatedTranslationAdjustmentMember 2022-12-31 0000945983 us-gaap:AccumulatedTranslationAdjustmentMember 2021-12-31 0000945983 srt:DirectorMember 2021-12-31 0000945983 clmb:FamilyMember 2022-12-31 0000945983 clmb:FamilyMember 2021-12-31 0000945983 2022-06-30 0000945983 2023-02-28 0000945983 srt:MaximumMember us-gaap:RestrictedStockMember 2022-01-01 2022-12-31 0000945983 srt:MaximumMember us-gaap:RestrictedStockMember 2021-01-01 2021-12-31 0000945983 srt:MinimumMember 2022-01-01 2022-12-31 0000945983 srt:MaximumMember 2022-01-01 2022-12-31 0000945983 clmb:SolutionsSegmentMember 2022-01-01 2022-12-31 0000945983 clmb:DistributionSegmentMember 2022-01-01 2022-12-31 0000945983 clmb:SolutionsSegmentMember 2021-01-01 2021-12-31 0000945983 clmb:DistributionSegmentMember 2021-01-01 2021-12-31 0000945983 us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-12-31 0000945983 us-gaap:CostOfSalesMember us-gaap:SupplierConcentrationRiskMember 2022-01-01 2022-12-31 0000945983 clmb:TopFiveCustomersMember 2022-01-01 2022-12-31 0000945983 us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-12-31 0000945983 us-gaap:CostOfSalesMember us-gaap:SupplierConcentrationRiskMember 2021-01-01 2021-12-31 0000945983 clmb:TopFiveCustomersMember 2021-01-01 2021-12-31 0000945983 clmb:SpinnakarLimitedMember 2022-08-18 0000945983 clmb:SpinnakarLimitedMember 2022-08-18 2022-08-18 0000945983 clmb:InterworkGroupInc.Member 2022-01-01 2022-12-31 0000945983 2021-01-01 2021-12-31 0000945983 2022-01-01 2022-12-31 0000945983 2022-12-31 0000945983 2021-12-31 clmb:segment iso4217:USD clmb:customer clmb:item clmb:director clmb:installment shares iso4217:GBP iso4217:USD shares pure P3Y 0000945983 2022 FY false Climb Global Solutions, Inc. P4Y P8Y P6M P48M 10-K true 2022-12-31 --12-31 false 000-26408 DE 13-3136104 4 Industrial Way West, Suite 300 Eatontown NJ 07724 732 389-0932 Common Stock, par value $0.01 per share CLMB NASDAQ No No Yes Yes Accelerated Filer true false true false 134800000 4516652 BDO USA, LLP Woodbridge, New Jersey 243 20245000 29272000 842000 881000 154596000 122502000 4766000 2022000 890000 661000 4141000 4871000 184638000 159328000 3515000 1932000 18963000 17188000 19693000 9950000 1235000 1628000 3114000 78000 350000 459000 348000 189000 231856000 190752000 160650000 134271000 521000 475000 520000 161691000 134746000 1296000 1810000 4137000 1780000 1292000 2866000 171282000 138336000 0.01 0.01 10000000 10000000 5284500 5284500 4478432 4424672 53000 53000 32715000 32087000 806068 859828 13230000 13870000 43904000 34396000 -2868000 -250000 60574000 52416000 231856000 190752000 304348000 282582000 250254000 236866000 54094000 45716000 34144000 32136000 582000 2054000 1529000 17314000 12051000 159000 359000 -941000 -46000 16532000 12364000 4035000 3166000 12497000 9198000 2.81 2.09 2.81 2.09 4331000 4272000 4331000 4272000 0.68 0.68 12497000 9198000 -2618000 492000 -2618000 492000 9879000 9690000 5284500 53000 31962000 922503 -14747000 28191000 -742000 44717000 9198000 9198000 492000 492000 2993000 2993000 1546000 1546000 -1421000 83963 1421000 21288 544000 544000 5284500 53000 32087000 859828 -13870000 34396000 -250000 52416000 12497000 12497000 -2618000 -2618000 2989000 2989000 1923000 1923000 -1295000 74449 1295000 20689 655000 655000 5284500 53000 32715000 806068 -13230000 43904000 -2868000 60574000 12497000 9198000 2066000 1534000 19000 26000 -535000 228000 1897000 1546000 -109000 -55000 426000 468000 35826000 28577000 2751000 -2914000 -1025000 1004000 230000 -574000 25411000 18616000 -503000 -534000 -1174000 222000 4561000 4712000 2502000 258000 8511000 -11013000 -258000 655000 544000 2148000 336000 2989000 2993000 862000 -1832000 -4399000 -743000 -131000 -9027000 -76000 29272000 29348000 20245000 29272000 4278000 2700000 50000 43000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">Note 1. Description of Business</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;">Climb Global Solutions, Inc. (formerly known as Wayside Technology Group, Inc.) and Subsidiaries (the “Company”), was incorporated in Delaware in 1982.  The Company distributes technology products developed by others to resellers who in turn sell to end customers worldwide. The Company also is a cloud solutions provider and value-added reseller of software, hardware and services to customers worldwide. The Company also operates in Canada, the United Kingdom and Europe. The Company offers an extensive line of products from leading software vendors and tools for virtualization/cloud computing, security, networking, storage and infrastructure management, application lifecycle management and other technically sophisticated domains as well as computer hardware.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;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;">The Company is organized into two reportable operating segments. The “Distribution” segment distributes technical software to corporate resellers, value added resellers (VARs), consultants and systems integrators worldwide under the name “Climb Channel Solutions”. The “Solutions” segment is a cloud solutions provider and value-added reseller of software, hardware and services to customers worldwide under the names “Grey Matter”.<span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"> </span></p> 2 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">Note 2. Summary of Significant Accounting Policies</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;margin:0pt;"><b style="font-weight:bold;">Principles of Consolidation and Operations</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;"><span style="background:#ffffff;">The consolidated financial statements include the accounts of Climb Global Solutions, Inc. and its wholly owned </span>subsidiaries<span style="background:#ffffff;">. All intercompany transactions and balances have been eliminated.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;background:#ffffff;">Business Combinations </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="background:#ffffff;">The Company accounts for business combinations using the acquisition method of accounting, which allocates the fair value of the purchase consideration to the tangible and intangible assets acquired and liabilities assumed based on their estimated fair values. The excess of the purchase consideration over the fair values of these identifiable assets and liabilities is recorded as goodwill. When determining the fair values of assets acquired and liabilities assumed, management makes significant estimates and assumptions. The Company may utilize third-party valuation specialists to assist the Company in the allocation. Initial purchase price allocations are subject to revision within the measurement period, not to exceed one year from the date of acquisition. Acquisition-related expenses and transaction costs associated with business combinations are expensed as incurred.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Use of Estimates</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States of America (“US GAAP”) requires management to make extensive use of certain estimates and assumptions which affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting periods. The significant areas of estimation include but are not limited to accounting for allowance for doubtful accounts, sales returns, allocation of revenue in multiple deliverable arrangements, principal vs. agent considerations, discount rates applicable to long term receivables, inventory obsolescence, income taxes, depreciation, amortization of intangible assets, contingencies and stock-based compensation. Actual results could differ from those estimates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;background:#00ff00;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Net Income Per Common Share</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;"><span style="background:#ffffff;">Our basic and diluted earnings per share are computed using the </span><span style="background:#ffffff;">two-class</span><span style="background:#ffffff;"> method. The </span><span style="background:#ffffff;">two-class</span><span style="background:#ffffff;"> method is an earnings allocation method that determines net income per share for each class of common stock and participating securities according to their participation rights in dividends and undistributed earnings or losses. Non-vested restricted stock awards that include non-forfeitable rights to dividends are considered participating securities. Per share amounts are </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="background:#ffffff;">computed by dividing net income available to common shareholders by the weighted average shares outstanding during each period. Diluted and basic earnings per share are the same because the restricted shares are the only potentially dilutive security.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">A reconciliation of the numerators and denominators of the basic and diluted per share computations 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;width:79.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;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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:2.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: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:6.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:79.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#0563c1;font-family:'Calibri','Helvetica','sans-serif';font-size:14pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;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:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;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;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;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.89%;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 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:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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 style="vertical-align:bottom;white-space:nowrap;width:2.44%;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 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;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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></tr><tr><td style="vertical-align:bottom;width:79.67%;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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:18.43%;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;">Year ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;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:7.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;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.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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:2.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: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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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></tr><tr><td style="vertical-align:bottom;width:79.67%;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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,497</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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,198</p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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:2.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:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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></tr><tr><td style="vertical-align:bottom;width:79.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less distributed and undistributed income allocated to participating securities </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 317</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 269</p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income attributable to common shareholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,180</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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,929</p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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:2.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: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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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></tr><tr><td style="vertical-align:bottom;width:79.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Denominator:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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:bottom;width:79.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average common shares (Basic)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;text-align:right;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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,331</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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:6.16%;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,272</p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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:bottom;width:79.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average common shares including assumed conversions (Diluted)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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,331</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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,272</p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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:bottom;width:79.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Basic net income per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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.81</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;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: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:6.16%;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.09</p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Diluted net income per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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.81</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;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.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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.09</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;margin:0pt;"><b style="font-weight:bold;">Cash Equivalents</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;">The Company considers all liquid short-term investments with maturities of 90 days or less when purchased to be cash equivalents.</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;margin:0pt;"><b style="font-weight:bold;">Accounts Receivable</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;">Accounts receivable principally represents amounts collectible from our customers. The Company performs ongoing credit evaluations of its customers but generally does not require collateral to support any outstanding obligation. From time to time, we sell accounts receivable to a financial institution on a non-recourse basis for cash, less a discount. The Company has no significant retained interests or servicing liabilities related to the accounts receivable sold. Proceeds from the sale of receivables approximated their discounted book value and were included in operating cash flows on the Consolidated Statements of Cash Flows.</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;margin:0pt;"><b style="font-weight:bold;">Allowances for Accounts Receivable</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;">We provide an allowance for doubtful accounts related to accounts receivable for estimated losses resulting from the inability of our customers to make required payments. We take into consideration the overall quality and aging of the receivable portfolio along with specifically identified customer risks. If actual customer payment performance were to deteriorate to an extent not expected, additional allowances may be required. At the time of sale, we also record an estimate for sales returns based on historical experience, which is included in accounts payable and accrued expenses on the Consolidated Balance Sheets. If actual sales returns are greater than estimated by management, an additional return allowance may be required as an offset to net sales.</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;margin:0pt;"><b style="font-weight:bold;">Foreign Currency Translation</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;">Assets and liabilities of the Company’s foreign subsidiaries have been translated using the end of the reporting period exchange rates, and related revenues and expenses have been translated at average rates of exchange in effect during the period. Cumulative translation adjustments have been classified within accumulated other comprehensive loss, which </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">is a separate component of stockholders’ equity in accordance FASB ASC Topic No. 220, “Comprehensive Income”. Foreign currency transaction gains and losses are recorded as income or expenses as amounts are settled. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;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;">For foreign currency remeasurement from each local currency into the appropriate functional currency, monetary assets and liabilities are remeasured to functional currencies using current exchange rates in effect at the balance sheet date. Gains or losses from these remeasurements have been included in the Company's Consolidated Statements of Earnings. Non-monetary assets and liabilities are recorded at historical exchange rates.</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;margin:0pt;"><b style="font-weight:bold;">Concentration of Credit Risk</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;">Financial instruments that potentially subject the Company to concentrations in credit risk consist of cash and cash equivalents.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;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;">The Company’s cash and cash equivalents, at times, may exceed federally insured limits. The Company’s cash and cash equivalents are deposited primarily in banking institutions with global operations. The Company has not experienced any losses in such accounts. The Company believes it is not exposed to any significant credit risk on cash and cash equivalents.</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;margin:0pt;"><b style="font-weight:bold;">Financial Instruments</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;">The carrying amounts of financial instruments, including cash and cash equivalents, accounts receivable and accounts payable approximated fair value as of December 31, 2022 and 2021, because of the relative short maturity of these instruments. The Company’s accounts receivable-long-term is discounted to its present value at prevailing market rates at the time of sale which, approximates fair value as of December 31, 2022 and 2021.</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;margin:0pt;"><b style="font-weight:bold;">Inventory</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;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;">Inventory, consisting primarily of finished products held for resale, is valued based on the first-in-first-out method of accounting and is stated at the lower of cost or net realizable value.</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;margin:0pt;"><b style="font-weight:bold;">Vendor Prepayments and Advances</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;">Vendor prepayments represents advance payments made to vendors to be applied against future purchases. Any amounts not expected to be utilized to apply against purchases within one year are reclassified to other long-term assets.</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;margin:0pt;"><b style="font-weight:bold;">Equipment and Leasehold Improvements</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;">Equipment and leasehold improvements are stated at cost or fair value, if purchased as part of a business combination. Equipment depreciation is calculated using the straight-line method over <span style="-sec-ix-hidden:Hidden_VmtHdIDntEeZl800LWVvdQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three</span></span> to five years. Leasehold improvements are amortized using the straight-line method over the estimated useful lives of the assets or the related lease terms, whichever is shorter.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;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;"><b style="font-weight:bold;">Software Development Costs</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;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:7.2pt;"/><span style="display:inline-block;width:28.8pt;"/>The Company capitalizes certain internal and external costs incurred to acquire or create internal-use software. Capitalized software costs are amortized on a straight-line basis over the estimated useful life of the software, which is generally <span style="-sec-ix-hidden:Hidden_Z9uTggqzX0eq_E0I_8DdHg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">four</span></span> to seven years. At December 31, 2022 and 2021, the Company had unamortized software development costs of $2.4 million and $0.7<span style="white-space:pre-wrap;"> million, respectively, which are included in "Equipment and leasehold improvements" in the Company's Consolidated Balance Sheets. As of December 31, 2022, this includes </span>$2.3 million for an internal-use software project that amortization expense has not yet been recognized for as the internal-use software is not ready for its intended use. As of December 31, 2021, there were no such costs capitalized for this project.</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;margin:0pt;"><b style="font-weight:bold;">Accounts Receivable-Long-Term</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;">Accounts receivable-long-term result from product sales with extended payment terms that are discounted to their present values at the prevailing market rates at the time of sale. In subsequent periods, the accounts receivable is increased to the amounts due and payable by the customers through the accretion of interest income on the unpaid accounts receivable due in future years. The amounts under these long-term accounts receivable due within one year are reclassified to the current portion of accounts receivable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Goodwill</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"/>We test goodwill for impairment on an annual basis and between annual tests if an event occurs, or circumstances change, that would more likely than not reduce the fair value of a reporting unit below its carrying amount. The Company performs an evaluation of goodwill, utilizing either a qualitative or quantitative impairment test. The annual test for impairment is conducted as of October 1. The Company’s reporting units included in the assessment of potential goodwill impairment are the same as its operating segments. Goodwill is not amortized but is subject to periodic testing for impairment at the reporting unit level.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">In a qualitative assessment, we assess qualitative factors to determine whether it is more likely than not (that is, a likelihood of more than 50 percent) that the fair value of a reporting unit is less than its carrying amount, including goodwill. If, after assessing the totality of events or circumstances, we determine that it is not more likely than not that the fair value of a reporting unit is less than its carrying amount, then the quantitative goodwill impairment test is unnecessary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">If, after assessing the totality of events or circumstances, we determine that it is more likely than not that the fair value of a reporting unit is less than its carrying amount, then we perform the quantitative goodwill impairment test. We may also elect the unconditional option to bypass the qualitative assessment for any reporting unit in any period and proceed directly to performing the quantitative goodwill impairment test.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">In the quantitative impairment test, we compare the fair value of a reporting unit with its carrying amount, including goodwill. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered not impaired. Conversely, if the carrying amount of a reporting unit exceeds its fair value, an impairment loss shall be recognized in an amount equal to that excess, limited to the total amount of goodwill allocated to that reporting unit. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;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;">Determining the fair value of a reporting unit is judgmental in nature and requires the use of significant estimates and assumptions, including net sales growth rates, gross profit margins, operating margins, discount rates and future market conditions, among others. Any changes in the judgments, estimates or assumptions used could produce significantly different results.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Intangible Assets</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;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;">Intangible assets with determinable lives are amortized on a straight-line basis over their respective estimated useful lives, which is determined based on their expected period of benefit. Intangible assets are reviewed for impairment when events or changes in circumstances indicate that the carrying amount of such assets may not be recoverable. Determination of recoverability is based on an estimate of undiscounted future cash flows resulting from the use of the asset and its eventual disposition. If the carrying amount of an asset exceeds its estimated future undiscounted cash flows, an impairment loss is recorded for the excess of the asset's carrying amount over its fair value. In addition, each quarter, the Company evaluates whether events and circumstances warrant a revision to the remaining estimated useful life of each of these intangible assets. If the Company were to determine that a change to the remaining estimated useful life of an intangible asset was necessary, then the remaining carrying amount of the intangible asset would be amortized prospectively over that revised remaining useful life.</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;"><b style="font-weight:bold;">Comprehensive Income</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;">Comprehensive income consists of net income for the year and the impact of unrealized foreign currency translation adjustments. The foreign currency translation adjustments are not currently adjusted for income taxes as they relate to permanent investments in international subsidiaries.</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;margin:0pt;"><b style="font-weight:bold;">Revenue Recognition</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:9pt 0pt 0pt 0pt;">The Company’s revenues primarily result from the sale of various technology products and services, including third-party products, third-party software and third-party maintenance, software support and services. The Company recognizes revenue as control of the third-party products and third-party software is transferred to customers, which generally happens at the point of shipment or fulfilment and at the point that our customers and vendors accept the terms and conditions of the arrangement for third-party maintenance, software support and services. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:9pt 0pt 0pt 0pt;">The Company has contracts with certain customers where the Company’s performance obligation is to arrange for the products or services to be provided by another party. In these arrangements, as the Company assumes an agency relationship in the transaction, revenue is recognized in the amount of the net fee associated with serving as an agent. These arrangements primarily relate to third party maintenance, cloud services and certain security software whose intended functionality is dependent on third party maintenance. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:9pt 0pt 0pt 0pt;">The Company allows its customers to return product for exchange or credit subject to certain limitations. A liability is recorded at the time of sale for estimated product returns based upon historical experience and an asset is recognized for the amount expected to be recorded upon product return. The Company also provides rebates and other discounts to certain customers which are considered variable consideration. A provision for customer rebates and other discounts is recorded as a reduction of revenue at the time of sale based on an evaluation of the contract terms and historical experience.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:9pt 0pt 0pt 0pt;">The Company considers shipping and handling activities as costs to fulfill the sales of products. Shipping revenue is included in net sales when control of the product is transferred to the customer, and the related shipping and handling costs are included in cost of sales. Taxes imposed by governmental authorities on the Company’s revenue producing activities with customers, such as sales taxes and value added taxes, are excluded from net sales.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:9pt 0pt 0pt 0pt;">The Company disaggregates its operating revenue by segment, geography and timing of revenue recognition, which the Company believes provides a meaningful depiction of the nature of its revenue. For additional information, see Note 13 (Industry, Segment and Geographic Information). </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">Hardware and software products sold by the Company are generally delivered via shipment from the Company’s facilities, drop shipment directly from the vendor, or by electronic delivery of keys for software products. The majority of the Company’s business involves shipments directly from its vendors to its customers, in these transactions, the Company is generally responsible for negotiating price both with the vendor and customer, payment to the vendor, establishing payment terms with the customer, product returns, and has risk of loss if the customer does not make payment. As the principal with the customer, the Company recognizes revenue upon receiving notification from the vendor that the product was shipped. Control of software products is deemed to have passed to the customer when they acquire the right to use or copy the software under license as substantially all product functionality is available to the customer at the time of sale. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;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;"><span style="background:#ffffff;">The Company performs an analysis of the number of days of sales in-transit to customers at the end of each reporting period based on an analysis of commercial delivery terms that include drop-shipment arrangements. This analysis is the basis upon which the Company estimates the amount of net sales in-transit at the end of the period and adjusts revenue and the related costs to reflect only what has been delivered to the customer. Changes in delivery patterns may result in a different number of business days estimated to make this adjustment. The Company also performs a weighted average analysis of the estimated number of days between order fulfillment and beginning of the renewal term for term licenses recorded on a gross basis, and a deferral estimate is recorded for term license renewals fulfilled prior to commencement date. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">Generally, software products are sold with accompanying third-party delivered software assurance, which is a product that allows customers to upgrade, at no additional cost, to the latest technology if new capabilities are introduced during the period that the software assurance is in effect. The Company evaluates whether the software assurance is a separate performance obligation by assessing if the third-party delivered software assurance is critical or essential to the core functionality of the software itself. This involves considering if the software provides its original intended functionality to the customer without the updates, if the customer would ascribe a higher value to the upgrades versus the up-front deliverable, if the customer would expect frequent intelligence updates to the software (such as updates that maintain the original functionality), and if the customer chooses to not delay or always install upgrades. If the Company determines that the accompanying third-party delivered software assurance is critical or essential to the core functionality of the software license, the software license and the accompanying third-party delivered software assurance are recognized as a single performance obligation. The value of the product is primarily the accompanying support delivered by a third party and therefore the Company is acting as an agent in these transactions and recognizes them on a net basis at the point the associated software license is delivered to the customer. The Company sells cloud computing solutions that utilize third-party vendors to enable customers to access data center functionality in a cloud-based solution, including storage, computing and networking and access to software in the cloud that enhances office productivity, provides security or assists in collaboration. The Company recognizes revenue for cloud computing solutions for arrangements with one-time invoicing to the customer at the time of invoice on a net basis as the Company is acting as an agent in the transaction. For monthly subscription-based arrangements, the Company is acting as an agent in the transaction and recognizes revenue as it invoices the customer for its monthly usage on a net basis. For software licenses where the accompanying third-party delivered software assurance is not critical or essential to the core functionality, the software assurance is recognized as a separate performance obligation, with the associated revenue recognized on a net basis at the point the related software license is delivered to the customer. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:8.1pt 0pt 0pt 0pt;">The Company also sells some of its products and services as part of bundled contract arrangements containing multiple deliverables, which may include a combination of products and services. For each deliverable that represents a distinct performance obligation, total arrangement consideration is allocated based upon the standalone selling prices (“SSP”) of each performance obligation. SSP is determined based on the price at which the performance obligation is sold separately. If the standalone selling price is not observable through established standard prices, we use judgement and estimate the standalone selling price considering available information such as market pricing and pricing related to similar products.</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;"><b style="font-weight:bold;">Freight</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:8.1pt 0pt 0pt 0pt;">The Company records freight billed to its customers as net sales and the related freight costs as cost of sales when the underlying product revenue is recognized. For freight not billed to its customers, the Company records the freight costs as cost of sales. The Company’s typical shipping terms result in shipping being performed before the customer obtains control of the product. The Company considers shipping to be a fulfillment activity and not a separate performance obligation.</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;margin:0pt;"><b style="font-weight:bold;">Commissions</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;">The Company pays commissions and related payroll taxes to sales personnel when customers are invoiced. These costs are recorded as selling general and administrative expenses in the period earned as all our performance obligations are complete within a short window of processing the order. </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;margin:0pt;"><b style="font-weight:bold;">Stock-Based Compensation</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;">The Company has stockholder-approved stock incentive plans for employees and directors. Stock-based compensation is recognized based on the grant date fair value and is recognized as expense on a straight-line basis over the requisite service period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;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;"><b style="font-weight:bold;">Operating Segments</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;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:7.2pt;"/><span style="display:inline-block;width:28.8pt;"/>Operating segments are defined as components of an enterprise for which separate financial information is available that is evaluated regularly by the chief operating decision maker in deciding how to allocate resources and in </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">assessing performance. The Company's operations are classified into two reportable business segments: Distribution and Solutions. For additional information, see Note 13 (Industry, Segment and Geographic Information).</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;margin:0pt;"><b style="font-weight:bold;">Treasury Stock</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;">Treasury stock is accounted for at cost. Shares repurchased by the Company are held in treasury for general corporate purposes, including issuances under equity incentive plans. The reissuance of shares from treasury stock is based on the weighted average purchase price of the shares.</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;"><b style="font-weight:bold;">Interest, net</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;margin:0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"/>Interest, net consists primarily of income from the amortization of the discount on accounts receivable long term, net of interest expense that is inclusive of fees associated with the Company’s credit facility.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"/><span style="display:inline-block;width:36pt;"/><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Income Taxes</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;">The Company utilizes the asset and liability method of accounting for income taxes. Under this method, deferred tax assets and liabilities are determined based on differences between financial reporting and tax basis of assets and liabilities and are measured using enacted tax rates and laws that will be in effect when the differences are expected to reverse. This method also requires a valuation allowance against the net deferred tax asset if, based on the weighted available evidence, it is more likely than not that some or all the deferred tax assets will not be realized. The Company’s policy is to recognize interest and penalties related to uncertain tax positions in income tax expense when assessed. The Company accounts for uncertainties in accordance with FASB ASC 740 “Income Taxes”. This standard clarified the accounting for uncertainties in income taxes. The standard prescribes criteria for recognition and measurement of tax positions. It also provides guidance on derecognition, classification, interest and penalties, and disclosures related to income taxes associated with uncertain tax positions. The Company classifies all deferred tax asset or liabilities as non-current on the balance sheet.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;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;"><b style="font-weight:bold;">Foreign Exchange</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;margin:0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:7.2pt;"/><span style="display:inline-block;width:28.8pt;"/>The Company’s foreign currency exposure relates primarily to international transactions where the currency collected from customers can be different from the currency used to purchase the product. In cases where the Company is not able to create a natural hedge by maintaining offsetting asset and liability amounts in the same currency, it may enter into foreign exchange contracts, typically in the form of forward purchase agreements, to facilitate the hedging of foreign currency exposures to mitigate the impact of changes in foreign currency exchange rates. These contracts generally have terms of no more than two months. The Company does not apply hedge accounting to these contracts and therefore the changes in fair value are recorded in earnings. The Company does not enter into foreign exchange contracts for trading purposes and the risk of loss on a foreign exchange contract is the risk of nonperformance by the counterparties, which the Company minimizes by limiting its counterparties to major financial institutions. </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;margin:0pt;"><b style="font-weight:bold;">Recently Issued Accounting Pronouncements</b></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;text-align:justify;text-indent:36pt;margin:0pt;">In June 2016, the FASB issued Accounting Standards Update No. 2016-13, <i style="font-style:italic;">“Financial Instruments - Credit Losses (Topic 326)”</i> ("ASU 2016-13"). ASU 2016-13 revises the methodology for measuring credit losses on financial instruments and the timing of when such losses are recorded. Originally, ASU 2016-13 was effective for fiscal years, and for interim periods within those fiscal years, beginning after December 15, 2019, with early adoption permitted. In November 2019, FASB issued ASU 2019-10, “<i style="font-style:italic;">Financial Instruments – Credit Losses (Topic 326), Derivatives and Hedging (Topic 815), and Leases (Topic </i>842).”  This ASU defers the effective date of ASU 2016-13 for public companies that are considered smaller reporting companies as defined by the SEC to fiscal years beginning after December 15, 2022, including interim periods within those fiscal years. <span style="background:#ffffff;">Effective January 1, 2023, the company will adopt the update using a modified retrospective approach with a cumulative-effect adjustment to retained earnings. The new credit loss standard is not expected to have a material effect on our financial position, results of operations or cash flows.</span> </p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Principles of Consolidation and Operations</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;"><span style="background:#ffffff;">The consolidated financial statements include the accounts of Climb Global Solutions, Inc. and its wholly owned </span>subsidiaries<span style="background:#ffffff;">. All intercompany transactions and balances have been eliminated.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;background:#ffffff;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;background:#ffffff;">Business Combinations </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="background:#ffffff;">The Company accounts for business combinations using the acquisition method of accounting, which allocates the fair value of the purchase consideration to the tangible and intangible assets acquired and liabilities assumed based on their estimated fair values. The excess of the purchase consideration over the fair values of these identifiable assets and liabilities is recorded as goodwill. When determining the fair values of assets acquired and liabilities assumed, management makes significant estimates and assumptions. The Company may utilize third-party valuation specialists to assist the Company in the allocation. Initial purchase price allocations are subject to revision within the measurement period, not to exceed one year from the date of acquisition. Acquisition-related expenses and transaction costs associated with business combinations are expensed as incurred.</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Use of Estimates</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States of America (“US GAAP”) requires management to make extensive use of certain estimates and assumptions which affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting periods. The significant areas of estimation include but are not limited to accounting for allowance for doubtful accounts, sales returns, allocation of revenue in multiple deliverable arrangements, principal vs. agent considerations, discount rates applicable to long term receivables, inventory obsolescence, income taxes, depreciation, amortization of intangible assets, contingencies and stock-based compensation. Actual results could differ from those estimates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;background:#00ff00;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Net Income Per Common Share</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;"><span style="background:#ffffff;">Our basic and diluted earnings per share are computed using the </span><span style="background:#ffffff;">two-class</span><span style="background:#ffffff;"> method. The </span><span style="background:#ffffff;">two-class</span><span style="background:#ffffff;"> method is an earnings allocation method that determines net income per share for each class of common stock and participating securities according to their participation rights in dividends and undistributed earnings or losses. Non-vested restricted stock awards that include non-forfeitable rights to dividends are considered participating securities. Per share amounts are </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="background:#ffffff;">computed by dividing net income available to common shareholders by the weighted average shares outstanding during each period. Diluted and basic earnings per share are the same because the restricted shares are the only potentially dilutive security.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">A reconciliation of the numerators and denominators of the basic and diluted per share computations 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;width:79.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;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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:2.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: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:6.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:79.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#0563c1;font-family:'Calibri','Helvetica','sans-serif';font-size:14pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;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:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;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;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;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.89%;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 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:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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 style="vertical-align:bottom;white-space:nowrap;width:2.44%;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 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;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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></tr><tr><td style="vertical-align:bottom;width:79.67%;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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:18.43%;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;">Year ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;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:7.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;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.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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:2.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: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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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></tr><tr><td style="vertical-align:bottom;width:79.67%;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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,497</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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,198</p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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:2.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:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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></tr><tr><td style="vertical-align:bottom;width:79.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less distributed and undistributed income allocated to participating securities </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 317</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 269</p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income attributable to common shareholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,180</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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,929</p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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:2.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: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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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></tr><tr><td style="vertical-align:bottom;width:79.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Denominator:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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:bottom;width:79.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average common shares (Basic)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;text-align:right;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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,331</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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:6.16%;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,272</p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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:bottom;width:79.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average common shares including assumed conversions (Diluted)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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,331</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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,272</p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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:bottom;width:79.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Basic net income per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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.81</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;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: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:6.16%;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.09</p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Diluted net income per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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.81</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;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.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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.09</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;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:79.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;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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:2.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: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:6.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:79.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#0563c1;font-family:'Calibri','Helvetica','sans-serif';font-size:14pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;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:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;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;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;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.89%;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 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:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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 style="vertical-align:bottom;white-space:nowrap;width:2.44%;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 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;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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></tr><tr><td style="vertical-align:bottom;width:79.67%;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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:18.43%;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;">Year ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;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:7.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;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.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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:2.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: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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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></tr><tr><td style="vertical-align:bottom;width:79.67%;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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,497</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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,198</p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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:2.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:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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></tr><tr><td style="vertical-align:bottom;width:79.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less distributed and undistributed income allocated to participating securities </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 317</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 269</p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income attributable to common shareholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,180</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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,929</p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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:2.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: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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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></tr><tr><td style="vertical-align:bottom;width:79.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Denominator:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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:bottom;width:79.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average common shares (Basic)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;text-align:right;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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,331</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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:6.16%;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,272</p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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:bottom;width:79.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average common shares including assumed conversions (Diluted)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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,331</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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,272</p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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:bottom;width:79.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Basic net income per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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.81</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;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: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:6.16%;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.09</p></td></tr><tr><td style="vertical-align:bottom;width:79.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Diluted net income per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;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.81</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;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.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.16%;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.09</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 12497000 9198000 317000 269000 12180000 8929000 4331000 4272000 4331000 4272000 2.81 2.09 2.81 2.09 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Cash Equivalents</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;">The Company considers all liquid short-term investments with maturities of 90 days or less when purchased to be cash equivalents.</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;margin:0pt;"><b style="font-weight:bold;">Accounts Receivable</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;">Accounts receivable principally represents amounts collectible from our customers. The Company performs ongoing credit evaluations of its customers but generally does not require collateral to support any outstanding obligation. From time to time, we sell accounts receivable to a financial institution on a non-recourse basis for cash, less a discount. The Company has no significant retained interests or servicing liabilities related to the accounts receivable sold. Proceeds from the sale of receivables approximated their discounted book value and were included in operating cash flows on the Consolidated Statements of Cash Flows.</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;margin:0pt;"><b style="font-weight:bold;">Allowances for Accounts Receivable</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;">We provide an allowance for doubtful accounts related to accounts receivable for estimated losses resulting from the inability of our customers to make required payments. We take into consideration the overall quality and aging of the receivable portfolio along with specifically identified customer risks. If actual customer payment performance were to deteriorate to an extent not expected, additional allowances may be required. At the time of sale, we also record an estimate for sales returns based on historical experience, which is included in accounts payable and accrued expenses on the Consolidated Balance Sheets. If actual sales returns are greater than estimated by management, an additional return allowance may be required as an offset to net sales.</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;margin:0pt;"><b style="font-weight:bold;">Foreign Currency Translation</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;">Assets and liabilities of the Company’s foreign subsidiaries have been translated using the end of the reporting period exchange rates, and related revenues and expenses have been translated at average rates of exchange in effect during the period. Cumulative translation adjustments have been classified within accumulated other comprehensive loss, which </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">is a separate component of stockholders’ equity in accordance FASB ASC Topic No. 220, “Comprehensive Income”. Foreign currency transaction gains and losses are recorded as income or expenses as amounts are settled. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;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;">For foreign currency remeasurement from each local currency into the appropriate functional currency, monetary assets and liabilities are remeasured to functional currencies using current exchange rates in effect at the balance sheet date. Gains or losses from these remeasurements have been included in the Company's Consolidated Statements of Earnings. Non-monetary assets and liabilities are recorded at historical exchange rates.</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;margin:0pt;"><b style="font-weight:bold;">Concentration of Credit Risk</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;">Financial instruments that potentially subject the Company to concentrations in credit risk consist of cash and cash equivalents.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;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;">The Company’s cash and cash equivalents, at times, may exceed federally insured limits. The Company’s cash and cash equivalents are deposited primarily in banking institutions with global operations. The Company has not experienced any losses in such accounts. The Company believes it is not exposed to any significant credit risk on cash and cash equivalents.</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;margin:0pt;"><b style="font-weight:bold;">Financial Instruments</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;">The carrying amounts of financial instruments, including cash and cash equivalents, accounts receivable and accounts payable approximated fair value as of December 31, 2022 and 2021, because of the relative short maturity of these instruments. The Company’s accounts receivable-long-term is discounted to its present value at prevailing market rates at the time of sale which, approximates fair value as of December 31, 2022 and 2021.</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;margin:0pt;"><b style="font-weight:bold;">Inventory</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;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;">Inventory, consisting primarily of finished products held for resale, is valued based on the first-in-first-out method of accounting and is stated at the lower of cost or net realizable value.</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;margin:0pt;"><b style="font-weight:bold;">Vendor Prepayments and Advances</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;">Vendor prepayments represents advance payments made to vendors to be applied against future purchases. Any amounts not expected to be utilized to apply against purchases within one year are reclassified to other long-term assets.</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;margin:0pt;"><b style="font-weight:bold;">Equipment and Leasehold Improvements</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;">Equipment and leasehold improvements are stated at cost or fair value, if purchased as part of a business combination. Equipment depreciation is calculated using the straight-line method over <span style="-sec-ix-hidden:Hidden_VmtHdIDntEeZl800LWVvdQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three</span></span> to five years. Leasehold improvements are amortized using the straight-line method over the estimated useful lives of the assets or the related lease terms, whichever is shorter.</p> P5Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Software Development Costs</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;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:7.2pt;"/><span style="display:inline-block;width:28.8pt;"/>The Company capitalizes certain internal and external costs incurred to acquire or create internal-use software. Capitalized software costs are amortized on a straight-line basis over the estimated useful life of the software, which is generally <span style="-sec-ix-hidden:Hidden_Z9uTggqzX0eq_E0I_8DdHg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">four</span></span> to seven years. At December 31, 2022 and 2021, the Company had unamortized software development costs of $2.4 million and $0.7<span style="white-space:pre-wrap;"> million, respectively, which are included in "Equipment and leasehold improvements" in the Company's Consolidated Balance Sheets. As of December 31, 2022, this includes </span>$2.3 million for an internal-use software project that amortization expense has not yet been recognized for as the internal-use software is not ready for its intended use. As of December 31, 2021, there were no such costs capitalized for this project.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> P7Y 2400000 700000 2300000 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Accounts Receivable-Long-Term</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;">Accounts receivable-long-term result from product sales with extended payment terms that are discounted to their present values at the prevailing market rates at the time of sale. In subsequent periods, the accounts receivable is increased to the amounts due and payable by the customers through the accretion of interest income on the unpaid accounts receivable due in future years. The amounts under these long-term accounts receivable due within one year are reclassified to the current portion of accounts receivable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Goodwill</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"/>We test goodwill for impairment on an annual basis and between annual tests if an event occurs, or circumstances change, that would more likely than not reduce the fair value of a reporting unit below its carrying amount. The Company performs an evaluation of goodwill, utilizing either a qualitative or quantitative impairment test. The annual test for impairment is conducted as of October 1. The Company’s reporting units included in the assessment of potential goodwill impairment are the same as its operating segments. Goodwill is not amortized but is subject to periodic testing for impairment at the reporting unit level.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">In a qualitative assessment, we assess qualitative factors to determine whether it is more likely than not (that is, a likelihood of more than 50 percent) that the fair value of a reporting unit is less than its carrying amount, including goodwill. If, after assessing the totality of events or circumstances, we determine that it is not more likely than not that the fair value of a reporting unit is less than its carrying amount, then the quantitative goodwill impairment test is unnecessary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">If, after assessing the totality of events or circumstances, we determine that it is more likely than not that the fair value of a reporting unit is less than its carrying amount, then we perform the quantitative goodwill impairment test. We may also elect the unconditional option to bypass the qualitative assessment for any reporting unit in any period and proceed directly to performing the quantitative goodwill impairment test.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">In the quantitative impairment test, we compare the fair value of a reporting unit with its carrying amount, including goodwill. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered not impaired. Conversely, if the carrying amount of a reporting unit exceeds its fair value, an impairment loss shall be recognized in an amount equal to that excess, limited to the total amount of goodwill allocated to that reporting unit. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;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;">Determining the fair value of a reporting unit is judgmental in nature and requires the use of significant estimates and assumptions, including net sales growth rates, gross profit margins, operating margins, discount rates and future market conditions, among others. Any changes in the judgments, estimates or assumptions used could produce significantly different results.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Intangible Assets</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;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;">Intangible assets with determinable lives are amortized on a straight-line basis over their respective estimated useful lives, which is determined based on their expected period of benefit. Intangible assets are reviewed for impairment when events or changes in circumstances indicate that the carrying amount of such assets may not be recoverable. Determination of recoverability is based on an estimate of undiscounted future cash flows resulting from the use of the asset and its eventual disposition. If the carrying amount of an asset exceeds its estimated future undiscounted cash flows, an impairment loss is recorded for the excess of the asset's carrying amount over its fair value. In addition, each quarter, the Company evaluates whether events and circumstances warrant a revision to the remaining estimated useful life of each of these intangible assets. If the Company were to determine that a change to the remaining estimated useful life of an intangible asset was necessary, then the remaining carrying amount of the intangible asset would be amortized prospectively over that revised remaining useful life.</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;"><b style="font-weight:bold;">Comprehensive Income</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;">Comprehensive income consists of net income for the year and the impact of unrealized foreign currency translation adjustments. The foreign currency translation adjustments are not currently adjusted for income taxes as they relate to permanent investments in international subsidiaries.</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;margin:0pt;"><b style="font-weight:bold;">Revenue Recognition</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:9pt 0pt 0pt 0pt;">The Company’s revenues primarily result from the sale of various technology products and services, including third-party products, third-party software and third-party maintenance, software support and services. The Company recognizes revenue as control of the third-party products and third-party software is transferred to customers, which generally happens at the point of shipment or fulfilment and at the point that our customers and vendors accept the terms and conditions of the arrangement for third-party maintenance, software support and services. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:9pt 0pt 0pt 0pt;">The Company has contracts with certain customers where the Company’s performance obligation is to arrange for the products or services to be provided by another party. In these arrangements, as the Company assumes an agency relationship in the transaction, revenue is recognized in the amount of the net fee associated with serving as an agent. These arrangements primarily relate to third party maintenance, cloud services and certain security software whose intended functionality is dependent on third party maintenance. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:9pt 0pt 0pt 0pt;">The Company allows its customers to return product for exchange or credit subject to certain limitations. A liability is recorded at the time of sale for estimated product returns based upon historical experience and an asset is recognized for the amount expected to be recorded upon product return. The Company also provides rebates and other discounts to certain customers which are considered variable consideration. A provision for customer rebates and other discounts is recorded as a reduction of revenue at the time of sale based on an evaluation of the contract terms and historical experience.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:9pt 0pt 0pt 0pt;">The Company considers shipping and handling activities as costs to fulfill the sales of products. Shipping revenue is included in net sales when control of the product is transferred to the customer, and the related shipping and handling costs are included in cost of sales. Taxes imposed by governmental authorities on the Company’s revenue producing activities with customers, such as sales taxes and value added taxes, are excluded from net sales.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:9pt 0pt 0pt 0pt;">The Company disaggregates its operating revenue by segment, geography and timing of revenue recognition, which the Company believes provides a meaningful depiction of the nature of its revenue. For additional information, see Note 13 (Industry, Segment and Geographic Information). </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">Hardware and software products sold by the Company are generally delivered via shipment from the Company’s facilities, drop shipment directly from the vendor, or by electronic delivery of keys for software products. The majority of the Company’s business involves shipments directly from its vendors to its customers, in these transactions, the Company is generally responsible for negotiating price both with the vendor and customer, payment to the vendor, establishing payment terms with the customer, product returns, and has risk of loss if the customer does not make payment. As the principal with the customer, the Company recognizes revenue upon receiving notification from the vendor that the product was shipped. Control of software products is deemed to have passed to the customer when they acquire the right to use or copy the software under license as substantially all product functionality is available to the customer at the time of sale. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;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;"><span style="background:#ffffff;">The Company performs an analysis of the number of days of sales in-transit to customers at the end of each reporting period based on an analysis of commercial delivery terms that include drop-shipment arrangements. This analysis is the basis upon which the Company estimates the amount of net sales in-transit at the end of the period and adjusts revenue and the related costs to reflect only what has been delivered to the customer. Changes in delivery patterns may result in a different number of business days estimated to make this adjustment. The Company also performs a weighted average analysis of the estimated number of days between order fulfillment and beginning of the renewal term for term licenses recorded on a gross basis, and a deferral estimate is recorded for term license renewals fulfilled prior to commencement date. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">Generally, software products are sold with accompanying third-party delivered software assurance, which is a product that allows customers to upgrade, at no additional cost, to the latest technology if new capabilities are introduced during the period that the software assurance is in effect. The Company evaluates whether the software assurance is a separate performance obligation by assessing if the third-party delivered software assurance is critical or essential to the core functionality of the software itself. This involves considering if the software provides its original intended functionality to the customer without the updates, if the customer would ascribe a higher value to the upgrades versus the up-front deliverable, if the customer would expect frequent intelligence updates to the software (such as updates that maintain the original functionality), and if the customer chooses to not delay or always install upgrades. If the Company determines that the accompanying third-party delivered software assurance is critical or essential to the core functionality of the software license, the software license and the accompanying third-party delivered software assurance are recognized as a single performance obligation. The value of the product is primarily the accompanying support delivered by a third party and therefore the Company is acting as an agent in these transactions and recognizes them on a net basis at the point the associated software license is delivered to the customer. The Company sells cloud computing solutions that utilize third-party vendors to enable customers to access data center functionality in a cloud-based solution, including storage, computing and networking and access to software in the cloud that enhances office productivity, provides security or assists in collaboration. The Company recognizes revenue for cloud computing solutions for arrangements with one-time invoicing to the customer at the time of invoice on a net basis as the Company is acting as an agent in the transaction. For monthly subscription-based arrangements, the Company is acting as an agent in the transaction and recognizes revenue as it invoices the customer for its monthly usage on a net basis. For software licenses where the accompanying third-party delivered software assurance is not critical or essential to the core functionality, the software assurance is recognized as a separate performance obligation, with the associated revenue recognized on a net basis at the point the related software license is delivered to the customer. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:8.1pt 0pt 0pt 0pt;">The Company also sells some of its products and services as part of bundled contract arrangements containing multiple deliverables, which may include a combination of products and services. For each deliverable that represents a distinct performance obligation, total arrangement consideration is allocated based upon the standalone selling prices (“SSP”) of each performance obligation. SSP is determined based on the price at which the performance obligation is sold separately. If the standalone selling price is not observable through established standard prices, we use judgement and estimate the standalone selling price considering available information such as market pricing and pricing related to similar products.</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;"><b style="font-weight:bold;">Freight</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:8.1pt 0pt 0pt 0pt;">The Company records freight billed to its customers as net sales and the related freight costs as cost of sales when the underlying product revenue is recognized. For freight not billed to its customers, the Company records the freight costs as cost of sales. The Company’s typical shipping terms result in shipping being performed before the customer obtains control of the product. The Company considers shipping to be a fulfillment activity and not a separate performance obligation.</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;margin:0pt;"><b style="font-weight:bold;">Commissions</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;">The Company pays commissions and related payroll taxes to sales personnel when customers are invoiced. These costs are recorded as selling general and administrative expenses in the period earned as all our performance obligations are complete within a short window of processing the order. </p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Stock-Based Compensation</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;">The Company has stockholder-approved stock incentive plans for employees and directors. Stock-based compensation is recognized based on the grant date fair value and is recognized as expense on a straight-line basis over the requisite service period.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Operating Segments</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;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:7.2pt;"/><span style="display:inline-block;width:28.8pt;"/>Operating segments are defined as components of an enterprise for which separate financial information is available that is evaluated regularly by the chief operating decision maker in deciding how to allocate resources and in </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">assessing performance. The Company's operations are classified into two reportable business segments: Distribution and Solutions. For additional information, see Note 13 (Industry, Segment and Geographic Information).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 2 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Treasury Stock</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;">Treasury stock is accounted for at cost. Shares repurchased by the Company are held in treasury for general corporate purposes, including issuances under equity incentive plans. The reissuance of shares from treasury stock is based on the weighted average purchase price of the shares.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Interest, net</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;margin:0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"/>Interest, net consists primarily of income from the amortization of the discount on accounts receivable long term, net of interest expense that is inclusive of fees associated with the Company’s credit facility.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Income Taxes</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;">The Company utilizes the asset and liability method of accounting for income taxes. Under this method, deferred tax assets and liabilities are determined based on differences between financial reporting and tax basis of assets and liabilities and are measured using enacted tax rates and laws that will be in effect when the differences are expected to reverse. This method also requires a valuation allowance against the net deferred tax asset if, based on the weighted available evidence, it is more likely than not that some or all the deferred tax assets will not be realized. The Company’s policy is to recognize interest and penalties related to uncertain tax positions in income tax expense when assessed. The Company accounts for uncertainties in accordance with FASB ASC 740 “Income Taxes”. This standard clarified the accounting for uncertainties in income taxes. The standard prescribes criteria for recognition and measurement of tax positions. It also provides guidance on derecognition, classification, interest and penalties, and disclosures related to income taxes associated with uncertain tax positions. The Company classifies all deferred tax asset or liabilities as non-current on the balance sheet.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;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;"><b style="font-weight:bold;">Foreign Exchange</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;margin:0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:7.2pt;"/><span style="display:inline-block;width:28.8pt;"/>The Company’s foreign currency exposure relates primarily to international transactions where the currency collected from customers can be different from the currency used to purchase the product. In cases where the Company is not able to create a natural hedge by maintaining offsetting asset and liability amounts in the same currency, it may enter into foreign exchange contracts, typically in the form of forward purchase agreements, to facilitate the hedging of foreign currency exposures to mitigate the impact of changes in foreign currency exchange rates. These contracts generally have terms of no more than two months. The Company does not apply hedge accounting to these contracts and therefore the changes in fair value are recorded in earnings. The Company does not enter into foreign exchange contracts for trading purposes and the risk of loss on a foreign exchange contract is the risk of nonperformance by the counterparties, which the Company minimizes by limiting its counterparties to major financial institutions. </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;margin:0pt;"><b style="font-weight:bold;">Recently Issued Accounting Pronouncements</b></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;text-align:justify;text-indent:36pt;margin:0pt;">In June 2016, the FASB issued Accounting Standards Update No. 2016-13, <i style="font-style:italic;">“Financial Instruments - Credit Losses (Topic 326)”</i> ("ASU 2016-13"). ASU 2016-13 revises the methodology for measuring credit losses on financial instruments and the timing of when such losses are recorded. Originally, ASU 2016-13 was effective for fiscal years, and for interim periods within those fiscal years, beginning after December 15, 2019, with early adoption permitted. In November 2019, FASB issued ASU 2019-10, “<i style="font-style:italic;">Financial Instruments – Credit Losses (Topic 326), Derivatives and Hedging (Topic 815), and Leases (Topic </i>842).”  This ASU defers the effective date of ASU 2016-13 for public companies that are considered smaller reporting companies as defined by the SEC to fiscal years beginning after December 15, 2022, including interim periods within those fiscal years. <span style="background:#ffffff;">Effective January 1, 2023, the company will adopt the update using a modified retrospective approach with a cumulative-effect adjustment to retained earnings. The new credit loss standard is not expected to have a material effect on our financial position, results of operations or cash flows.</span> </p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">3. Acquisition</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-indent:36pt;margin:0pt;"><i style="font-style:italic;">Acquisition of Spinnakar Limited</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;font-style:italic;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="background:#ffffff;">On August 18, 2022, the Company entered into a Share Purchase Agreement and purchased the entire share capital of Spinnakar Limited (“Spinnakar”) for an aggregate purchase price of approximately </span><span style="background:#ffffff;">£9.8</span><span style="background:#ffffff;"> million (equivalent to </span><span style="background:#ffffff;">$11.8</span><span style="background:#ffffff;"> million USD), subject to certain working capital and other adjustments, paid at closing plus a potential post-closing earn-out. The allocation of the purchase price was based upon the estimated fair value of Spinnakar’s net tangible and identifiable intangible assets as of the date of the acquisition. The transaction was accounted for under the purchase method of accounting.</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:5pt;margin-top:5pt;visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="background:#ffffff;">The financial position and operating results of Spinnakar is included in the Company’s consolidated financial statements from the date of acquisition. The Company recorded net revenue for Spinnakar of approximately </span><span style="background:#ffffff;">$6.0</span><span style="background:#ffffff;"> million and net income of approximately </span><span style="background:#ffffff;">$0.4</span><span style="background:#ffffff;"> million during the year ended December 31, 2022.</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:5pt;margin-top:5pt;visibility:hidden;background:#ffffff;">​</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;background:#ffffff;">The impact of the acquisition’s preliminary purchase price allocations on the Company’s consolidated balance sheet and the acquisition date fair value of the total consideration transferred is depicted in the table below. Due to the timing of the closing of the transaction in the third quarter of 2022, the Company has not yet completed its evaluation and determination of certain assets acquired and liabilities assumed, primarily the final valuation of goodwill and intangible assets and the final evaluation and assessment of income tax accounts; therefore, the final fair value of the assets acquired and liabilities assumed, which will be completed within the measurement period of up to </span><span style="font-size:10pt;background:#ffffff;">one year</span><span style="font-size:10pt;background:#ffffff;"> from the acquisition date, may vary from the Company’s preliminary estimates:</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:5pt;margin-top:5pt;visibility:hidden;background:#ffffff;">​</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:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;border-bottom:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(in thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;border-bottom:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;border-bottom:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 3,325</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Trade accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 1,852</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 367</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Vendor relationships (10.4-year weighted average useful life)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 11,687</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 3,244</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Accounts payable and other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (3,977)</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Deferred income tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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:0.05pt 0pt 0.05pt 0pt;"> (2,892)</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;"><b style="font-weight:bold;">Net assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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:0.05pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 13,606</b></p></td></tr></table><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;font-style:italic;margin-bottom:5pt;margin-top:5pt;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:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;border-bottom:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(in thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;border-bottom:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;border-bottom:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Supplementary information: </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Cash paid to sellers</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 11,836</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Contingent earn-out</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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:0.05pt 3pt 0.05pt 0pt;"> 1,771</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total purchase consideration</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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:0.05pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 13,607</b></p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Cash paid to sellers</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 11,836</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Cash acquired in acquisition</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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:0.05pt 0pt 0.05pt 0pt;"> (3,325)</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net cash paid for acquisition</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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:0.05pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 8,511</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;background:#ffffff;">Intangible assets are comprised of approximately </span><span style="font-size:10pt;background:#ffffff;">$11.7</span><span style="font-size:10pt;background:#ffffff;"> million of vendor relationships with a weighted average amortization period of </span><span style="font-size:10pt;background:#ffffff;">10.4</span><span style="font-size:10pt;background:#ffffff;"> years, representing the expected period of benefits. Goodwill, which was allocated to the Distribution segment, is the excess of the consideration transferred over the net assets recognized and represents the expected revenue and cost synergies of the combined company and assembled workforce. Goodwill recognized as a result of the acquisition is not deductible for income tax purposes. </span></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:5pt;margin-top:5pt;visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="background:#ffffff;">The purchase consideration includes approximately </span><span style="background:#ffffff;">$1.8</span><span style="background:#ffffff;"> million fair value for potential earn-out consideration if certain targets are achieved, payable in cash. The earn-out liability is included in non-current liabilities as of December 31, 2022, as any payments upon achievement of the certain targets wouldn’t be due within the next 12 months.</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:5pt;margin-top:5pt;visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="background:#ffffff;">The Company incurred acquisition related costs of approximately </span><span style="background:#ffffff;">$0.6</span><span style="background:#ffffff;"> million during the year ended December 31, 2022 in conjunction with the Spinnakar acquisition, which is reflected in the accompanying consolidated statements of earnings. There were </span><span style="background:#ffffff;">no</span><span style="background:#ffffff;"> acquisition related costs incurred during the year ended December 31, 2021.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;text-indent:36pt;margin:14pt 0pt 0pt 0pt;"> <span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p> 9800000 11800000 6000000.0 400000 P1Y <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:5pt;margin-top:5pt;visibility:hidden;background:#ffffff;">​</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:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;border-bottom:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(in thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;border-bottom:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;border-bottom:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 3,325</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Trade accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 1,852</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 367</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Vendor relationships (10.4-year weighted average useful life)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 11,687</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 3,244</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Accounts payable and other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (3,977)</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Deferred income tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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:0.05pt 0pt 0.05pt 0pt;"> (2,892)</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;"><b style="font-weight:bold;">Net assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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:0.05pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 13,606</b></p></td></tr></table> 3325000 1852000 367000 P10Y4M24D 11687000 3244000 3977000 2892000 13606000 <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;font-style:italic;margin-bottom:5pt;margin-top:5pt;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:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;border-bottom:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(in thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;border-bottom:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;border-bottom:1.5pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Supplementary information: </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Cash paid to sellers</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 11,836</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Contingent earn-out</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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:0.05pt 3pt 0.05pt 0pt;"> 1,771</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total purchase consideration</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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:0.05pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 13,607</b></p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Cash paid to sellers</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 11,836</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Cash acquired in acquisition</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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:0.05pt 0pt 0.05pt 0pt;"> (3,325)</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net cash paid for acquisition</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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:0.05pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 8,511</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p> 11836000 1771000 13607000 11836000 3325000 8511000 11700000 P10Y4M24D 1800000 600000 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">4. Goodwill and Other Intangible Assets</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:12pt 0pt 0pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"/>Goodwill represents the premium paid over the fair value of the net tangible and intangible assets that are individually identified and separately recognized in business combinations. The following table summarizes the changes in the carrying amount of goodwill for the years ended December 31, 2022 and 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:12pt 0pt 0pt 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:82.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:3.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="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:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at January 1, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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:12.55%;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;"> 16,816</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Translation adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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:12.55%;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;"> 372</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance December 31, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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;"> 17,188</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Goodwill acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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,244</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Translation adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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;"> (1,469)</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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,963</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-indent:36pt;margin:12pt 0pt 0pt 0pt;">Information related to the Company’s other intangibles, net is 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;width:60.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.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:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:37.04%;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;">As of December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:60.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:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Carrying Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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;width:9.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net Carrying Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:60.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer and vendor relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></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;">$</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,457</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></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:8.05%;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,165</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></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:11.13%;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,292</p></td></tr><tr><td style="vertical-align:bottom;width:60.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Trade name</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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.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;"> 468</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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.05%;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;"> 67</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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:11.13%;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;"> 401</p></td></tr><tr><td style="vertical-align:bottom;width:60.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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;"><b style="font-weight:bold;">$</b></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;"> 21,925</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;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;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.05%;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;"> 2,232</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;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;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;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;"> 19,693</p></td></tr><tr><td style="vertical-align:bottom;width:60.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:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;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-weight:bold;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.05%;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:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;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:bottom;width:60.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:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:37.04%;background:#cceeff;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;">As of December 31, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:60.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:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Carrying Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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;width:9.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net Carrying Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:60.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer and vendor relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></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;">$</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;"> 10,550</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.05%;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,079</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;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;"> 9,471</p></td></tr><tr><td style="vertical-align:bottom;width:60.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Trade name</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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.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;"> 519</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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.05%;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;"> 40</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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:11.13%;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;"> 479</p></td></tr><tr><td style="vertical-align:bottom;width:60.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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;"><b style="font-weight:bold;">$</b></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;"> 11,069</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;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;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.05%;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;"> 1,119</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;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;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;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,950</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;text-indent:36pt;margin:12pt 0pt 0pt 0pt;">Customer relationships are amortized over thirteen years. Vendor relationships are amortized between <span style="-sec-ix-hidden:Hidden_TQHZfMX1XUevyv9LGgkBPA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">eight</span></span> and fifteen years. Trade name is amortized over fifteen years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:12pt 0pt 0pt 0pt;">The Company recognized total amortization expense for other intangibles, net of $1.2 million and $0.9 million during the years ended December 31, 2022 and 2021, respectively. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:12pt 0pt 0pt 0pt;">Estimated future amortization expense of the Company’s other intangibles, net as of December 31, 2022 is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:12pt 0pt 0pt 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:top;white-space:nowrap;width:82.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="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:top;white-space:nowrap;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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:12.55%;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,875</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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,875</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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:12.55%;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,875</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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,875</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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,875</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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;"> 10,318</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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:12.55%;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;"> 19,693</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;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:12pt 0pt 0pt 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:82.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:3.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="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:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at January 1, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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:12.55%;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;"> 16,816</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Translation adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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:12.55%;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;"> 372</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance December 31, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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;"> 17,188</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Goodwill acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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,244</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Translation adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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;"> (1,469)</p></td></tr><tr><td style="vertical-align:bottom;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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,963</p></td></tr></table> 16816000 372000 17188000 3244000 -1469000 18963000 <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:60.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.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:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:37.04%;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;">As of December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:60.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:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Carrying Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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;width:9.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net Carrying Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:60.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer and vendor relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></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;">$</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,457</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></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:8.05%;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,165</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></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:11.13%;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,292</p></td></tr><tr><td style="vertical-align:bottom;width:60.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Trade name</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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.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;"> 468</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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.05%;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;"> 67</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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:11.13%;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;"> 401</p></td></tr><tr><td style="vertical-align:bottom;width:60.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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;"><b style="font-weight:bold;">$</b></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;"> 21,925</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;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;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.05%;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;"> 2,232</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;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;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;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;"> 19,693</p></td></tr><tr><td style="vertical-align:bottom;width:60.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:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;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-weight:bold;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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.05%;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:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;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:bottom;width:60.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:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:37.04%;background:#cceeff;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;">As of December 31, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:60.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:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Carrying Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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;width:9.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net Carrying Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:60.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer and vendor relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></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;">$</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;"> 10,550</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.05%;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,079</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;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;"> 9,471</p></td></tr><tr><td style="vertical-align:bottom;width:60.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Trade name</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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.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;"> 519</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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.05%;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;"> 40</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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:11.13%;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;"> 479</p></td></tr><tr><td style="vertical-align:bottom;width:60.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;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;"><b style="font-weight:bold;">$</b></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;"> 11,069</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;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;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.05%;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;"> 1,119</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;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;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;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,950</p></td></tr></table> 21457000 2165000 19292000 468000 67000 401000 21925000 2232000 19693000 10550000 1079000 9471000 519000 40000 479000 11069000 1119000 9950000 P13Y P15Y P15Y 1200000 900000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:12pt 0pt 0pt 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:top;white-space:nowrap;width:82.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="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:top;white-space:nowrap;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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:12.55%;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,875</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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,875</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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:12.55%;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,875</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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,875</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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,875</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:82.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.55%;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;"> 10,318</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:82.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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:12.55%;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;"> 19,693</p></td></tr></table> 1875000 1875000 1875000 1875000 1875000 10318000 19693000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">5. Right-of-use Asset and Lease Liability</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:12pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;">The Company has entered into operating leases for office and warehouse facilities, which have terms at lease commencement that range from </span><span style="font-size:10pt;">3</span><span style="font-size:10pt;"> years</span><span style="font-size:10pt;"> to </span><span style="font-size:10pt;">11</span><span style="font-size:10pt;"> years</span><span style="font-size:10pt;">. The Company determines if an arrangement is a lease at inception. Leases with an initial term of 12 months or less are not recorded on the Consolidated Balance Sheets and lease expense for these leases is recognized on a straight-line basis over the lease term.</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:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">Right-of-use assets represent the Company’s right to use an underlying asset for the lease term and lease liabilities represent the obligation to make lease payments arising from the lease. Operating lease right-of-use assets and liabilities are recognized at commencement date of the lease based on the present value of the lease payments over the lease term. As our leases do not provide a readily determinable implicit rate, we use an incremental borrowing rate based on the information available at commencement date, including lease term, in determining the present value of future payments. The operating lease asset also includes any lease payments made and excludes lease incentives. Operating lease expense is recognized on a straight-line basis over the lease term and included in selling, general and administrative expenses.</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:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Information related to the Company’s right-of-use assets and related lease liabilities 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:5pt;margin-top:5pt;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:73.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:0.05pt 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.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:0.05pt 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.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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.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:0.05pt 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.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:0.05pt 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.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:73.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year ended </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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.26%;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:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;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:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Cash paid for operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 647</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 598</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Right-of-use assets obtained in exchange for new operating lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 63</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 163</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Weighted-average remaining lease term</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;">3.9 years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;">5.1 years</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Weighted-average discount rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;">3.5%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;">3.5%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Maturities of lease liabilities as of December 31, 2022 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:5pt;margin-top:5pt;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:top;white-space:nowrap;width:85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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.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:0.05pt 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.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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 624</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 540</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 548</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 546</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;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:0.05pt 3pt 0.05pt 0pt;"> 125</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,383</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Less: imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;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:0.05pt 0pt 0.05pt 0pt;"> (566)</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Total lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;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:0.05pt 3pt 0.05pt 0pt;"> 1,817</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Lease liabilities, current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 521</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Lease liabilities, net of current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;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:0.05pt 3pt 0.05pt 0pt;"> 1,296</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Total lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;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:0.05pt 3pt 0.05pt 0pt;"> 1,817</p></td></tr></table> P3Y P3Y P11Y P11Y <p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;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:73.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:0.05pt 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.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:0.05pt 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.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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.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:0.05pt 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.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:0.05pt 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.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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:73.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year ended </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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.26%;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:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;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:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Cash paid for operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 647</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 598</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Right-of-use assets obtained in exchange for new operating lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 63</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 163</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Weighted-average remaining lease term</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;">3.9 years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;">5.1 years</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Weighted-average discount rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;">3.5%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;">3.5%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p> 647000 598000 63000 163000 P3Y10M24D P5Y1M6D 0.035 0.035 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Maturities of lease liabilities as of December 31, 2022 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:5pt;margin-top:5pt;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:top;white-space:nowrap;width:85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 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.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:0.05pt 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.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:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 624</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 540</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 548</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 546</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;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:0.05pt 3pt 0.05pt 0pt;"> 125</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,383</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Less: imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;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:0.05pt 0pt 0.05pt 0pt;"> (566)</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Total lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;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:0.05pt 3pt 0.05pt 0pt;"> 1,817</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Lease liabilities, current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 521</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Lease liabilities, net of current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;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:0.05pt 3pt 0.05pt 0pt;"> 1,296</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Total lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;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:0.05pt 3pt 0.05pt 0pt;"> 1,817</p></td></tr></table> 624000 540000 548000 546000 125000 2383000 566000 1817000 521000 1296000 1817000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">6. Balance Sheet Detail</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-indent:36pt;margin:0pt;">Equipment and leasehold improvements, net consist of the following:</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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.66%;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.06%;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:17.6%;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 style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:17.6%;margin:0pt;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><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.66%;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.06%;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:17.6%;margin:0pt;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.06%;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:17.6%;margin:0pt;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:60.66%;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.06%;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:17.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:17.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:60.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.3%;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:16.3%;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,720</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.3%;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:16.3%;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,627</p></td></tr><tr><td style="vertical-align:bottom;width:60.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Capitalized software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.3%;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,997</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 816</p></td></tr><tr><td style="vertical-align:bottom;width:60.66%;background:#cceeff;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:2.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:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.3%;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;"> 1,848</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.3%;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;"> 1,762</p></td></tr><tr><td style="vertical-align:bottom;width:60.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.3%;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,565</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.3%;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,205</p></td></tr><tr><td style="vertical-align:bottom;width:60.66%;background:#cceeff;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:2.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:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.3%;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;"> (4,050)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,273)</p></td></tr><tr><td style="vertical-align:bottom;width:60.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:1.3%;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:16.3%;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,515</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.3%;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:16.3%;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;"> 1,932</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"/><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Depreciation expense relating to equipment and leasehold improvements, net was $0.4 million and $0.5 million during the years ended December 31, 2022 and 2021, respectively. Amortization expense relating to capitalized software was $0.4 million and $0.1 million during the years ended December 31, 2022 and 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Accounts receivable – long term, net consist 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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.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:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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.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:0.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:10.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#0563c1;font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;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:12.02%;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 style="vertical-align:bottom;white-space:nowrap;width:2.06%;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.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:0.07%;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 style="vertical-align:bottom;white-space:nowrap;width:10.3%;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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#0563c1;font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;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:12.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><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:12.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><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:0.07%;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 style="vertical-align:bottom;white-space:nowrap;width:10.3%;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></tr><tr><td style="vertical-align:bottom;width:59.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:1.55%;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:12.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;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:12.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;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:0.07%;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 style="vertical-align:bottom;white-space:nowrap;width:10.3%;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></tr><tr><td style="vertical-align:bottom;width:59.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total amount due from customers</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;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.44%;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,213</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.8%;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.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;"> 484</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:0.07%;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="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.3%;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></tr><tr><td style="vertical-align:bottom;width:59.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: unamortized discount</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p 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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (188)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.8%;margin:0pt;padding:0pt;"><p 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.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:0.07%;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 style="vertical-align:bottom;white-space:nowrap;width:10.3%;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:bottom;width:59.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: current portion included in accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;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.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,911)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.8%;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.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (398)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:0.07%;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="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.3%;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></tr><tr><td style="vertical-align:bottom;width:59.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;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.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,114</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.8%;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.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 78</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:0.07%;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 style="vertical-align:bottom;white-space:nowrap;width:10.3%;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></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;">Accounts payable and accrued expenses consist 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:64.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:2.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.79%;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.97%;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:13.35%;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 style="vertical-align:bottom;white-space:nowrap;width:2.97%;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:13.05%;margin:0pt;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><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;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></tr><tr><td style="vertical-align:bottom;width:64.79%;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.97%;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:13.35%;margin:0pt;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.97%;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:13.05%;margin:0pt;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.84%;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></tr><tr><td style="vertical-align:bottom;width:64.79%;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.97%;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:13.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;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:13.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;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></tr><tr><td style="vertical-align:bottom;width:64.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Trade accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> 151,180</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;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;"> 125,908</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> 9,470</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,363</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;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:11.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;"> 160,650</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;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:11.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 134,271</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></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;">Accumulated other comprehensive loss consists 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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.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.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="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.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 style="vertical-align:bottom;white-space:nowrap;width:2.29%;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 style="vertical-align:bottom;white-space:nowrap;width:1.86%;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 style="vertical-align:bottom;white-space:nowrap;width:10.14%;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 style="vertical-align:bottom;white-space:nowrap;width:2.3%;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 style="vertical-align:bottom;white-space:nowrap;width:1.86%;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 style="vertical-align:bottom;white-space:nowrap;width:10.16%;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 style="vertical-align:bottom;white-space:nowrap;width:0.96%;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></tr><tr><td style="vertical-align:bottom;width:70.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 style="vertical-align:bottom;white-space:nowrap;width:2.29%;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:12.01%;margin:0pt;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.3%;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:12.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><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.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 style="vertical-align:bottom;white-space:nowrap;width:2.29%;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:12.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;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:12.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;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign currency translation adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.14%;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,618)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;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;"> 492</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;background:#cceeff;margin: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:70.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:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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.14%;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;"> (2,618)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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.16%;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;"> 492</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.66%;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.06%;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:17.6%;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 style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:17.6%;margin:0pt;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><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.66%;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.06%;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:17.6%;margin:0pt;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.06%;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:17.6%;margin:0pt;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:60.66%;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.06%;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:17.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:17.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:60.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.3%;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:16.3%;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,720</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.3%;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:16.3%;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,627</p></td></tr><tr><td style="vertical-align:bottom;width:60.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Capitalized software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.3%;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,997</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 816</p></td></tr><tr><td style="vertical-align:bottom;width:60.66%;background:#cceeff;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:2.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:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.3%;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;"> 1,848</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.3%;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;"> 1,762</p></td></tr><tr><td style="vertical-align:bottom;width:60.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.3%;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,565</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.3%;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,205</p></td></tr><tr><td style="vertical-align:bottom;width:60.66%;background:#cceeff;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:2.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:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.3%;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;"> (4,050)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,273)</p></td></tr><tr><td style="vertical-align:bottom;width:60.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:1.3%;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:16.3%;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,515</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.3%;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:16.3%;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;"> 1,932</p></td></tr></table> 2720000 2627000 2997000 816000 1848000 1762000 7565000 5205000 4050000 3273000 3515000 1932000 400000 500000 400000 100000 <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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.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:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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.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:0.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:10.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#0563c1;font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;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:12.02%;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 style="vertical-align:bottom;white-space:nowrap;width:2.06%;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.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:0.07%;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 style="vertical-align:bottom;white-space:nowrap;width:10.3%;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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#0563c1;font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;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:12.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><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:12.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><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:0.07%;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 style="vertical-align:bottom;white-space:nowrap;width:10.3%;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></tr><tr><td style="vertical-align:bottom;width:59.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:1.55%;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:12.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;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:12.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;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:0.07%;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 style="vertical-align:bottom;white-space:nowrap;width:10.3%;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></tr><tr><td style="vertical-align:bottom;width:59.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total amount due from customers</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;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.44%;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,213</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.8%;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.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;"> 484</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:0.07%;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="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.3%;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></tr><tr><td style="vertical-align:bottom;width:59.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: unamortized discount</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p 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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (188)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.8%;margin:0pt;padding:0pt;"><p 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.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:0.07%;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 style="vertical-align:bottom;white-space:nowrap;width:10.3%;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:bottom;width:59.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: current portion included in accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;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.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,911)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.8%;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.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (398)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:0.07%;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="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.3%;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></tr><tr><td style="vertical-align:bottom;width:59.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;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.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,114</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.8%;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.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 78</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:0.07%;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 style="vertical-align:bottom;white-space:nowrap;width:10.3%;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></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 5213000 484000 188000 8000 1911000 398000 3114000 78000 <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:64.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:2.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.79%;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.97%;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:13.35%;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 style="vertical-align:bottom;white-space:nowrap;width:2.97%;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:13.05%;margin:0pt;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><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;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></tr><tr><td style="vertical-align:bottom;width:64.79%;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.97%;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:13.35%;margin:0pt;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.97%;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:13.05%;margin:0pt;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.84%;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></tr><tr><td style="vertical-align:bottom;width:64.79%;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.97%;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:13.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;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:13.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;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></tr><tr><td style="vertical-align:bottom;width:64.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Trade accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> 151,180</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;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;"> 125,908</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> 9,470</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,363</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;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:11.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;"> 160,650</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;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:11.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 134,271</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></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> 151180000 125908000 9470000 8363000 160650000 134271000 <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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.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.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="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.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 style="vertical-align:bottom;white-space:nowrap;width:2.29%;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 style="vertical-align:bottom;white-space:nowrap;width:1.86%;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 style="vertical-align:bottom;white-space:nowrap;width:10.14%;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 style="vertical-align:bottom;white-space:nowrap;width:2.3%;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 style="vertical-align:bottom;white-space:nowrap;width:1.86%;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 style="vertical-align:bottom;white-space:nowrap;width:10.16%;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 style="vertical-align:bottom;white-space:nowrap;width:0.96%;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></tr><tr><td style="vertical-align:bottom;width:70.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 style="vertical-align:bottom;white-space:nowrap;width:2.29%;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:12.01%;margin:0pt;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.3%;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:12.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><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.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 style="vertical-align:bottom;white-space:nowrap;width:2.29%;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:12.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;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:12.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;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign currency translation adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.14%;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,618)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.16%;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;"> 492</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;background:#cceeff;margin: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:70.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:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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.14%;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;"> (2,618)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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.16%;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;"> 492</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin: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> -2618000 492000 -2618000 492000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">7. Income Taxes</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-indent:36pt;margin:0pt;">Deferred tax attributes resulting from differences between the tax basis of assets and liabilities and the reported amounts in the Consolidated Balance Sheets are as follows: </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;background:#ffff00;">​</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:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;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.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.01%;margin:0pt;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.06%;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:12.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;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.06%;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:12.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:12.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;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></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Deferred tax assets:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;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:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;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:0.51%;margin: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:71.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accruals and reserves</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.94%;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.07%;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;"> 631</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;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.07%;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;"> 501</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred rent credit </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 163</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin: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:71.33%;background:#cceeff;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:2.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:1.94%;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.07%;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;"> 38</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;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.07%;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;"> 24</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 815</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 688</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin: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:71.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Deferred tax liabilities:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;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:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;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:0.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></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accruals and reserves</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;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.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (67)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin: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:71.33%;background:#cceeff;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:2.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:1.94%;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.07%;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;"> (4,604)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.07%;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,212)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.94%;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.07%;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;"> (4,604)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;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.07%;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,279)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin: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:71.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Net deferred tax liabilities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.94%;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.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,789)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;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.07%;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;"> (1,591)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></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;">The provision for income taxes is 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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.67%;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.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;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></tr><tr><td style="vertical-align:bottom;width:72.67%;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.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;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:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;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></tr><tr><td style="vertical-align:bottom;width:72.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.13%;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:3.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:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.66%;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:2.16%;background:#cceeff;margin: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:72.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.91%;margin:0pt;padding:0pt;"><p 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.13%;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,694</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.66%;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,692</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.91%;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.13%;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;"> 622</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.66%;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;"> 572</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin: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:72.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;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,254</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.66%;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;"> 674</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:1.91%;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.13%;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,570</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.66%;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,938</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin: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:72.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.13%;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:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.66%;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:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.91%;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.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (124)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (45)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin: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:72.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (30)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (12)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.91%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;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;"> (381)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:1.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.66%;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;"> 285</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin: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:72.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;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;"> (535)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.66%;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;"> 228</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:1.91%;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.13%;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,035</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:1.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.66%;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,166</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin: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:72.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Effective Tax Rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.91%;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.13%;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.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:1.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.66%;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;">25.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;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="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The reasons for the difference between total tax expense and the amount computed by applying the U.S. statutory federal income tax rate to income before income taxes are 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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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:7.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:73.08%;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.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.05%;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;">Year ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.72%;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></tr><tr><td style="vertical-align:bottom;width:73.08%;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.13%;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:8.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.72%;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></tr><tr><td style="vertical-align:bottom;width:73.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Statutory rate applied to pretax income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.23%;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,472</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;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:11.57%;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,596</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:73.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">State income taxes, net of federal income tax benefit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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:7.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 468</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 442</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:73.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other permanent items</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.23%;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;"> 156</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.57%;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</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:73.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign income taxes over U.S. statutory rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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:7.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 137</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (18)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:73.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other items</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.23%;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</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;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:11.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (36)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:73.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Adjustment for foreign rate change</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.23%;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.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 353</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:73.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Dividends</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (9)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:73.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">GILTI, net of foreign tax credits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (50)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (38)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:73.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stock compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.23%;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;"> (150)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;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:11.57%;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;"> (135)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:73.08%;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:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.23%;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,035</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;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:11.57%;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,166</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></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-align:justify;text-indent:36pt;margin:0pt;">The Company has analyzed filing positions in all the federal, state and foreign jurisdictions where it is required to file income tax returns, as well as all open tax years in these jurisdictions. The Company has identified its federal consolidated tax return, its state tax returns, its Canadian tax return and its tax return in the United Kingdom as major tax jurisdictions. As of December 31, 2022, the Company’s 2019 through 2021 Federal tax returns remain open for examination. The Company’s various states and Canadian tax returns are open for examination for the years 2018 through 2021. The Company’s tax return in the United Kingdom is open for examination for the years 2020 and 2021. The Company’s policy is to recognize interest related to unrecognized tax benefits as interest expense and penalties as operating expenses. The Company believes that it has appropriate support for the income tax positions it takes and expects to take on its tax returns, and that its accruals for tax liabilities are adequate for all open years based on an assessment of many factors including experience and interpretations of tax law applied to the facts of each matter.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">For financial reporting purposes, income before income taxes includes the following components:</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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:82.49%;"><tr style="height:1.1pt;"><td style="vertical-align:bottom;width:72.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr style="height:10.85pt;"><td style="vertical-align:bottom;width:72.48%;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.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.32%;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;">Year ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;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></tr><tr style="height:10.3pt;"><td style="vertical-align:bottom;width:72.48%;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.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;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></tr><tr style="height:13.15pt;"><td style="vertical-align:bottom;width:72.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;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.38%;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;"> 12,968</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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.24%;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;"> 9,355</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr style="height:13.15pt;"><td style="vertical-align:bottom;width:72.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.38%;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,564</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.24%;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,009</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr style="height:15.35pt;"><td style="vertical-align:bottom;width:72.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:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;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.38%;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;"> 16,532</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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.24%;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;"> 12,364</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></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;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"/>The Company has approximately $8.0 million of undistributed earnings in Canada and $1.5 million of undistributed earnings in the United Kingdom, which it continues to reinvest indefinitely, and therefore no withholding taxes related to its repatriation has been recorded.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">There was no activity related to the Company’s unrecognized tax benefits during the year ended December 31, 2022. The following table summarizes the activity related to the Company’s unrecognized tax benefits as of December 31, 2021:</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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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.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:6.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.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.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="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:74.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></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-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.54%;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 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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.59%;border-bottom:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of January 1</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="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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:6.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.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.59%;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:12%;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;"> 49</p></td></tr><tr><td style="vertical-align:bottom;width:74.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Additions related to prior period tax positions</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-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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:6.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: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.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;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:74.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Reductions related to settlements with tax authorities</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="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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:6.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.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.59%;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:12%;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;"> (49)</p></td></tr><tr><td style="vertical-align:bottom;width:74.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December 31</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-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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:6.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: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.59%;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:12%;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></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;">During the years ended December 31, 2022 and 2021, the Company incurred interest and penalties of zero, respectively, related to these uncertain tax benefits. </p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;background:#ffff00;">​</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:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;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.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.01%;margin:0pt;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.06%;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:12.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;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.06%;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:12.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:12.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;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></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Deferred tax assets:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;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:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;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:0.51%;margin: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:71.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accruals and reserves</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.94%;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.07%;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;"> 631</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;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.07%;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;"> 501</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred rent credit </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 163</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin: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:71.33%;background:#cceeff;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:2.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:1.94%;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.07%;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;"> 38</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;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.07%;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;"> 24</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 815</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 688</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin: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:71.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Deferred tax liabilities:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;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:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;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:0.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></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accruals and reserves</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;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.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (67)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin: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:71.33%;background:#cceeff;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:2.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:1.94%;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.07%;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;"> (4,604)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.07%;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,212)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.94%;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.07%;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;"> (4,604)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;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.07%;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,279)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin: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:71.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Net deferred tax liabilities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.94%;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.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,789)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;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.07%;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;"> (1,591)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 631000 501000 146000 163000 38000 24000 815000 688000 67000 4604000 2212000 4604000 2279000 3789000 1591000 <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:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.67%;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.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;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></tr><tr><td style="vertical-align:bottom;width:72.67%;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.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;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:9.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;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></tr><tr><td style="vertical-align:bottom;width:72.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.13%;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:3.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:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.66%;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:2.16%;background:#cceeff;margin: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:72.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.91%;margin:0pt;padding:0pt;"><p 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.13%;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,694</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.66%;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,692</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.91%;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.13%;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;"> 622</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.66%;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;"> 572</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin: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:72.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;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,254</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.66%;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;"> 674</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:1.91%;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.13%;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,570</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.66%;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,938</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin: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:72.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.13%;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:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.66%;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:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.91%;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.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (124)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (45)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin: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:72.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (30)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (12)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.91%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;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;"> (381)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:1.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.66%;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;"> 285</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin: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:72.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;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;"> (535)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.66%;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;"> 228</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:1.91%;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.13%;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,035</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:1.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.66%;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,166</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin: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:72.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Effective Tax Rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.91%;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.13%;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.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:1.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.66%;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;">25.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;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="visibility:hidden;">​</span></p> 2694000 1692000 622000 572000 1254000 674000 4570000 2938000 -124000 -45000 -30000 -12000 -381000 285000 -535000 228000 4035000 3166000 0.244 0.256 <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:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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:7.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:73.08%;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.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.05%;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;">Year ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.72%;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></tr><tr><td style="vertical-align:bottom;width:73.08%;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.13%;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:8.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.72%;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></tr><tr><td style="vertical-align:bottom;width:73.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Statutory rate applied to pretax income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.23%;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,472</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;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:11.57%;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,596</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:73.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">State income taxes, net of federal income tax benefit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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:7.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 468</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 442</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:73.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other permanent items</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.23%;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;"> 156</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.57%;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</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:73.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign income taxes over U.S. statutory rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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:7.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 137</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (18)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:73.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other items</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.23%;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</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;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:11.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (36)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:73.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Adjustment for foreign rate change</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.23%;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.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 353</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:73.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Dividends</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (9)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:73.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">GILTI, net of foreign tax credits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (50)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (38)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:73.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stock compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.23%;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;"> (150)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;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:11.57%;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;"> (135)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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:73.08%;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:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.23%;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,035</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;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:11.57%;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,166</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 3472000 2596000 468000 442000 156000 19000 -137000 18000 11000 -36000 353000 9000 17000 50000 38000 -150000 -135000 4035000 3166000 <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:82.49%;"><tr style="height:1.1pt;"><td style="vertical-align:bottom;width:72.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr style="height:10.85pt;"><td style="vertical-align:bottom;width:72.48%;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.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.32%;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;">Year ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;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></tr><tr style="height:10.3pt;"><td style="vertical-align:bottom;width:72.48%;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.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;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></tr><tr style="height:13.15pt;"><td style="vertical-align:bottom;width:72.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;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.38%;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;"> 12,968</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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.24%;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;"> 9,355</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr style="height:13.15pt;"><td style="vertical-align:bottom;width:72.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.38%;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,564</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.24%;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,009</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr style="height:15.35pt;"><td style="vertical-align:bottom;width:72.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:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;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.38%;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;"> 16,532</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;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.24%;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;"> 12,364</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 12968000 9355000 3564000 3009000 16532000 12364000 8000000 8000000 1500000 0 0 <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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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.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:6.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.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.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="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:74.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></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-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.54%;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 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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.59%;border-bottom:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of January 1</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="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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:6.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.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.59%;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:12%;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;"> 49</p></td></tr><tr><td style="vertical-align:bottom;width:74.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Additions related to prior period tax positions</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-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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:6.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: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.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12%;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:74.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Reductions related to settlements with tax authorities</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="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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:6.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.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.59%;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:12%;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;"> (49)</p></td></tr><tr><td style="vertical-align:bottom;width:74.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December 31</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-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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:6.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: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.59%;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:12%;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></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 49000 49000 0 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">8. Credit Facility</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;">On November 15, 2017, the Company entered into a $20 million revolving credit facility (the “Credit Facility”) with Citibank, N.A. (“Citibank”) pursuant to a Second Amended and Restated Revolving Credit Loan Agreement (the “Loan Agreement”), Second Amended and Restated Revolving Credit Loan Note (the “Note”), Second Amended and Restated Security Agreement and Second Amended and Restated Pledge and Security Agreement. On August 31, 2020, the Company entered into an amendment to the Credit Facility (the “Amended Credit Facility”) pursuant to a First Amendment to Second Amended and Restated Revolving Credit Loan Agreement and Other Loan Documents (collectively, the “Amended Loan Agreement”) and First Allonge to Second Amended and Restated Revolving Credit Loan Note (the “Amended Note”).</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:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The Amended Credit Facility, which will continue to be used for working capital and general corporate purposes, matures on June 30, 2023, at which time the Company must pay all outstanding principal of all outstanding loans plus all accrued and unpaid interest, and any, fees, costs and expenses. In addition, the Company will pay regular monthly payments of all accrued and unpaid interest. The interest rate for any borrowings under the Amended Credit Facility is subject to change from time to time based on the changes in the LIBOR Rate, as defined in the Amended Loan Agreement,  </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">with the LIBOR Rate not to be less than 0.75 percentage points. Interest on the unpaid principal balance of the Amended Note will be calculated using a rate of 1.75 percentage points over the LIBOR Rate. If the LIBOR Rate becomes unavailable during the term of the Amended Credit Facility, interest will be based upon the Benchmark Replacement (as defined in the Amended Loan Agreement) selected by Citibank after notifying the Company. The Amended Credit Facility is secured by the assets of the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:14pt 0pt 0pt 0pt;">At December 31, 2022 and 2021, the Company had no borrowings outstanding under the Credit Facility.  The Company incurred $0.1 million of interest expense, related to the Credit Facility during the years ended December 31, 2022 and 2021, respectively<span style="font-size:12pt;">.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:14pt 0pt 0pt 0pt;">On April 13, 2021, Wayside Technology UK Holdings Limited (“Wayside UK”), a wholly-owned subsidiary of the Company, entered into an uncommitted short term credit facility of £8 million (“Uncommitted Credit Facility”) with Citibank N.A., London Branch (“Citibank London”) pursuant to certain terms and conditions. Obligations under the Uncommitted Credit Facility are guaranteed by the Company and will be used for working capital and general corporate purposes and have a maturity date of April 13, 2023, at which time Wayside UK must pay all outstanding principal of all outstanding loans plus all accrued and unpaid interest, and any interest, fees, costs and expenses, if any. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;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;">Interest on the unpaid principal balance of the Uncommitted Credit Facility will be calculated using a rate of 1.85 percentage points over the Daily Rate, as defined in the Uncommitted Credit Facility. Amounts borrowed under the Uncommitted Credit Facility will be guaranteed by the Company.   The Uncommitted Credit Facility may be cancelled at any time by Citibank London.  Citibank London has the sole discretion to accept or reject any requested utilization of the Uncommitted Credit Facilitation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;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;">At December 31, 2022 and 2021, Wayside UK had no borrowings outstanding under the Uncommitted Credit Facility. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;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;">On April 8, 2022, the Company entered into a $2.1 million term loan (the “Term Loan”) with First American Commercial Bancorp, Inc. pursuant to a Master Loan and Security Agreement. The proceeds from the Term Loan will be used to fund certain capital expenditures. The borrowing under the Term Loan bears interest at a rate of 3.73% per annum and is being repaid over <span style="-sec-ix-hidden:Hidden_PIqsX52Z5UWo4f69PYQYfQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">forty-eight</span></span> monthly installments of principal and interest through April 2026. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;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;">As of December 31, 2022, the Company had $1.8 million outstanding under the Term Loan. There were no amounts outstanding under the Term Loan as of December 31, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;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;">As of December 31, 2022, future principal payments under the Term Loan are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;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;white-space:nowrap;width:77.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:6.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:77.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Year ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;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-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.57%;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-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.77%;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-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:77.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 520</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:77.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 540</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:77.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 560</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:77.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.57%;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:12.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 192</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:77.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.57%;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:12.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,812</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 20000000 0.0075 0.0175 0 0 100000 100000 8000000 0.0185 0 0 2100000 0.0373 1800000 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;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;white-space:nowrap;width:77.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:6.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;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:77.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Year ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;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-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.57%;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-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.77%;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-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:77.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 520</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:77.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 540</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:77.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 560</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:77.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.57%;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:12.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 192</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:77.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.57%;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:12.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0pt 0pt;"> 1,812</p></td></tr></table> 520000 540000 560000 192000 1812000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">9. Stockholders’ Equity and Stock-Based Compensation</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;">The 2021 Omnibus Incentive Plan (the “2021 Plan”) authorizes the grant of Stock Options, Stock Units, Stock Appreciation Rights, Restricted Stock, Deferred Stock, Stock Bonuses and other equity-based awards. The 2021 Plan was approved by the Company’s stockholders at the 2021 Annual Meeting in June 2021. The total number of shares of the Company’s common stock, par value $0.01 per share (“Common Stock”) initially available for award under the 2021 Plan was 500,000 shares. As of December 31, 2022, the number of shares of Common Stock available for future award grants to employees, officers and directors under the 2021 Plan is 373,594.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The 2012 Stock-Based Compensation Plan (the “2012 Plan”) authorizes the grant of Stock Options, Stock Units, Stock Appreciation Rights, Restricted Stock, Deferred Stock, Stock Bonuses and other equity-based awards. The total number of shares of the Company’s Common Stock initially available for award under the 2012 Plan was 600,000, which was increased to 1,000,000 shares by stockholder approval at the Company’s 2018 Annual Meeting in June 2018. Immediately prior to the replacement of the 2012 Plan by the 2021 Plan, there were 352,158 shares of Common Stock available under the 2012 Plan. The 2012 Plan has been replaced by the 2021 Plan and none of the remaining shares of Common Stock authorized under the 2012 Plan will be transferred to or used under the 2021 Plan nor will any awards under the 2012 Plan that are forfeited increase the shares available for awards under the 2021 Plan. As of December 31, 2022, the number of shares of Common Stock available under the 2012 Plan is zero.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;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;">During the year ended December 31, 2022, the Company granted a total of 78,505 shares of Restricted Stock to officers, directors and employees. These shares of Restricted Stock vest immediately or over time in up to sixteen equal quarterly installments. During the year ended December 31, 2022, 4,056 shares of Restricted Stock were forfeited as a result of employees terminating employment with the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;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;">During the year ended December 31, 2021, the Company granted a total of 106,122 shares of Restricted Stock to officers, directors and employees. These shares of Restricted Stock vest immediately or over time in up to sixteen equal quarterly installments. During the year ended December 31, 2021, 22,159 shares of Restricted Stock were forfeited as a result of officers and employees terminating employment with the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;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;">There was no options activity during the year ended December 31, 2022 and 2021 and there were no options outstanding or exercisable at December 31, 2022 and 2021, respectively, under both the Company’s 2012 Plan and 2021 Plan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;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;">Under the various plans, options that are cancelled can be reissued. At December 31, 2022, no cancelled options were reserved for future reissuance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;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;">A summary of nonvested shares of Restricted Stock awards outstanding under the Company’s 2012 Plan as of December 31, 2022, and 2021 and changes during the years ended December 31, 2022 and 2021 is 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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:71.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.26%;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.06%;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:10.74%;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 style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;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></tr><tr><td style="vertical-align:bottom;width:71.26%;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.06%;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.74%;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 style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average Grant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;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></tr><tr><td style="vertical-align:bottom;width:71.26%;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.06%;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.74%;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 style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;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></tr><tr><td style="vertical-align:bottom;width:71.26%;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.06%;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.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:13.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;">Fair Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Nonvested shares at January 1, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.74%;background:#cceeff;border-top: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;"> 122,792</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.58%;background:#cceeff;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;border-top: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.37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;background:#cceeff;margin: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:71.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Granted in 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 106,122</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;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.96</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin: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:71.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Vested in 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (84,653)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.58%;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:11.64%;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;"> 17.47</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;background:#cceeff;margin: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:71.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Forfeited in 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (22,159)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;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;"> 16.14</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin: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:71.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Nonvested shares at December 31, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.74%;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;"> 122,102</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;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;"> 18.35</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;background:#cceeff;margin: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:71.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Granted in 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 78,505</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;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.83</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin: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:71.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Vested in 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (75,492)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.58%;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:11.64%;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.93</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;background:#cceeff;margin: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:71.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Forfeited in 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,056)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;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.20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin: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:71.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Nonvested shares at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 121,059</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.58%;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:11.64%;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.83</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;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></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-align:justify;text-indent:36pt;margin:0pt;">As of December 31, 2022, there was approximately $2.8 million of total unrecognized compensation cost related to nonvested share-based compensation arrangements. The unrecognized compensation cost is expected to be recognized over a weighted-average period of 2.3 years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;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;">For the years ended December 31, 2022 and 2021, the Company recognized share-based compensation cost of approximately $1.9 million and $1.5 million, respectively, which is included in selling, general and administrative expenses. </p> 0.01 500000 373594 600000 1000000 352158 0 78505 16 4056 106122 16 22159 0 0 0 0 0 <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:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:71.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.26%;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.06%;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:10.74%;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 style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;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></tr><tr><td style="vertical-align:bottom;width:71.26%;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.06%;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.74%;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 style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average Grant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;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></tr><tr><td style="vertical-align:bottom;width:71.26%;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.06%;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.74%;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 style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:13.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;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></tr><tr><td style="vertical-align:bottom;width:71.26%;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.06%;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.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;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:13.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;">Fair Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Nonvested shares at January 1, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.74%;background:#cceeff;border-top: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;"> 122,792</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.58%;background:#cceeff;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;background:#cceeff;border-top: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.37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;background:#cceeff;margin: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:71.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Granted in 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 106,122</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;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.96</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin: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:71.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Vested in 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (84,653)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.58%;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:11.64%;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;"> 17.47</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;background:#cceeff;margin: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:71.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Forfeited in 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (22,159)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;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;"> 16.14</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin: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:71.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Nonvested shares at December 31, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.74%;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;"> 122,102</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;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;"> 18.35</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;background:#cceeff;margin: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:71.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Granted in 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 78,505</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;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.83</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin: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:71.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Vested in 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (75,492)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.58%;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:11.64%;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.93</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;background:#cceeff;margin: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:71.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Forfeited in 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,056)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.64%;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.20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;margin: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:71.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Nonvested shares at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 121,059</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.58%;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:11.64%;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.83</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.64%;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></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 122792 13.37 106122 22.96 84653 17.47 22159 16.14 122102 18.35 78505 31.83 75492 21.93 4056 19.20 121059 24.83 2800000 P2Y3M18D 1900000 1500000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">10. Defined Contribution Plan</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;">The Company maintains a defined contribution plan covering substantially all employees. Participating employees may make contributions to the plan, through payroll deductions. Matching contributions are made by the Company equal to 50% of the employee’s contribution to the extent such employee contribution did not exceed 6% of their compensation. During the years ended December 31, 2022 and 2021, the Company expensed approximately $0.3 million, respectively, related to this plan.</p> 0.50 0.06 300000 300000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">11. Commitments and Contingencies</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;margin:0pt;"><b style="font-weight:bold;">Employment Agreements</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;">The Company has entered into employment agreements with four of its executive officers. If the Company terminates their respective employment for any reason other than for cause, these executive officers are entitled to severance payments ranging from <span style="-sec-ix-hidden:Hidden_YQ_h_2FWQUGz3zpDNqB-Aw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">six</span></span> to twelve months at each executive officer’s then applicable base salary. Certain of these executive officers are entitled to additional severance payments if the Company terminates their respective employment for any reason other than for cause during the term of their employment and on or within twelve months following a change in control.</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;margin:0pt;"><b style="font-weight:bold;">Other</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;">As of December 31, 2022, the Company has no standby letters of credit, has no standby repurchase obligations or other commercial commitments. The Company has a line of credit see Note 8 (Credit Facility). Other than employment agreements, other management compensation arrangements and related party transactions as disclosed in Note 12, the Company is not engaged in any other transactions with related parties.</p> 4 P12M P12M 0 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;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;"><b style="font-weight:bold;white-space:pre-wrap;">12. Related Party Transactions</b></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;text-indent:36pt;margin:0pt;">The Company made sales to a customer where a member of our Board of Directors was formerly an executive. This member of our Board of Directors employment with the customer ended during the second quarter of fiscal 2022 and prior to this member of Board of Directors employment ending, net sales to this customer totaled approximately $0.2 million, which was subsequently collected in full. During the year ended December 31, 2021, net sales to this customer totaled $0.3 million and amounts due from this customer as of December 31, 2021 totaled zero. </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;text-indent:36pt;margin:0pt;">The Company made sales to a customer where a family member of one of our executive’s has a minority ownership position. During the year ended December 31, 2022 and 2021, net sales to this customer totaled $1.8 million and $0.4 million, respectively, and amounts due from this customer as of December 31, 2022 and 2021 totaled $0.1 million and $0.2 million, respectively. The Company also accrued referral fees totaling zero and $0.2 million to this customer during the year ended December 31, 2022 and 2021, respectively, and amounts owed to this customer for these referral fees as of December 31, 2022 and 2021 totaled zero and $0.1 million, respectively.</p> 200000 300000 0 1800000 400000 100000 200000 0 200000 0 100000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">13. Industry, Segment and Geographic Financial Information</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;">The Company distributes software developed by others through resellers indirectly to customers worldwide.  We also resell computer software and hardware developed by others and provide technical services directly to customers worldwide. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;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;">FASB ASC Topic 280, “Segment Reporting,” requires that public companies report profits and losses and certain other information on their “reportable operating segments” in their annual and interim financial statements. The internal organization used by the public company’s Chief Operating Decision Maker (CODM) to assess performance and allocate resources determines the basis for reportable operating segments. The Company’s CODM is the Chief Executive Officer.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;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;">The Company is organized into two reportable operating segments. The “Distribution” segment distributes technical software to corporate resellers, value added resellers (VARs), consultants and systems integrators worldwide. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">The “Solutions” segment is a cloud solutions provider and value-added reseller of software, hardware and services to customers worldwide.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;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;">As permitted by FASB ASC Topic 280, the Company has utilized the aggregation criteria in combining its operations in Canada, Europe and the United Kingdom with the domestic segments as the international operations provide the same products and services to similar clients and are considered together when the Company’s CODM decides how to allocate resources.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">Segment income is based on segment net sales less the respective segment’s cost of sales as well as segment direct costs (including such items as payroll costs and payroll related costs, such as profit sharing, incentive awards and insurance) and excluding general and administrative expenses not attributed to an individual segment business unit. The Company only identifies accounts receivable, vendor prepayments and inventory by segment as shown below as “Selected Assets” by segment; it does not allocate its other assets, including capital expenditures by segment. The following segment reporting information of the Company is provided: </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:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;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.96%;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="5" style="vertical-align:bottom;white-space:nowrap;width:29.48%;border-bottom:1.5pt 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;">Year ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;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.96%;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="5" style="vertical-align:bottom;white-space:nowrap;width:29.48%;border-bottom:1.5pt 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;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;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.96%;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:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:middle;white-space:nowrap;width:2.11%;margin:0pt;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:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Net Sales:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;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 style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;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 style="vertical-align:bottom;white-space:nowrap;width:11.08%;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="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;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 style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;background:#cceeff;margin: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:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Distribution</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 282,509</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 259,360</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solutions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 21,839</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 23,222</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 304,348</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 282,582</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Gross Profit:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Distribution</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,970</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,526</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solutions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 9,124</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 9,190</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 54,094</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 45,716</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Direct Costs:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Distribution</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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,804</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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,610</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solutions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 4,296</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 4,741</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 20,100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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,351</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Segment Income Before Taxes: (1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Distribution</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,166</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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,916</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solutions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 4,828</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 4,449</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><b style="font-weight:bold;">Segment Income Before Taxes</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 33,994</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 26,365</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;background:#cceeff;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 style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">General and administrative </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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,044</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,785</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Amortization and depreciation expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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,054</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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,529</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Acquisition related costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 582</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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:68.54%;background:#cceeff;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.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 159</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 359</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign currency transaction loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> (941)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> (46)</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income before taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;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:11.08%;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;"> 16,532</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;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:11.08%;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;"> 12,364</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;margin:0pt;">(1) Excludes general corporate expenses including acquisition related costs, amortization and depreciation expense, interest, and foreign currency transaction (loss) gain.</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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80.91%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.54%;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.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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.43%;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 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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.9%;margin:0pt;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><span style="font-weight:bold;visibility:hidden;">​</span></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></tr><tr><td style="vertical-align:bottom;width:69.54%;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.03%;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:12.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</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="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of </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="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.54%;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.03%;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:12.43%;margin:0pt;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.03%;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.9%;margin:0pt;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.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Selected Assets by Segment:</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="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;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.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.54%;background:#cceeff;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 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.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.91%;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: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:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.23%;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: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:69.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Distribution</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.52%;margin:0pt;padding:0pt;"><p 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.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 180,602</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:1.66%;margin:0pt;padding:0pt;"><p 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.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 133,506</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:69.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solutions</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.52%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;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;"> 21,420</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:1.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;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;"> 18,895</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:69.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Segment Select Assets </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><td style="vertical-align:bottom;white-space:nowrap;width:2.52%;margin:0pt;padding:0pt;"><p 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.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 202,022</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:1.66%;margin:0pt;padding:0pt;"><p 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.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 152,401</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:69.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Corporate Assets</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.52%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;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;"> 29,834</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:1.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;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;"> 38,351</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:69.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total Assets </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.52%;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.91%;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;"> 231,856</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:1.66%;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.23%;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;"> 190,752</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></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:4pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">Geographic areas and net sales mix related to operations for the year ended December 31, 2022 and 2021 were as follows. Net sales is allocated to a geographic area based on the location of the sale, which is generally the customer’s country of domicile.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;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:45.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:11.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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.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:12.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:2.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:11.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:45.8%;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.16%;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="8" style="vertical-align:bottom;white-space:nowrap;width:49.11%;border-bottom:1.5pt 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;">Year ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;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></tr><tr><td style="vertical-align:bottom;width:45.8%;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.16%;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:49.11%;border-bottom:1.5pt 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;">December 31, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.8%;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.16%;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:13.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Distribution</b></p></td><td style="vertical-align:middle;white-space:nowrap;width:2.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;">  </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.25%;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;">Solutions</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Geography</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p 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.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">              </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin: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:45.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">USA</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:11.55%;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;"> 225,380</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:12.91%;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,137</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;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:11.55%;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;"> 236,517</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;margin: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:45.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Europe and United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,423</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.91%;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,171</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;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,594</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin: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:45.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;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;"> 22,706</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.91%;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;"> 1,531</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;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;"> 24,237</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;margin: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:45.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;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:11.55%;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;"> 282,509</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:12.91%;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;"> 21,839</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;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:11.55%;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;"> 304,348</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin: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:45.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Timing of Revenue Recognition</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p 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.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">              </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin: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:45.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Transferred at a point in time where the Company is principal (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:11.55%;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;"> 251,334</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:12.91%;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,044</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;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:11.55%;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;"> 266,378</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;margin: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:45.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Transferred at a point in time where the Company is agent (2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;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;"> 31,175</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.91%;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;"> 6,795</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;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;"> 37,970</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin: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:45.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:11.55%;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;"> 282,509</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:12.91%;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;"> 21,839</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;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:11.55%;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;"> 304,348</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;margin: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:45.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.8%;background:#cceeff;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.16%;background:#cceeff;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="8" style="vertical-align:bottom;white-space:nowrap;width:49.11%;background:#cceeff;border-bottom:1.5pt 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;">Year ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;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></tr><tr><td style="vertical-align:bottom;width:45.8%;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.16%;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:49.11%;border-bottom:1.5pt 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;">December 31, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.8%;background:#cceeff;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.16%;background:#cceeff;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:13.89%;background:#cceeff;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;">Distribution</b></p></td><td style="vertical-align:middle;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;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:15.25%;background:#cceeff;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;">Solutions</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.89%;background:#cceeff;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><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Geography</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p 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.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">              </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin: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:45.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">USA</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:11.55%;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;"> 210,247</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:12.91%;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,057</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;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:11.55%;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;"> 221,304</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;margin: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:45.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Europe and United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,055</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.91%;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,652</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,707</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin: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:45.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;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;"> 23,058</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.91%;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;"> 1,513</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;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;"> 24,571</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;margin: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:45.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;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:11.55%;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;"> 259,360</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:12.91%;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;"> 23,222</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;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:11.55%;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;"> 282,582</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin: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:45.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Timing of Revenue Recognition</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p 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.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">              </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin: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:45.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Transferred at a point in time where the Company is principal (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:11.55%;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;"> 234,322</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:12.91%;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;"> 16,360</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;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:11.55%;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;"> 250,682</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;margin: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:45.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Transferred at a point in time where the Company is agent (2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;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;"> 25,038</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.91%;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;"> 6,862</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;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;"> 31,900</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin: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:45.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:11.55%;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;"> 259,360</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:12.91%;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;"> 23,222</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;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:11.55%;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;"> 282,582</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;margin: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;text-align:justify;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10pt;font-style:normal;font-weight:normal;">Includes net sales from third-party hardware and software products.</span></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-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Includes net sales from third-party maintenance, software support and services.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;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;">Geographic identifiable assets related to operations as of December 31, 2022 and 2021 were as follows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;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.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:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="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.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:2.2%;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:9.62%;margin:0pt;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.2%;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:9.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;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></tr><tr><td style="vertical-align:bottom;width:75.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Identifiable Assets by Geographic Areas</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;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;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;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:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin: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.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">USA</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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.01%;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;"> 137,877</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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.01%;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;"> 122,445</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin: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.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.01%;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,597</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.01%;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,923</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin: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.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Europe and United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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:8.01%;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;"> 66,382</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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:8.01%;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;"> 43,384</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin: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.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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.01%;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;"> 231,856</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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.01%;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;"> 190,752</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin: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;text-align:justify;text-indent:36pt;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;">For the year ended December 31, 2022, the Company had two customers that accounted for 21%, and 16%, respectively, of consolidated net sales and as of December 31, 2022, 16% and 18%, respectively, of total net accounts receivable. For the year ended December 31, 2022, the Company had two vendors that accounted for 17% and 9%, respectively, of our consolidated purchases. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;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;">For the year ended December 31, 2021, the Company had two customers that accounted for 18%, and 17%, respectively, of consolidated net sales and as of December 31, 2021, 18% and 22%, respectively, of total net accounts receivable. For the year ended December 31, 2021, the Company had two vendors that accounted for 20% and 10%, respectively of our consolidated purchases.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;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;">Our top five customers accounted for 52% and 51% of consolidated net sales for the years ended December 31, 2022 and 2021, respectively.</p> 2 <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:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;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.96%;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="5" style="vertical-align:bottom;white-space:nowrap;width:29.48%;border-bottom:1.5pt 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;">Year ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;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.96%;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="5" style="vertical-align:bottom;white-space:nowrap;width:29.48%;border-bottom:1.5pt 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;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;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.96%;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:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:middle;white-space:nowrap;width:2.11%;margin:0pt;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:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Net Sales:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;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 style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;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 style="vertical-align:bottom;white-space:nowrap;width:11.08%;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="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;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 style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;background:#cceeff;margin: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:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Distribution</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 282,509</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 259,360</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solutions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 21,839</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 23,222</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 304,348</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 282,582</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Gross Profit:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Distribution</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,970</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,526</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solutions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 9,124</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 9,190</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 54,094</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 45,716</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Direct Costs:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Distribution</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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,804</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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,610</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solutions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 4,296</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 4,741</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 20,100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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,351</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Segment Income Before Taxes: (1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Distribution</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,166</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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,916</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solutions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 4,828</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 4,449</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><b style="font-weight:bold;">Segment Income Before Taxes</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 33,994</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 26,365</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;background:#cceeff;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 style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">General and administrative </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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,044</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,785</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Amortization and depreciation expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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,054</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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,529</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Acquisition related costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 582</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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:68.54%;background:#cceeff;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.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 159</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> 359</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign currency transaction loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> (941)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.08%;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;"> (46)</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income before taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;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:11.08%;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;"> 16,532</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;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:11.08%;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;"> 12,364</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;margin:0pt;">(1) Excludes general corporate expenses including acquisition related costs, amortization and depreciation expense, interest, and foreign currency transaction (loss) gain.</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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80.91%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.54%;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.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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.43%;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 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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.9%;margin:0pt;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><span style="font-weight:bold;visibility:hidden;">​</span></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></tr><tr><td style="vertical-align:bottom;width:69.54%;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.03%;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:12.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</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="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of </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="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.54%;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.03%;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:12.43%;margin:0pt;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.03%;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.9%;margin:0pt;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.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Selected Assets by Segment:</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="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;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.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.54%;background:#cceeff;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 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.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.91%;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: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:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.23%;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: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:69.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Distribution</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.52%;margin:0pt;padding:0pt;"><p 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.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 180,602</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:1.66%;margin:0pt;padding:0pt;"><p 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.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 133,506</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:69.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solutions</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.52%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;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;"> 21,420</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:1.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;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;"> 18,895</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:69.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Segment Select Assets </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><td style="vertical-align:bottom;white-space:nowrap;width:2.52%;margin:0pt;padding:0pt;"><p 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.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 202,022</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:1.66%;margin:0pt;padding:0pt;"><p 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.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 152,401</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:69.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Corporate Assets</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.52%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;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;"> 29,834</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:1.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;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;"> 38,351</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:69.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total Assets </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.52%;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.91%;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;"> 231,856</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:1.66%;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.23%;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;"> 190,752</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></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:4pt;visibility:hidden;">​</span></p> 282509000 259360000 21839000 23222000 304348000 282582000 44970000 36526000 9124000 9190000 54094000 45716000 15804000 14610000 4296000 4741000 20100000 19351000 29166000 21916000 4828000 4449000 33994000 26365000 14044000 12785000 2054000 1529000 582000 159000 359000 -941000 -46000 16532000 12364000 180602000 133506000 21420000 18895000 202022000 152401000 29834000 38351000 231856000 190752000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;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:45.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:11.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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.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:12.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:2.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:11.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:45.8%;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.16%;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="8" style="vertical-align:bottom;white-space:nowrap;width:49.11%;border-bottom:1.5pt 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;">Year ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;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></tr><tr><td style="vertical-align:bottom;width:45.8%;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.16%;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:49.11%;border-bottom:1.5pt 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;">December 31, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.8%;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.16%;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:13.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Distribution</b></p></td><td style="vertical-align:middle;white-space:nowrap;width:2.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;">  </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.25%;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;">Solutions</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Geography</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p 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.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">              </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin: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:45.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">USA</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:11.55%;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;"> 225,380</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:12.91%;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,137</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;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:11.55%;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;"> 236,517</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;margin: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:45.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Europe and United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,423</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.91%;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,171</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;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,594</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin: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:45.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;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;"> 22,706</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.91%;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;"> 1,531</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;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;"> 24,237</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;margin: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:45.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;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:11.55%;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;"> 282,509</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:12.91%;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;"> 21,839</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;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:11.55%;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;"> 304,348</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin: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:45.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Timing of Revenue Recognition</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p 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.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">              </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin: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:45.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Transferred at a point in time where the Company is principal (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:11.55%;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;"> 251,334</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:12.91%;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,044</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;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:11.55%;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;"> 266,378</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;margin: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:45.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Transferred at a point in time where the Company is agent (2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;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;"> 31,175</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.91%;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;"> 6,795</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;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;"> 37,970</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin: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:45.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:11.55%;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;"> 282,509</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:12.91%;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;"> 21,839</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;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:11.55%;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;"> 304,348</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;margin: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:45.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.8%;background:#cceeff;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.16%;background:#cceeff;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="8" style="vertical-align:bottom;white-space:nowrap;width:49.11%;background:#cceeff;border-bottom:1.5pt 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;">Year ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;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></tr><tr><td style="vertical-align:bottom;width:45.8%;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.16%;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:49.11%;border-bottom:1.5pt 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;">December 31, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.8%;background:#cceeff;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.16%;background:#cceeff;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:13.89%;background:#cceeff;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;">Distribution</b></p></td><td style="vertical-align:middle;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;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:15.25%;background:#cceeff;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;">Solutions</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.89%;background:#cceeff;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><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Geography</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p 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.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">              </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin: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:45.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">USA</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:11.55%;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;"> 210,247</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:12.91%;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,057</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;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:11.55%;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;"> 221,304</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;margin: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:45.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Europe and United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,055</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.91%;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,652</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,707</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin: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:45.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;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;"> 23,058</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.91%;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;"> 1,513</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;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;"> 24,571</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;margin: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:45.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;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:11.55%;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;"> 259,360</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:12.91%;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;"> 23,222</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;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:11.55%;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;"> 282,582</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin: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:45.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Timing of Revenue Recognition</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p 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.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">              </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin: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:45.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Transferred at a point in time where the Company is principal (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:11.55%;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;"> 234,322</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:12.91%;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;"> 16,360</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;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:11.55%;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;"> 250,682</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;margin: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:45.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Transferred at a point in time where the Company is agent (2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;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;"> 25,038</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.91%;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;"> 6,862</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;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;"> 31,900</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin: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:45.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:11.55%;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;"> 259,360</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.33%;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:12.91%;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;"> 23,222</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;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:11.55%;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;"> 282,582</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;margin: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;text-align:justify;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:10pt;font-style:normal;font-weight:normal;">Includes net sales from third-party hardware and software products.</span></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-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Includes net sales from third-party maintenance, software support and services.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 225380000 11137000 236517000 34423000 9171000 43594000 22706000 1531000 24237000 282509000 21839000 304348000 251334000 15044000 266378000 31175000 6795000 37970000 282509000 21839000 304348000 210247000 11057000 221304000 26055000 10652000 36707000 23058000 1513000 24571000 259360000 23222000 282582000 234322000 16360000 250682000 25038000 6862000 31900000 259360000 23222000 282582000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;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.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:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="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.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:2.2%;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:9.62%;margin:0pt;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.2%;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:9.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;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></tr><tr><td style="vertical-align:bottom;width:75.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Identifiable Assets by Geographic Areas</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;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;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;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:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin: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.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">USA</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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.01%;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;"> 137,877</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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.01%;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;"> 122,445</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin: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.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.01%;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,597</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.01%;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,923</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin: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.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Europe and United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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:8.01%;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;"> 66,382</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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:8.01%;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;"> 43,384</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin: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.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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.01%;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;"> 231,856</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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.01%;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;"> 190,752</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin: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;text-align:justify;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 137877000 122445000 27597000 24923000 66382000 43384000 231856000 190752000 2 0.21 0.16 0.16 0.18 2 0.17 0.09 2 0.18 0.17 0.18 0.22 2 0.20 0.10 5 5 0.52 0.51 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Climb Global Solutions, Inc. and Subsidiaries</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Schedule II--Valuation and Qualifying Accounts</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">(Amounts in thousands)</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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;white-space:nowrap;width:59.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:6.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.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:59.61%;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.83%;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:1.16%;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:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.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;">Charged to </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;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:6.71%;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 style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.95%;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></tr><tr><td style="vertical-align:bottom;width:59.61%;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.83%;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:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Beginning</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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:8.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;">Cost and </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.19%;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:6.71%;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 style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ending </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.95%;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></tr><tr><td style="vertical-align:bottom;width:59.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Description</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;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:7.9%;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;">Balance</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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:8.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;">Expense</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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:7.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Deductions</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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:7.9%;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;">Balance</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.95%;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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Year ended December 31, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.73%;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.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;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.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.71%;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.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.73%;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:0.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Allowance for doubtful accounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.73%;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;"> 892</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;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;"> 26</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.71%;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;"> 37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.73%;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;"> 881</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Year ended December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.73%;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.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;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.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.71%;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.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.73%;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:0.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Allowance for doubtful accounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.73%;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;"> 881</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;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</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.71%;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;"> 58</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.73%;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;"> 842</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 892000 26000 37000 881000 881000 19000 58000 842000 EXCEL 81 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( ,J*<%8'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 " #*BG!69 1C?>T K @ $0 &1O8U!R;W!S+V-O&ULS9+! M:L,P#(9?9?B>R'&@!Y/ZLK+3!H,5-G8SMMJ:Q8ZQ-9*^_1*O31G; ^QHZ?>G M3Z#.1&F&A,]IB)C(8;Z;?!^R-''+3D11 F1S0J]S/2?"W#P,R6N:G^D(49L/ M?400G&_ (VFK2<,"K.)*9*JS1IJ$FH9TP5NSXN-GZ@O,&L >/0;*T-0-,+5, MC.>I[^ &6&"$R>?O MJ56*I_8DL'V"4Y9;>FQG&LQ[;DYAT:>'MZ?"GK5BYD MTL'@_"L[2>>(6W:=_-K>[_8/3 DNVHJW5;/9BT8*(7G[OKC^\+L)^\&Z@_O' MQE=!U<&ONU!?4$L#!!0 ( ,J*<%:97)PC$ 8 )PG 3 >&PO=&AE M;64O=&AE;64Q+GAM;.U:6W/:.!1^[Z_0>&?V;0O&-H&VM!-S:7;;M)F$[4X? MA1%8C6QY9)&$?[]'-A#+E@WMDDVZFSP$+.G[SD5'Y^@X>?/N+F+HAHB4\GA@ MV2_;UKNW+][@5S(D$4$P&:>O\, *I4Q>M5II ,,X?+&A T%116F]?(+3E'S/X%/F7/Z3H=,H%N,!M8('_.;Z?D3EJ(X53"Q,!J9S]6:\?1 MTDB @LE]E 6Z2?:CTQ4(,@T[.IU8SG9\]L3MGXS*VG0T;1K@X_%X.+;+THMP M' 3@4;N>PIWT;+^D00FTHVG09-CVVJZ1IJJ-4T_3]WW?ZYMHG J-6T_3:W?= MTXZ)QJW0> V^\4^'PZZ)QJO0=.MI)B?]KFNDZ19H0D;CZWH2%;7E0-,@ %AP M=M;,T@.67BGZ=90:V1V[W4%<\%CN.8D1_L;%!-9ITAF6-$9RG9 %#@ WQ-%, M4'RO0;:*X,*2TER0UL\IM5 :")K(@?5'@B'%W*_]]9>[R:0S>IU].LYKE']I MJP&G[;N;SY/\<^CDGZ>3UTU"SG"\+ GQ^R-;88C'(CN]WV6'WV3T=N(]>IP+,BUY1&)$6?R"VZ MY!$XM4D-,A,_")V&F&I0' *D"3&6H8;XM,:L$> 3?;>^",C?C8CWJV^:/5>A M6$G:A/@01AKBG'/F<]%L^P>E1M'V5;SC MFED)O816:I^JAS0^J!XR"@7QN1X^Y7IX"C>6QKQ0KH)[ ?_1VC?"J_B"P#E_ M+GW/I>^Y]#VATK\>WZV22$KYI9+2,6D$N!LT$DN/R+RO JQ GH9%LE" M0AMNZ5/U2I77Y:^Y*+@\6^3IKZ%T/BS/^3Q?Y[3-"S-#MW)+ZK:4OK4F.$KT ML@'37[]EUVY".E,%.70[@:0KX#;;J=W#HXGIB1N0K3 M4I!OP_GIQ7@:XCG9!+E]F%=MY]C1T?OGP5&PH^\\EAW'B/*B(>ZAAIC/PT.' M>7M?F&>5QE T%&ULK"0L1K=@N-?Q+!3@9& MH >#KU$"\E)58#%;Q@,KD*)\ M3(Q%Z'#GEUQ?X]&2X]NF9;5NKREW&6TB4CG":9@39ZO*WF6QP54=SU5;\K"^ M:CVT%4[/_EFMR)\,$4X6"Q)(8Y07IDJB\QE3ON>;G*YZ(G;ZEW?! M8/+]<,E'#^4[YU_T74.N?O;=X_INDSM(3)QYQ1$!=$4"(Y4U#VT%SU&\Z.9X!ZSAW.;>KC"1:S_6-8>^3+?.7#;.MX#7N83 M+$.D?L%]BHJ $:MBOKJO3_DEG#NT>_&!()O\UMND]MW@#'S4JUJE9"L1/TL' M?!^2!F.,6_0T7X\48JVFL:W&VC$,>8!8\PRA9CC?AT6:&C/5BZPYC0IO0=5 MY3_;U UH]@TT')$%7C&9MC:CY$X*/-S^[PVPPL2.X>V+OP%02P,$% @ MRHIP5NJNGMYU!P V# !@ !X;"]W;W)K9CKQ>[:Q+B^)1N M2 3?/%$68@ZK;-6+-XQ@+RT*@YYE&,->B/VH,[Y(M\W9^((F// C,FQB$."0"C!>?R3 MB7;R8XK"P^6]^BR]>+B8)8Z)0X-'W^/KR\ZH@SSRA). W]/MGR2[H('0,;A$3>X.:6$AAIM5P^7XD?O<%9_"M#W5\/*5N C\C M1SCRT*>(^_P-74>[]B1^ER[ZOIBB]^\^H'?(C]"M'P2P.;[H<3BXD.BYV8&N M=@>R*@YD6NB61GP=PU$\XI4%>G#6^:E;^U._LI2*4^*>(ML\099A69(3("7LAG?'OOYE#XP\9+)UB4TUB)9#]'&1?I5Z ?'C;$!DV=;EI=+_* M^"BKVO+1)%;B,\CY#!KR81BZ[_0NOR<;RK@,EEKK"0>QC+&C+&M+2Y-8B=8P MIS5L1FM.F$_%G>DAZ&BE#:M&:=]=5?97ROJVT#2)E:"=Y=#.E)>:=5_W9.7' M'%H91W@_X%5U[ MT,OY3[Z[\WW5K:Y&TK2[MFD/3:,O8ZJ$.WE"V@ M&]@/?8ND#:Y&L@\MV0/7SWSH\1[Q&WHD,8?VG/C0GFW#D#)52K9FJDFMS-0J MF%JMF#IB#6[D![J5>N Z."D8T<$LLH.IMOPWU(6V-%_3 M2&7C:D3LT7G7.*^@I34RZ%(KTRI"@ZEV^P\^![M+GY!IO5]^0 OB)@Q:F119 M36Z@80@>9L&I^WR"-IBA%QPD!+TS3@T3;0A#\1HS:7!5*[HP0818IPE1' M $CXGA^MT.(M7-) "E(MX-S<7DDI:0O*2^MF4&76GG4M0@-5J/0X"2,B8&1W=A1VLS $:Q9]$ M5N6HJ]I2TZ56IE:$!:M16+B..&&[EQUB' GO,4JIJ16KJ&F- [K4RM2*.& U MB@-B( 3"/#C:%672)T*-SL1U"4B @+<3DY+3F@=TJ97)%7G :I0''&A;#$P( MQ$KRBKX2.3RUE '_SON#\Y'L-8FC+FY-[1AQP"KB@*4V[Y.01%XZWCL+\$K* M2BU0.2*NKFN-Z1CNWRK MT*56QE;D 4MMY;-[QK3& 5UJ95A%'+ :O43X M%!*V$N[B,RCP-<3-<(,C>3>F%JR^-;5Z?EUJ96R%Y[<:O3I8K FT,14LM4PU M+*W67Y=:&59A_:U&;P_*>7$ALF&,OB4\YC@2 4K*3Z>E=S*U0:HFYNJ\C/L# MW"^]OJYUZ_CKTL.>?P49I-U8C5O4>5%W6>B[",7R_7?A^ M6^W2?R66O4>N9J:6F_V4$M/J^76IE8D5GM]6>_5K9W:/)HGG<\K0A',"MV'Z M3JK*DM7H53TMU66MH1W#[ML'LX?4'GW/JVKHHJ;\:OH-?5],3M#-S5S*2N_T MH&.8?+LP^7:-R<]8S7P6HNNI%)=:P>I+HY"ZJC6E8WA\N_#XMMJ4[RF)0>S* M&6AJB4=*O27SO14Y07=DB[X0%DL3J*,6:DWN&#;?+FR^W7#.T"2*$NCRJV=7 MU0A5]EQ:?;XNM3*MPN?;C7S^(_C5[G-$M^##"(YI1#QT'<>)_)U)C>8=E6+3 MZO-UJ96Q%3[?;N3S?] @B3AFV1B9W%*HE2I@:?7YNM3*L J?;S?R^?-D&?@N M^ B*Y;>C5D^O56V:J0T/$H)I]T]'>3[8H>D=3 47R3F=4A\C5\R#VLT*S[?F MT_8GZ63U7K'[;L[_+1;!.T8!>8)2X_0,>E6VFT:_6^%TDTXL7U+.:9@NK@GV M"!,[P/=/E/+]BCA _I\9QO\"4$L#!!0 ( ,J*<%;830F)K 8 *8< 8 M >&PO=V]R:W-H965T&ULK5E9;]LX$/XKA#?8 [!CD=29 M)@;:9(\">P1-VWUF)#H6*HE>D7*2_?4[E!W)%BG:S?8AL8[A\)OA<+X9ZO)1 MU%_DBG.%GLJBDE>3E5+KB_E,GDNUKR"-TM1ETS!;?TPE^N:LZP=5!9S MXGGAO&1Y-5E+R:X,G+@P_YPTKI!_/% MY9H]\#NN/JUO:[B;=UJRO.25S$6%:KZ\FKS%%]!H1+WBJM H&/QM^S8M":P(<_^R43KHY]<#]ZQ?MO[3&@S'W3/)K M4?R=9VIU-8DG*.-+UA3J@WC\C>\,:@&FHI#M?_2XD_4F*&VD$N5N," H\VK[ MRYYVCM@;@/V1 60W@)PZ@.X&T-;0+;+6K!NFV.*R%H^HUM*@35^TOFE'@S5Y MI9?Q3M7P-H=Q:G$M*BF*/&.*9^@=*UB5;6;WAD\7WW^'0>V.S M[ALI.["5=K92E_;%-9,K!*N&4GW!_VGR#2O >.LJ;E5%K2J= #8+\+@?7,XW M^^98I!(2D4[J *??X?2=.-^FJ6@ %N2&E /&^X)/405Y3"P1*R#;M)$)>0ME MHKE7RZ: %+ ; B)GL4]:,\_B& (%_+CF;88HGFV&;K$$>R;@P ^2<&"I18R0 MP!LQ->A,#9RFOJ\VL "B?FX-M,$+C'G]*!R",X6VN\L&+>R@A4YHGWF5@8LA M#M?LN=1ATCJ591OM?FO,A :,./$&4$V9,,1VI%&'-'(BO=40\PSQ)V TR;\Z*P\I-G\6@2T@$PFUB$XQ&'XCV6Q4YH?[6!F5>* M50\YI+9Q_^T4'?HF3 R@IEB2!-X(SIX8L9.+%FT9-Q/+62/Y+CS'D1)+=J3# MI;9)A6,1BGM6PVY:L]#%K!#5PTSQNAR'3,WHQ-@?0C:EHC' /;UA-[]M(V!\ MQV.3:V@PS*,6(6"M$6@]'6$W']WP)8>$!!N\2D7)D6)/+J F[U!_F)@L0K#= M1H#VY(3=[+3-G@YH)L\0BN-@R)P6.9QX43"6@7I.PM%)A661L_N\R%7.[=4E M=G+;UY:7WTK;H=$]I6$WIW5;$4H&O0^W%4.:U@WOZ=GJ!0M]A5YH1KU%COID MC(MQSW/8372_:VKK%@O*L1=B7HM:-YE6T"9W!618.EB$_"BPPR4]OQ$WOWV$ MU(8*P:J3@!*3R@(R=*U[QE>&#NEID;AI\; (772MO5J"1DB=L[\VGCOF9:XF?9/4Q<;/:![ MOM?:TQ,R.860CUEB8=L(D]A8&XL;BDKEU0.O MTC'$KR!49#WX^?^*#FWN29G$SDKD3HGTB^[:>"U_:(]]U+/]H,M)[E]]TO6- MM!U:W1,Z<1.Z7FE1(:F-GZ*SYE%#+7"!_ZD?QU*?;DR:X(_XTC,B+F&B4A 8O M@]@Z?@)%+'7$L,ESRQP>!_95!'57$6^S+-=)%#:N/D"9Y15*V3J'C6P]$32K M" J5EW$D:!/SXF@$;%\@T",%0@VJ:8H]L*I%\;M0L1!,HU) MO%N&XZZG9H$PPY3087%DEXNC$8*C?2%!CW397#%X!-4QJRN(%OM9K%D,^#3Q MALVJ18R"W$C2I'O'QD<;[*9LBO:[P.Y8392P:5?Z$\X&RB A[;#-FF &Q#5L M$*UB8^<7M"\=Z)'2H24D:4E^5JQFS1!Z062XV!0+B(_'7-Q7 ]1=#1CLV4;S MR> #\QC>UNQ:Y*S-[GSO(Y+^@O<'JQ_R2J*"+V&@=QZ!GGK[46Q[H\2Z_:YT M+Y0297NYX@Q@:P%XOQ1"O=SH3U7=I\G%?U!+ P04 " #*BG!6DRP:.N " M "7" & 'AL+W=O0(I+0CTC+1;#AO*^? M8QL?)ANI'G4.8,A3P86>.KDQY:7KZC2'@NJ!+$'@DZ54!37852M7EPIH5HL* M[@:>%[D%9<)))O6]N4HFLC*<"9@KHJNBH.KY&KC<3!W?>;EQRU:YL3?<9%+2 M%2S W)=SA3VW=+^K2F11: M-Z,&KXQZ ^F #/US$GA!T".??5SN[\I=S+^=A*"=A*#V&QX_ M"7VY-69AOYE][2YU25.8.OA>:5!K<)+/G_S(^]J7Z7\RV\E[V.8]?,L]N4I3 M60E<:04IL#5]X'!.*,%3EN'][P1O_N /E M#3Q_C_R=H!WT48L^.@*]!M2$5B:7BOV%K(^U,1QU,'RO^>WQ?B!PASEJF:/C MF9G653]O=( Q"N)P=(#[?MP.[;BE'1]/B^5+&SRJF%CU(8\/4,)P'(?#_;W< M%Q>$T3CH1XY;Y/A-Y#LLO[I2ST1WH?M XP. V(N\*-[C[ D;7<1!O(?I=LJ& M+=D_J5HQH0F')0J]P1@=5%,&FXZ195U)'J3!NE0W<_QR &4#\/E22O/2L<6I M_19)_@%02P,$% @ RHIP5GBF&-*[! LA$ !@ !X;"]W;W)K)YD5M07CK)PIR[D\E" M['7.2W8GD=H7!97?;U@NCDL'.T\G/O'-5ESHSHY1E4J#T)\K08?LJ7C540L9ZFN0E#X.[ 5 MR_,J$G!\:X(Z[3TKQ]/CI^CO3?*0S -5;"7R+SS3VZ43.RAC:[K/]2=Q_(,U M"855O%3DRORB8V/K.2C=*RV*QAD("E[6__2QF8@3!QR-.)#&@?0=@A$'OW'P M3:(UF4GKEFJ:+*0X(EE90[3JP,R-\89L>%D]QGLMX2H'/YVL1*E$SC.J68;N M-?S!,](*B35Z1V7)RXU"E^CS_2UZ_>H-4ELJF4*\1']OQ5[1,E,7Z-79>.%J MP*J"NVF#<%,CD!$$3-!'4>JM0N_*C&7G 5S(ITV*/"5U0R8CWK+T"OGX A&/ M$ O0ZL?=\02.W\ZQ;^+Y_W^.;;-6!PWL0:O7^UKM:,J6#KR_BLD#/892N=@]/;QMZ) QZ=!8S/XJCR$X7M731)-WO4BB% M=E*LN;;!18.[AH$W[[,-K8)PAD?09BW:;!+M'NHNK-L+M&$EDS2_0/#N(YI! MA>)*2UK59L0>06R4?6)G RH_P$&?W6)%L#_"'K?L\23[V_3;GBNN:R'*S5N9 MPD*PIR/>)/.',A4%0VLI"@1-AC2L=C7PA@ S'_?]9#(W\<&S)=+*()U4G@3X,NJP2VAPI69E^1U X2D7K_BZ'VF?E]0?EN2K>+!< M;5;>V O6"1V>5KHQVEN>[W6_TVYXXQ_BM5F-\G:RAZ=U[XO9=($! M!PO(NXKZ3?]S5G4:[LGNMV!R8SX**"#;E[K>,[9GVP\/;\UVNW?^!E^OZL\' M79CZ:\9'*C>\5"AG:PCI7:+$S>^P'H6'';@ZWC&9,5@9P?2V$ M?AI4-V@_TR3_ 5!+ P04 " #*BG!6[@,ZF=(" #!" & 'AL+W=O M:0 M-A,W[5F!M:$!R95D._GW70E,_8%I#KX82>Q[^W97[#I<<_$B4P!%7HN$DT/;&X&<&:[FU)CJ29\Y?].8N&5D=+0ARB)5FH/A8P03R7!.A MC#\5IU6[U,#M]8;]UL2.L3Q3"1.>_\H2E8ZLP"()S.@R5X]\_16J>/J:+^:Y M-+]D7=KZ78O$2ZEX48%109&Q\DE?JSQL 1SO","M .X^H'<$T*T 71-HJ\Y4*LD7ED"R2V!C&'4L[B:6L=O*> /Q%>DZGXC;<=T&09/WPYT6 M.=TZM5W#USU-:ILR6#KH-3O0'_A0+F@,(PO9)(@56-''#X[7^=P4_8G(=G+1 MJW/1:V./OF$_RHZ&66)]@]5M9X67HS?P0WNUK?_0:N ,@MIH1U>_UM5OK=%W ME8(@\4XYSG,NY44E=]BDMW_*LIR(;"=\KP[?:RT+=D+LB!&4R MIV6'37YC_S%WMBD))7-_JQR7KN<$>T4[M.H-W.::^;5HOU7T?VO6I-9_E]I# MJZ-J@UIMT*IV]U,_+C XO-V!/]C3UV#D#3I[ NVM:5" F)LA*3%A2Z;*9EJ? MUG/XVHR?O?,QSN=RG/ZC*8?[/17SC$F2PPPI.U<^IDR4 [/<*+XP,^>9*YQ@ M9IGB?PP0V@#?SSA7FXUV4/]KB?X"4$L#!!0 ( ,J*<%:<^V(F&@< +LX M 8 >&PO=V]R:W-H965T&ULM9MKK&9X]?W&7 M/&R8^&*QO-Q&#_2>LD_;VY+O+0Z4.,EH7B5%CDJZOIK]BM^'Q!$!=8N_$_I4 M'6TC<2J?B^*+V/D07\TT<40TI2LF$!'_>*0W-$T%B1_'UP8Z.^04@&8KJ.=BF[*YY^H\T)F8*W*M*J_HN>]FUM?896 MNXH561/,CR!+\OUG]*WIB*, ?"J - &D%T#L$P%Z$Z"?F\%H HQ^@',BP&P" MS%Z 89T(L)H Z]Q#LIL NR[6OG?KTG@1BY:79?&$2M&:T\1&7=\ZFE%'E5I$D<,1JC>\8_N,Y8A8HUWRM67S9%&M/R=87\K[N$?4=S M].G>0Q>OWJ!7*,G1QTVQJZ(\KBX7C!^-8"Y63>;K?69R,G.6<2W66231-^KH M7^,X$5J.4G0;)?'\0XYNHFW"HE3"\M2LC_P:KG;E=TFDKXZ\HXQ?[;SG_*C, MD_Q!U@W!R(FL5KMLE];]_Q?;T!+QCN&CRD9<[H\47?Q>5-4;]"%?%1F5X,.1 M9-OF=BQ3A0FI"DB8!PGS(6$!)"P$@G6T8QVT8RF'EC_YXB4Y M-56X5L9.E08DS(.$^=9P],&NTYL.0&8,1S)V2FD?2FF/W"6BO.+SPGK!%O_+ MEP)B9BXKJY(SM:R0, \2YD/" GM0,),QW!GT[)Z[;FR $D"G#L92=@KJ'@KK*@MZ+^=I@BYS?;8HW61;FF"=N)>;O4!E'BI]:[H75D MC W26^UZ3;/CE>RPE0]Z: $H+82B=:M^Y(MAL*H?K]RD"E"FFJP 2)K7T#IZ M7CH,1),'*=? M<% C#Y060M&ZPFB]/*PV\TX8XUBJ!&/<&<=#[TPGFF/W[^]#U!SKCJWU*R?! M&7QX[TVT)B+G&.3R_C3/=,C5^2=?-*!&%B@M M *6%9W1PM^2M3X751M4+/'"Y!$ ]+5":AX>VD&.Z#AF,KI!9 U!:.'X.70&T M[A:V_T^7&X.:7J T#Y3F@]("4%H(1>MJJ#73L-I-4[O=ZN#)$@'UTD!I/AY: M6Y@8KMV_R8/::0W-/IFT6]364,-J1^U\WUL-FEQ@2)H'2O-!:0$>^F1S8F&G M/]L;:]9]D*3UTXC:3QOWP-6 J84%I7F@-)](W#SB.F[_V1509VTT:;>PK65& MU);92[QP-7)RJ8=F%G9);XGE@>;T06D!*"T!5,;7C_JB*OQDXLN M<7PP<(ZZF358#Z*-L1&*T6>9@V !]E V4%A*) MMW=\!MT:MZ8=49MV/^"(J\F3ZPUJ[I&AY44TJS\C\T&3!J"T$(K6%49K[1&U MM7?"$2=2)5CCCKBDC4YL/+B_#YO-L4[TOB,N:6?HKF;TI]P2''&L_B))TLS2 M3/O$_YM(:X\1]=-?9UCB\@X=/K0DM\35^2=?-:"6%R@M *6%9W1PM^2MFT74 M;M8++'&Y!$!]+U":1X9.E:-96O^R\D&S!J"T$>]^'=Y7 M7/X'4$L#!!0 ( ,J*<%9U$P$2(P< "8@ 8 >&PO=V]R:W-H965T M&ULK5IM;]LV$/XKA%<,+5#7(BE9=FOWY%R)%NBV*3SE]B2C\?G7GC/D5F=C=9: M;TXFDRI=\X)5[^2&E_#+2JJ":7A4MY-JHSC+[* BGY @F$X*)LK1_-2^NU;S M4[G5N2CYM4+5MBB8>KS@N;P_&^'1TXO/XG:MS8O)_'3#;OD-UU\VUPJ>)HV6 M3!2\K(0LD>*KL]$Y/EG0Q RP$E\%OZ_VOB-CRE+*;^;A*CL;!081SWFJC0H& M'W=\P?/<: (_\YU!D=&7RKRR?]']3C88H71;:5GL!@."0I3U)WO8.6)O )X.#""[ :0[ M(!P80'<#J#6T1F;-NF2:S4^5O$?*2(,V\\7ZQHX&:T1IPGBC%?PJ8)R>+V19 MR5QD3/,,W6CX@!CI"LD56K!JC3Y G"LT1E]N+M'K5V_0*R1*]-=:;BM69M7I M1 ,&HVF2[N:[J.':H8 +@&PO(DP47Q*OQDJ?O$,5O M$0D(<0!:/'\X]L"AC4.IU4>''&J\MK)>6RE9(%APBFE1WM89*[3@3K?56D.W M5K.83ZH-2_G9"%9KQ=4='\U__05/@]]<)A])V8$#PL8!H4_[_!/4'E&FLN N M,^NQL1UK2LP=9$0XBT\G=_OX^U(S/$L:H0-<48,K\@;F//L'EE.=W5I""4IE MF8JE'& \E,GM4J^V.00LE5N(IPMKW(0E7PG]QN?9I =E'-&H@[P#=KIOC8 M$"BL$ED8?#_,@EG?LTEOZ3N$HG# NSAH62[PPCW?3U3@MDQ4-@.0[23J9# E M@<-*7^9.]+L9#ER-@VYJN*2B: #^'DGC%\%7ICD9R]5X6W'$JHJ[4WFG=1], M2+K+SB4T'<@.3%K$Q$^#:U;>\LIT"WMUTB*UE2,7;"ER6S/?VIH+5K$4*FTE MC)'N0KJ;\TB5]%C:#CW4]@G8R\+S\V>F'>TG%(V2?A@=POCV+(^I7FH!T2Z=#"E9], 2]95+LI]*OO,R D3;&@D?;E#@Q]CEQ3&C0 MQ=B7BN(AA"US8C]U-OD) $URUH2?IFK+6X\[03OH,0IQ+R<<1)M,\5"I;YD4 M^ZGT#PZDU-271UM=G#!=U!G0+DHGP0XYMV5/[*?//VV2NNNA$ZR#%O%>C'=@ M^U)C8C9%+K"D)4_B)\]/_ZLE=IE#^BP91M-NAKBD8CQD3DNF!+]HAR:@P%7/ M >WEZ)>RS[&T'3JAY6?B9;?Y]5:E:[-0@'=--#>%K98F$\WZ6M'"Q)8/ M5J?=%(?I%@6D&T:GV$"'05K^)'[^O*[KIFWL]SN'IIVH4];\HKH'#3O\#LI, MHEZA\N/XV4BU_$M^O)\>7GW;RFX:GI_$#L+&.,#=NN>2&PY:R]C$OPGOKKV5 M*!GLPG\,^ZA[Z&-I.W1"R_W$S_W[:T\K6&Y;]8@J+=-O3M,=/< TZO8I+JDH M'. ITC8!Q-\$7$@%8R ^D&EE!I2EN2I0+EGIA.I@?APF7:C>*7_6^VU_0/S] MP>>FXS+^7[[,0$52\^%W7LSI/I0$=!VXZ" M^K?GSRO1SZUUM+\A'^.$=FG5)1;2V6S F+8SH/[.X/UJQ5-+H,"L7-R:(YW4 M[N81A(F;$Y-!6YWF..@_#KM\XY+"% \8LW<8[V\23&0RGBJ[)Q O1>[H#V8! MZ9Y8N<3B@6T,;6F?^FE_,9A/3*,EOQ5E:5()P@0]MY#.=4Y=VVX2]S+))4;# M ;*G+=E3__;<:P(W6W4O^/[.FP0D[!*?2^S QD/P+4G3J;=3N=EN-KGM?1FP MLSDOS"40-6\Z2]/%0$K5-ZE0O9PG5M3;";RX?!U)VZ%+VF: ^IN!J^9LF@]S M"^WW "&)NSV 0XK$03 0M);;J9_;KTJ@;^B#A]$EO9NEJ'NP^MU>\G?<7^&117UFW:NH;](],P2*O8#^V I7! MNQBI+Z?I!RXV]UUU*K65AOZXY S(U O#[2DK]]& F:/XU8/X?4$L#!!0 M ( ,N*<%8D%-&$(@0 ,0) 8 >&PO=V]R:W-H965T&ULO59M;]LV$/XK!Q4H6L"S;"7MLL0VD#A=5@P9@J0OGVGI)!&E2(VDK+B_ M?G>DK#A=$FP8L"^V2-T]]]S=/B\1_\U MY$ZY;(3#M5%?9>'K97*20(&EZ)2_-?UO..3SCO%RHUSXA3[:9L<)Y)WSIAF< MB4$C=?P7]T,=#AQ.9L\X9(-#%GC'0('EI?!BM;"F!\O6A,8/(=7@3>2DYJ;< M>4MO)?GYU26ZW,HV5,B4<-$Y,G!ND7H"9Y,T'X N(E#V#- \@VNC?>W@@RZP M> R0$JN16K:G=I&]B'B)^12.YA/(9EGV M[1F.I1P#OZ[ZE&H..G@7A.3ETK MM7\_>SLQ=H'H\TCU]"_S:V- M,M4.KJSIVNCQ%H0NX*[;D(T45J*#-[[&$"V;G:U-TPJ]"ZOYV=L)](0H=6YL M:ZSP6-""&"O1"XO\//_E))O")T(87*&0SENYZ3Q!^P<.K35%EWM'@[JE Z@E MJ,T.#,6V9&> ZZ(4+_K:,++OK ;>X[=(I.,,!@MC54'3B8\C"^7(TX& 7)FN M +K6 .I2RNHK12ZHS -)54A70A^ J)MEC6>V;,1TGXK!8U&ZZ!X66 MWX,VJ4>4 ;65Y.K%AIC$9H0J8<6$7*SV(/C+O5J)_Z#ZO>'?EMC/ MQ8-\)U%?\%A?-&5?SF\=#51.>J1[2A"1**^=\]BP5CQ6!&4.Q06=9M6R>+1H M'J8T' GK6FB-!V?"P/]1?C^^')/[O^?DAU3MSVS:V_UOWO/ B*=O-MG?F M?F@CB2!P )SG[QS 7^RM>^\W6O?5;]NV\U^>;/I^]]G3I[[>Z*WR9W:G.WBR MLFZK>OCJUD_]SFG5T$O;]NGE^?DG3[?*=".OCV-/;2F*WNO+%=Y?3J MRY/KB\]>/Y+)77-[;]V33]YLN3YR=5HU=J:/L?[?Y;+?/Y M&/NK;>OI_]6>VSZ[.JGJP?=V*R\#!5O3\;_J-UF'[(7GYT=>N)07+HEN'HBH M?*UZ]?(+9_>5P];0&WZ@J=+;0)SI<%-N>P=/#;S7O[SES:CLJKHUZ\ZL3*VZ MOKJN:SMTO>G6U5O;FMIH_\73'L;#MY[6TO7YY>4]_5W%V5]1?U=_R>RY[V?S?:,T M?>9WJM9?GH"X>.WN],G+O__MXI/SS^^A_%FD_-E]O?^7E-_?]_>VU]7E6?7X M,:J__^WYY?G5Y]5;9[K:[%KX"=ZZL9V'%HUB >R:ZH>==O0MO?)NHZLZ-M1- MM3*=@DY46_D>?@ -T/L*NFV'1E<]M%9, _1FNVR^J:U2VA_:]N!.E]4;SK@ M%!S10+O]QK8MS&/?0?=GU77;0G^]=K7=[E1WJ'JG.J]JI@M?@LZ !)C$1MWI M:JEU5VD8" @# L\BZ:\&#TOG/4QTN\2'DXG=R B19%"CU3*\5N>OX8]KF=^O M@_&&%FVK^XUM<*8J+OL")F3J3:7:UM9 D:>W5LJXZDZU@\;6^,MNTM->=6NS;#6O4I>^>J^!4"+"P7KAX]:HI6F!(A@+G@];W9 N!,(Z M[ Q&UKXW6]Z_2(@_HT70O]4XV_NILG?:C>817H&VT ZFO@(R,@I'A!D/5J*V MKD&B?;6VMMF;MCVK?M[ _C4:-AQV,"SR:)A'SGH!NK<#8X5,"1_?PQ.?B498 M!":.WMG1[IX5W+!5APH8M36_(T,;UYSNE.L/1 ZOAM]IE #C@2;8+^@)/A+= MH0_3,:\P#\ [9\#S0"N(05SAG3-UW@3(;(0.D(%-(L*2,.(B!Y6WUAVP,ZH:>*YWV*$LZD^P-?#MMB=J8-3K M+2QMK:HG2-GE^><_W5;?7%^_I6\7GW\$.T.,Z'-^@QU EH.Y]^@5@68:>)ZU M=CWX7\?9+RB,U8HV'@B"-; .25+;J$N/R!5^;XRO6XM\(4N&4T>:CKW3%WQ! M C>WM,0&1\@!YM3=( 1$QFD&%T287Z(](#X5*R-+CGP90L!WI. MS(W*'8='64M;B\H:I6>/QH"^-798]JNAC0I]47F%6^]T/S@T/$G:LCD@&VS! M3T0V 4W4PMXY5F4.9("W%]X55H(ENH.Y*%K@0DM"&]P)'+ERO-&['9A@Z@MH M;RTN#>@YU(3:W.'O\([I@(K>HBE? J]K7VN8$/X.8F^9D<:_HH517>HVVVIIT&^ \8.E@37I@'99 MY$0#\I%6(([<-\D3S8E6CV: YL @)Q ;>@WZ3>2J1@-'9%LQO%E;C),P"B&5 MU9@[M)H-[\S0 >/TSBS+E0%20*P]KO?WH*;O8/WA,>P2-*WQH]"T5Z[Q/+T@ M/AVTAZFLM.F)_61DH"L;V24SKX]/ZXQV5G9(%$"Q4\L#=XJO96NJ[I1I ^^' M1<1>P-^#$3V^A]N[I]@,M0O*W5IS(YC]T(,NZJA;T2NT,:Q.SJK7PDCL$B)[ M'6$I',2K+;J*M4*ES.HIK2*/%YK:#DS$#KSL#NUU>V".184N:W)([']-3@V( M6&NB+&(?';@CH *L$P6M.TO^*?X@3:82D:CFI16#NK*HY/QG<=#_K__^+WHE M&H/-"D)%O5W"?#%<#,\Q;,3_753?A^7[XY/^/C%@^.E_JHO+Q;,7GV8_O%A< MO'C^P1/Y#IV>7&*G,AQD0(( LEU']<:X_ZN+3R>_77[RXH/IS=9$]4SB?7(Y M?AU6[^+Y^>3GYXL7EQ].T^LD$@]O\L]C%9&3[:LGKU"6/IJ\]FQQ=761?;O\ M]/+1]#TP).M9W,<0<8$:@):>1/:)Z*8_EZ3QOS3K>2N6./WR[/E%\?7\1=2< M'_!J^'JC_*;Z"KQ@B(K(5YR+JX-Q(6,,7APT1VT+KLLIN4'H^?B>?4URW,&Y M"#(!6O+%.;BH!S:#*'%[C!1#^$02M81M04)T(B33S2&J_S%Z6]-GR1-+_AVH M?*<)%2)3)R:O!C6,8"4V)9_(@EO#&"#,L PA834Q( '2N[5%)JG!P!J(0&,, M21-$]"/V0!YOBE$:BQX*.+\2:]#XH$G@*<[<#SMTKRL<+3>4=MF:M7AU7Y/G M9K8DZ/CO FPMZ)TV.RE!;+1F;'VO0 UJ-7W0%QPJBA>M(R1 MX9XBYZW0- O.DB%J(9IDWD8D#!M_C8TS!@W!"R_D??SZ,[*G1<<-?=P'HIY\ MP>86BUS<" BQARF^/\558?& %6@/"&,LN#T&N\*MBQ^/V/(\A[?)O-2 M8%OH7=T1@U>_0L"!75,LO";678ECEB02.!R\'P/3H-B)= 2!+\A%*"4!>4+] M*\2!J^O? QUO$/"@L"8^$2*#>-(*T@:C6XQQ@;$8M]&Z=1S(]R2#&-^BJPB! M5],09@+=JK1]"!DMTVI 0,41-@D?S O9D(1/M=X*#D9#R"[0EA2A:@+P-N!5 M6$0C6B+#&8X.&3,POF#.N-LP4Q700_C1#3FZ,\>MKQA3APERBD;#QQ:>?D]Q1EWY8 I\:Y4P!*_;>+7$.!"#VR!DP/'_@L@(TCB/F,P.!H%<<#M HU- M:!V'++9#@4%^Q[A4W$E9:[+1_2%PJ6N("[Z^OGU57=_>5._L#GR9[^U9=7EY MSB'!Y?GG-\7@C#,("'<6V:$.[) CEFNP+L(%K-^0<7, 6OP>5(41]?1%? M\ MU+J'U 5>#I'[H:I&/T'!1@9,) MMM$=CH)W-!$9E'3\M!MLQPS+/_0CQLQX2+! R:E4G&M&G7!6?4-K&$&(:!B\ M+F>=LU2NC3*!^X>_SSA^)7$[PQR/6X"PDWVI(/-9IIV#L6L8+,'*-^R/_0BF M(FUOX?JX@I(-@6>Z M]\ACF:YGYIN B8R'%S^QP9N,#8I\J'+N0*%?@L-7<\RSR,+$^_9OQD<3PSVR MYKGGFF44&40O,!7"4K 3Q%,6$?F*=DML! 5C(>PZ9!F]-(EYAIFA^11]- GL M?.Y2P[9@I",15:"YQQ\0(L35 :9ZKR-J/G6>V.0L\A7P?V0%TO:^B6C[Y)=% M$%-)' FG\^X:T(S(_[89:M1XNFW(:X-)D7,'4R92RM0KO.E\?VJZ4_X H=IL MTIC3O)Z3+TU8 ?"58#($0:/N<.04@?/5FM^)'VC -+5_@V<"C=YB!NV0,CC7 MS1U[J:-VNZQ='N]R\^C1P]XTY!+?T6M>XFY*;2"I9&G!\@T]YI]"> YL8ZN15@5!BAT99UR, M[\!L$=!5O=EB1*5+\2X;M[&QR1N3^1VM>@,%O+(]Q0+C\[-2(6$NL0R:,HK\F1;:4N!-W@&QBH=\DV9-KN*C' M_H":PRH!BD7 /J0,OU\DBZ)0OB-\X.ZTWH'$*T ME$TD3"8ZR;R70[=3IIFEH^$LJB@!E%6Q&X&8 =;2B7')9/5(5X^1>YX+>[<4 MA3'M,UTF7?"-5)U,H-0W"' Q),&&$;6(]QS)[L/7HL4*(@U1AS&GB! EJ2/V M3;80+(#;]1ZDB8-E5(-/.$^'=I^?F8UE@7#4 2&+I9N2.R.I^N;-"NA8833/4XPY5]NK /U@W,KX7&T5O3)9N?^Y\VE1RP8>X(M 0LJ>Q+FA;H(1A"Y]=3AT'4:*YT@LLB\ M@;]B^O\74]_K@&(]?A4(F\,0@5 H*KT5N0:_)R(U=A?JT):'G?(^]#\C&ER" MT1TF<^@J0<$1$R$=Q,@L:$T0R[ZEB$GH#TO^R"ED$CMY:]28=HBJ""6S^\#2 MD][_ Y+SF#XY&O/SW<993N"DP I9>AZ9B">(F,0-9YO(3AM^>]3]@^3D#@OR M6EH\C,,P&P24+3G6AH#J=X$8N]"_1J9@3:QZ*2-1;5Q28#5SR@U4][.H4=5A4XH"U/IH2,U0#E M:+"T2;'7FB4 U)$%! M)Y(UQV(J]IBE9(E#(S7R83F=%*I,C(7M-J6;8+A,)RCUFEB#M06$4X(?&U)1#"/I^1BP9W>!! M41^C:(N@2>G96>3ZK%A-GG)*QF0I@CR3 "VI$B$XI\)96;)J)M.300-$5JS- MIAFCF$./A %Q*>MQA=-)![FBR8J/F9B"P$39K!K*ZX9Q3_I)R3(-^(^)>F5N M*A4=^=G>P](3C%CN^I2K G123UNJ+[G,9S M-U2W-&7A%:TX49"A+B.6C$L=Z"JR5*/4O#Z(YMT(FT.W8NIJH2"Y>%R MGEF_@\=V #)UO>EL:]>'!))1T2FE]'5A0?.J^M!X4?SJ W+!&Y0>((] 8*XH M!QI;I6J(-&")&D!.$4I*>B&Q%5 M92IH%CGX[U=V$]91U<$#"!7OB5;0HN*#CUDMS\6GXA5:7!OHC3(;-R76BNB M1TIY!*6A5<>@($WL3$(%/Z[G9ME*AX"HCHNRT%C;78O0X?+!'@5O*\LQ+E+] MN!\YR0F&B06AH(!66D_.4- LJ(HL#,RU,R-J"T$,JH!VKYK9O;JU0]HNY@79 MDE#"FG9X3Z7=]#;9V)A,%"^CT3M\@E/IC@U9<@0E^?VHNHG.LU -0 #;J PE M).S0I^)4378 )A!-,45()%W'9."A/%0TDS4H*UW"P&6)Q; [5F3!4A@\FG*3 M T>&6*C$MB-1U'DY[GBM(!07WL4!EC$D8!8.CI+/UR.7JP#19I$BJF1ROHOJ M&UPY&HA<%*K%7@Y.9G2"8F[Q"_:>(C\* MD=4(VSNU!SG/S\#.6HU MTYR; *%3'OR#D IX72GJ#QUNA/=1+S MJJ'?V%!&VFN01CFEPH>_A&[R%;(Z MGGPC@<'4>NWTFLL14*7'0#D0!_/R>LT8[%K;M5.[#1>,]68K%6.AK4L>33"^ MN7*/2>,H:@J/TJ&[B:XFZ#A3Y]PIF('4:,H@5'*2%S69CL_=TZ >M#N=S;VX MJIZ\Z1I8/W2B;WD&1/8W,@E3@TV*KWZ4_+-OE6NBVQ,U=+1Z6.488/RH0+ @ M*U6-\NDE5 )&)>FV3^B=52UG%HFJZ-"*AB,P1(T(XM&6@PVK5'"8ZK(%@L&%@C4 ML8&)8&=%.BGVEW526JF%J G/(V>1IZRXJ3ZHD0?)[J M45;!%!3)<6!6JH@E85N",K!L;<=R$D?B#%0+6]EY'H4$#/!P*\XFFA)2?ZN=Y=]#PP\2FQK^F+Z"(,*H6( MA"%,*A%SZYN/A\<8M*-*E2BW66HSG!]#97 :E4'NBJ(3[QD*IBF?G=" .6>F_6;EI/"B%7!ZT&\+,.0$MLLZ#,/Y0!@7EF$K/I"$?A\;(:Y##%IZ,:,W M*$A%NQA/?M-:CF&&M.<)6H" SZFRF%I%'<"X&DXO 4\B.>"E @D4,\ON^JM6NK&4TJ!41DV^F!;U)HT[)9B]5ZCA+1IK"E\>[ MR&IXC\3BRT.6'353J.2^M:4D%OJBZ-53-.:YDC+*'B9+2X4K3)F EM[K=B5Z M)_H%(13(B,JY@[T\"3,0%*=;A(Q;F,2GUQEK/XZ![ 62#%J23]WM4-%BP MA:8SS'6"6&?GK2,O?Y"4_AF<) IH,?MKM"4?1EXH2Q: @&)EE)CVF%RQR)9W MPJ10,@$^$Y(")I?(00DML!F9"AA!6^)N)/%U/X*4=N;*S \I.8%Q^+#T#3Q<(,0L]+L)2TI(M"<@2R4-^*D M9)Q[56%Y#1G'PMG#Z=&X1Y<=J\VW :R:Y6&&4(!V H?E@D/19A.T[L4EJ#8($6W%+K,GZZQY,GS.?H MDE(M1PXYDD&UG3XEYQ;U+A_->\ %YH9ZPBC^T6R8,R''W%N\J(QK[U'C4E9; M]J?$=#]DB#&;9_D!JF6AZ?ARSI2HP>RM$#9X=,_**3/I8R'(L? /UH.4/OIC MNG"D\XKN)FKK?H=@D:+(3-I'2$Q,]-^C*R(2]N&*@EQFUA;>;B-B,YN"RBMQ MEQ .MGQJFV'(@O7Q5TE&SET,$_,[&!&$B$GE);TYOCC*G7P=+AC);YH)!3"Q M")NN%X"N^Z-[()4U64:G/&QI?%9CDT'=Q 9X7!C/5/)QX AR^'CCT>UMNNTH MQ)C'S!BTO:<,(]QSU6=QX?&D#[GR@?_:0W0GCE$$7/',P$#&188 5,IY\'7@E$(G[,CNMYLH0^7 M 67Q*(JC '"BUQT=<>9G2XZ?Q@A8I7P678^CY/!RN->KQ)J5REGFRIF@3WURC'R!I_A!*?]B1!HQ(.@,9*4:/#Y9:H!'<)&30 MY!A%G6Z7/1UXFX?W'\Q#R+&(,M@62\[N@>T?UJU%P'_TTL(=NM]UUB@_ M:PH/80JM@/7(9+2Q,*:W7:=;260D;G'!PNLFY!]3)B)/ 59$.A40!DLS_-T M^.U.IP.58FO#V5CE.K$P6/(XN"-+D&X7:D&CQ).I\'XQ$/" M80E^B"D7R5(D3DL!?[9)A0S\PV?G^WC+4GT^'W?=6\$E^?Q!@,8DJ>,_JUZ' M&W."&Q;O"/WK,D30U&-1%$HG1!9D9*:G*:B$B;.4<_(FD9L//J14'*;$_NP9 MN7%UU%GUDYPJ,>$2N(5 D9R1O.\$\9RW$@!=7/. H*:#G0EB)W,*W8O W7LW M(XX5#VOS$2X(3+E6 +I()<"MVDM<2_71R_R@?S3(.87AHLU0=X"6V7DM.)FL MH%PX(67/*KO$-%W%$,[=]5*G,EW"RJP61_DF>$":[I6CFPL?. ;AY>2]DI3\ MW)[1(L3"6*[(F_<"=GC-\4$JAJ*R3(>8R.V"-6_'E\E >"0%%3AN*&^58KK M9E'ATAZP6AQ14MX?''OE:V^+ZPXH;HIW'GSZ[#Q<=)!+3+S@@/8Q>JZ@79T< M?MKHL5A,!BWEY%WT9\D%U@Q;,IX&-D')2=94%(AKEM]K@&H@7R/PR_M1[=%!< M*DQ7'H4S9L+XQ44)T[M)O@H%36.=B"<5J=CS#2AJ&#:_I]O9S@Z2\\C+ZZM_ M#F#6+\\O/F&_F3C'3-Z_E9WUU4^$^?(U&O#6Z<55O$IC_EC[:;@)X3L^>O^$ M[^&XNOSD(V'#>\[#7\#3HZ\OJM? 67?D$;*"^U8W=,^/-'I^\;% SG0F-[[\ M%:D\M&__5-V ]T#P8="KA2 ;4@E-AT@:N\N!>E&P"G1/P[+B=)_JCOGX.(:R MG"RJZGA;RFFX#B.FYJ1BC6^ITO&&BG>D)/>A6HV/R@31,M.3SI3*5GC$'@6M M#1H=(0+P@)-U"5R[""<80]?>KNCOUJPM#U$ M$/1QHQ6(/3: YRL+WIE\P0'BG[%X^1]02P,$% @ RXIP5GU'A7MG!P MZ1, !D !X;"]W;W)K&ULK5C;;MLX$/T5PAL4 M#:#8EIS8;G,!TF8O!;;;HFF[S[0TMMA2I$I2<=*OWQE2HN5+TNYB7Q)+FAG. MG#ESD2[6VGRU)8!C]Y54]G)0.E>_'(UL7D+%[5#7H/#)4IN*.[PTJY&M#?#" M*U5RE(W'TU'%A1I<7?A[[\W5A6Z<% K>&V:;JN+FX15(O;XQ*AW= M&%U=U'P%M^ ^U>\-7HVBE4)4H*S0BAE87@ZNTY>O3DG>"WP6L+:]WXPB66C] ME2[>%)>#,3D$$G)'%CC^NX/7("490C>^M38'\4A2[/_NK/_F8\=8%MS":RW_ M%H4K+P?S 2M@R1OI/NCU']#&6*>K5AD]J(0*__E] MBT-/83Y^1"%K%3+O=SC(>WG#';^Z,'K-#$FC-?KA0_7:Z)Q0E)1;9_"I0#UW M=9U_:X05A-#%R*%!NCW*6^5703E[1#G-V%NM7&G9KZJ 8MO "#V)[F2=.Z^R M)RW>0#YDDS1AV3C+GK WB>%-O+W)?PLO*)\>5J9Z>&EKGL/E EOP=S!X.K9 M+^ET?/Z$:Z?1M=.GK/_(M:>5)T/6TV?/?IEGX\GYUCV]9+>U4(I_Y8;]*2KA MH(B"[Q2[;E9(+Y;. ]@)-R4NL ':] M,@!8F8YQ5;"ZO5UX"WA7H*SU&CFOA>/RL"_/R9EL?!Z?^.OT_)AAKT'+C*_P MG!5W$(]@M1$YD#E>UT;?"RQ+D ^,DC(Y?S&<8XE(2=$_!T3BCDMR$D,X2M/> MPT^W-\<)]J'%%^P-]#@'X["!^0XBU"KZ3>%IC K=*;X@6A2S35C-1<&X8[G4 MEL1KV5A$J=:.HD>]6EMWTCT%;M0)]L,A^XCX<"EUSKL,$6([P:VY]7VF8$V- M0AY3ZWRD!5MR81B&U< 6IH1<.CNW3&$;=URMQ$*"]UX4Y-)2<+J!V8S/K 6' M3MO.BX)P;G_S#8V"T\YP97GHH^0?SW/=*.\0IJK!XC?;H53@2EWX1 51!&(8 MV4(>S0>GD;AHC$4.'GV@*3!4J*CL25"M4" N[:XC:- 3Y'$^YF+@&#ODEAR M"F?N+M?TB-K9*84IV+>&&VQI)+?? M[1 1IK1#U+&F\9X$[P=2!2@*'ME9X -#4';UVS6.KIP("8J'A"46G9 ("U"= MX=8#14*XX_(C,/6N+0+)-F>@Q976Q1H)$:IWOV!;S(/FCGLD8ZUOS&BIY9SC M]UT1VG/2Q;5'&TAZ9O;S]=/QK$N1E\P[O( >>&N!N(<$5,!M8\*\P.H6H2\T M-254JY;KL29WR93@MO. SB%YH\PN1_L,[WJE?1G+Y$?_GWM'=6,Q2GO\J-AK M;LMX<<0FR20[8Q\-+R#B2PT#<.Q0PG;5TV1^EK%W?IKD#;*>QF> >5=T,IVQ MSUC]V&@PLE"?I:@M>YYBOSCQ@*W]ODFIN<."6@%K+"P;B5E:PGX,:9I,YS/V M>T>NO1.3[/04UX"3>EDR?Y$= ML[]@#Y$CEDZ2Z7CZ?^?RMJF1J$1)XHQ0X>T&<7Z<-3[]?O(C;_&U0H+9\A/S M.YDB-?VL(ZBZN7^ ";-9RC[ZEA@;\G9OW(E_]L.XG_2NQP+O(\G&TJ;N=6"5 M["45>1Z2D\=#_(9V0.N(S9.S-(W7;_8;F EMP@A:]AJK&MQG]M XZNVVW'N\6$9'+S&@. MFX"WSJ;E-JQC!_8,"I2&)^XJ#0Y>2C6QHU?[R''<\+WK[ M>V]>T5&;O3N6W([-S:#&>E]U-.1Y*1 ZFLIMOT,!XGA8 J.QKG<][*Z?2JN3 M0XTQ;-5[BUOBD43T\;BPB?H-OW6C&]L^7SO>KG4CBVZC M!UUE":+[4D)_!:2QZGWW[V3]1;2WS://E"D4L3YOF-@U_5'ZB4 C%C\74QH1 M/?3B/^I]?JFP\/Q')MJ<<9:&+S'Q;OR.=1T^WVS$PT>PMYAP@S MLP$SX<-2N'"Z]A]S%MHY7?F?)> *8D@ GR\U%D-[00?$KWM7_P!02P,$% M @ RXIP5M#,EBOZ P /0P !D !X;"]W;W)K&ULS5=1;]LV$/XKA!H4&R!8HB3+5F(;2-*NRX"V09MUS[1TMKE*I$M2<;Q? MOR-E*W+D>%DW8'L)Q>/==]_=D>?+9"/55[T",.2A*H6>>BMCUN=!H/,55$P/ MY!H$GBRDJIC!K5H&>JV %]?:"3WRY,E80S"9KMH3/8'Y=WRKK2?)*;GV$7S]#BY;+4[B_9-+KQR"-Y MK8VL=L;(H.*B6=G#+@\=@W'XC$&T,X@<[\:18_F&&3:;*+DARFHCFOUPH3IK M),>%+0:41>2^%66GR5A10' ($2+'E&>UY7D4G$=] /B Q]4D41M$)O+B- M.W9X\;\<=X.:'$>U+^A-R))_]6\HBZK(8^UD:MX(;T?3.IHVA.^1C),$TDVM9K9G86DTZNM!$NMSS-O?: M)P(;,]>$:;*0);90??[B2OS3]1()+4Y$NE_?*:DUN69*;;E8DLM*UL(\HN1Y M7=5-V'BD#/^CR<5>X0-&^-3XVG4^=&IOY#V(0JHF=VBH5WRM.^F.L#K#48]5 MY--TV)/2S(^RR%:^ ")8!3V-)!WW9&D?/@DIN9.&E8=,LFC8%?A1?' S,C_- MXO^H'0;@YF8RW<"$'N'AL# M6N5R*9R2<0&P;B'@ 6++_$ M*[I^L<43[[GG7DE=;XW]XC)$#X^YTNXFRKPOK@8#EV28"]+:U-Z)36^M^#*/!?VZ0Z5V=Y$<=0( M/LAUYEDP6%P78HT?T?]1O+>T&K0HJY0?\U^$Z^+(7# M>Z,^R]1G-]$\@A17HE3^@]G^AK4_4\9+C'+A%[;5WO%E!$GIO,EK96*02UW] MB\+:FBU8WDUH_!!<#=I$3FI.RD=OZ:TD M/;\(67AE5J]*AW#K')6!T"D\('D*#U(LI9+^Z7K@R19K#)(:]Z["'3V#&X_@ MG=$^<_"+3C'=!Q@0R9;IJ&%Z-SJ+^ :3/HSC'HR&H]$9O''K^3C@C;^[YQ7N MY#0N=]&5*T2"-Q&UB4.[P6CQ\D4\&[X^PWK2LIZ<0_\?K,_C3OOP==#P\L5\ M-!R_AD\9PKW)"Z&?(!,.4'NTF(+4W@ -#2N\U&M0K.Z Q@>8U4HF&$"WPF)F MV-!*)(PKT?5@F\DD([ - F'E#H2O]"$Q.4V"!.G'@\](;H5>D[8U.8SA"85U M0';CN'[N[_%+D?'(90=R101 V* ?X"39JM(332% M"M3(%Z 2SZL2)]\4.H*Q"-H0-TR,I:H'&CL^T-#.*)D*3[([H039@(_."#+B6LM_*DP!SEL1TL5YY+%$>\P&@V(-QS3[;;;V MDBLXN0P:"C1$M(T5*\07K^DM:W!,@X:&DOK8JB?.:=!O>';,=9Q1=;U07@_L MF*62:Q%&,H'GXDN#4(@GS@>'43HV$Y+;6NC#[_M%53$\\"DPZ-CFE'2"1PG> M*R5.">=RYP>/^#9Q#>^-4.7!OI;MR;#?DKRT30)3$\JBL&8C4Z(*?'Q*M:M+ ML50(,B^43"27MD=J!FPB3R5I UTJOJ6Q-#$X!KQKGZW4U2$=3KN-D"K GG*Y MQYBJ3'>Q9!XL;2GQJY,A6)6^M#O_JT8[Z/>Z0H1RIK;$J:!&/(A=+M)J'N!C MO:G:P$VH^;AVQUEOVN3;NR)8K&GQ ] E@336/5BC)F,J;! I1X$AF4ACUNU: MZFTGW!95:&ZJZ&=[Z42E-FK'/;.E64H[J_W_16.29C9'X/ 5 MG;28+REL?-H^I\^G\"EA#/?"991BF59#_R!]72<;M1]@-KGHK*:7\Y,#RRP] M73.KG%'%9-410$8TW?X.#>WFS)ZA<6<1T^ISN+=A^HI.'4O74,H)WV7W.^/( MT7'_LCYH#M],^\T1=(2<2I>84E<-?@)R^N-YX3M!G5=%COKP.)PBR/>R%[+T MS;5$VKMPS483%DQVGDZ&+)AV!',6S#J"&0LNCH#CCM:1T=YX/J:SUQ%1&HFE MK^X4Y(/S1YM_FLYF/\,GPZ/Q7'W%O7E\3./P_^$0H4=7<&MY_!7&AD8_2C<5 M_ DU3=./8)O"+58?]B&E5SJUEX4X3OB*7Q]%42'C,ZQ]#R!GJ_,L8W"S;0 M?E@N_@502P,$% @ RXIP5NKZMFXN! ' X !D !X;"]W;W)K&ULS5?;CMLV$/T50ED$"2!8HBZVO&L;V$N*%FB 139I MG[G2V&9#B0I)V;OY^@YULQQ?FJ9%L"^BAN0<#F?F#,G95JK/>@U@R%,N"CUW MUL:4EYZGTS7D3(]D"06.+*7*F4%1K3Q=*F!9K90++_#]L9CY+Q' K- M94$4+.?.-;V\B>S\>L(?'+9Z\$_L3AZE_&R%W[*YXUN#0$!J+ +#9@.W((0% M0C.^M)A.OZ15'/YWZ+_4>\>]/#(-MU+\R3.SGCN)0S)8LDJ8#W+[*[3[B2U> M*H6NOV3;S UPQ;321N:M,LHY+YJ6/;5^&"@D_@F%H%4(:KN;A6HK[YAABYF2 M6Z+L;$2S/_56:VTTCAANC<^C?;>-YE/&( M' ,BKU\E@1]>D7=?*EXBK0QA148$8$JOI<@(STLE-V!'M$L*5$PE\##0@-483<%,($82^.Y\VC)-+OQ1A'5,B,YX M[(C[CJQ2-2IFVS,PI0G8S=+LD5=&2RO*-ZSJ".RK1)!D0 M*SDDU3Y86BEE^5%:1$PF7J2BLNG#[:WD>'8TZ[A32H<4GIY9ZQBQ*8T&\B3Y M1Z4^64OV7-M2UYN!^>#Q)@HC!'6 M7UC;Z_,&L-#H/FSZ!<;M_SSPNQZ\M>.=O&CIESX3HUBA17MN9G]AH=@_H2_( M&[P(T ''L%1,#T_I?SG_V,W0&]S8L5BMZG>)C1"F7'-Y[WO[I\]U<^/?36_> M3>^96O%"X\F[1%5_-(D=HIJW2",86=;W_T=IL#+6OVM\OH&R$W!\*:7I!+M M_R!<_ U02P,$% @ RXIP5NNT;T"[!P 3QD !D !X;"]W;W)K&ULS5EM;]LX$OXKA-M;I(!J6Z^VVR1 DN[>95^+IKW# M?:0ERF8KB5J*BN/^^ITA98FRY"3H[2[NBR61G.&\/C.DSW="?JFVC"GRD&=% M=3'9*E6^F,MR6DU%R0J8287,J8)/N9E5I60TT41Y-O/F\VB64UY,+L_U MV'MY>2YJE?&"O9>DJO.5[2#;MCZE/Y7L+7 MK.62\)P5%1<%D2R]F%RY;ZX#7*\7_)NS766]$]1D+<07_+A-+B9S%(AE+%;( M@<+CGMVP+$-&(,;O#<])NR42VN\'[C]HW4&7-:W8C0^!I MNN17T2AMA7YODA8TF

;R#/-?>HQS?L7A*?-Y1Z7+;%E-AL91)R1*BZ .A2DF^KA7, R&$+R\V M))4B)PE/81TK8IA:,[5CK"!JRS05Q#ZOB$@)K2JF*D*+A&24)R[IAF%7<@=!B[02@9L22HR (GJ32OVG_V$ MZ&+YFDD=88\.'IX8AOCC'IE0V^#;!;V*8UG3S%BM\5[GK9!$\Z"C/O,VB_, 2)L$UG6D\)UH%UK<+WU[[ M?:< S[IH]KJ9<-&]0P,![4$7)J[CA1W/:!&8MAY#0K@Q]:W_/&Z)0YY3 F?NA]>T[ M;M1!X/=0U73WAU61?+ 5\8)I0/Y!O' :P<,.>VAQ*RA9.NBQ?G6UL2N-.HLQ MS]@#=,D5:XN@J7T$4J6LL=ZM]X269;;'2HOSGZ9W4U*!26LEY)ZDC1^ZY"(2 MI53B,+1F( ?K9]_?536?GWYWK49:?%29(Q() !&&6C7RVXX*K#S!; M7G>-, MT-E*.Z0 C(,N9,1D:U:PU*J&0=2%3!!TN_P&'I"D9-#4%UA$N6+Y$'/=<*2& MK@9QW?.(N ?&1[Z5=KBY_L)*D^6K(YGZDKA=U3_SHV[M5?(9#@8YBH[!F3:2 MZ(WB+2TVPSP]5>+\T&H*^#U/P,TCY6K2+-,9WL2GHR/! ,/!+I]KR:N$QX9F!XZ'&%=83"7[ MO>;29 PP9SU 8*J6!20 2+"#4RP^<3,\G^L%>TC30[<-6O9VF0Z40%> 3P5'WC^!Y1(X-'N8@UCC->4(KHR-[\;:"&T\E%W6CNVDD1_0U8#S&M:T?QCT@Y;(GY?BN3YH- MCV+/V59=XM&QU MM)+#2D$% U\:3^%&L=*JX2 ! _6#$M-)EVR](Q =#@QI$Y&]$R[6VP12%(7! M!6WZ&6OC[5!"]/% 'X&J2F,TA'".^J4TAH* EHJS.CG807+=4NA\01/J0FE4 M 4(M MW9E52#"T6M8)[1> O<%1!.[=($Z%' 9M#])OSN,:I6H*=L(8^TE08 MZ;076--:("WBL,!J^7_19S3)<&=RTNK-H4&VBOY+LG+\,+0-T^M%?2>, NMK M/E^=% Z81T[H>_W=_.ATZVZ5#S#R#H*Y$.86DJN]G5=C:'8ZUQ+ R*:+W)\P M&!K*Y%;G0$77&6ON7H&I\>__+@T=A6CWKPL2[?_#]9'9_4=:U!0Z+?=)8JCX M*VB?D@8K+*T!8H3N";E(CA#EN9*])A]84L<#UA53*F,(!5"XN=J:*Y):;84< M/^V?/! %T(?U5;<,_PSE7W>]7C^(JE-1U!:/7LU%D*CU'4.+^GVT!\F^,BD< MO',IS=$KVSM'408UH@9-I,*"; ?5E(Q=KLZL2^ZZ[V]'V MWX(K+3=_-?Q"Y8:#DS*6 NE\N@@G1)KK>_.A1*FOS-="*9'KURT#Z)>X M .93(=3A S=H_T.Y_ -02P,$% @ RXIP5E0R#)!0!P !18 !D !X M;"]W;W)K&ULO5AIC]LX$OTK!4]VD $R>++!?;(E'U6/5JT.\6!K[ MS652>OJ>Z\)=]C+ORY?#H4LRF0LW,*4L,#,W-A<>KW8Q=*65(@V;_J(HQ]M%<7IO):%?*C)5?EN;"K&ZG-\K(W[C4#=VJ1>1X87EV48B$_ M2?^E_&CQ-FREI"J7A5.F("OGE[WK\6<>WX18^2RGF3UYN!(%=%_!??:SMT-IR- M#FR8U!LF 7=4%%"^$EY<75BS),NK(8T?PE'#;H!3!3OED[>85=CGKVZM3)6G MUR)16OG5Q=!#*$\-DUK 310P.2!@/*%WIO"9HW\6J4PW!0R!IH4T:2#=3(Y* M?"63 4W'?9J,)I,C\J;M$:=!WO1Q1QSL.V.4<+)? @?&2U>*1%[VP'PG[;WL M7?W\T_CYZ/P(OI,6W\DQZ8]QP7$!9P/:DD$__W0V&4W/Z4-![\V]S&?2TOB4 M33I^T2>?2;HU>2F*%D!/FSWU<+NXK*RK1.$I@/@D$U.D M=(W@!Z5(X/E..B^\Y(<&5*WXK1$%72^LE%CN-Z!M3C7*^C\@_[WQ G7I=+9 ;FB@9'7,I,A_K"(KQ'A9NL:5[ ML ;0(;=N>NJULH!QW57POSB/%W\ &!LG7IFDXG%'3Y'G0B*_EWH53[N%=[^O M@\0:I-:F@%5_".*._YN]71X,VK#[C(4'#-FG9::2#.&A-0&&5T450,TD50[K M46A#)0MQ)TKEA0X(%[*05O >6QH+K.R*TCCI^B@(OD)B(@3MOZI"TG04>#'M MD_"U/H]2NL&2G E4BA4) $&YQOF+E)665A6)*J'*S';' [F8716 M+BHM+.5<9/2*QR(E:G!'$ R"'YHW"C9CZ[+\F;%(TSB1PZX4A/.'74;*H6F9 M_1?\8TS:W):ZN:^,_=0@:@.M/3P3 M6A2)9&-V<02Z!Q= 32)T A=P<%2..2"B*;%GO%+8+=C ,M\^R0QAF$MV M@+@72HN9EI0BVT$%KP3T?!O83C"UWFW01B=497WB&UDD&=K-;PCL4J.$QR+Q M6!?\0K&!Q,1LU58S$G-H94^H^:J!6S-W<"SX Y,XHT=YO$TX)R.;-X1<>T(? M% MWTPL%CN-AO!DJF4@!I@T'/BMRA5#:OJ+9OF7W]+QT)C^J70KO4!QF+%&)N+((T MV^F>ZNF]I3F1U@NF-I#&I,LE+R1:Y(4/,ZT6(KQT"'($)0DK:5$) /%R3=Z& M/2R_"< ?+&)A.A/WB(A8S@*7ZCRS08>=JK;V]O^OJ'5&#E4W)*11V?GL:'9^A:2[.EB3CBA'>LI-Q;)BTF'=CV)1 _H@DV)2.B8BAW/# ML6$GM(0I<:JKDU^3>4)$PD#<(T>1K74[!ET+G86Z MU58^9E@;5-/!B^D_.*H N:CR !Q5?299F)4AH$.$(07ZU;-P*[1F02CT.T38 MK>=/$+OK*KS7_RW<<"*DYR7_@#FBCLT'MG'([P$S'CR,=EZQ*3MYJVW*]^JQ MW.7 'O@ 6[J7K?B'_O\#+^QK'@ZMY]*P,W@Z&?'$R>[$29@XW9UX'B:>[TR, M?YW09\-\:D:>T+A_-IXT[_ON@H:=JSG$Q")<0#I4"[@HWM*UH^T=YW6\VELO MCQ>D[X1=*-0I+>?8RBU_CVR\=(POWI3AHF]FO#=Y>,RD@$-X >;G!FU]_<(* MVIO?J[\ 4$L#!!0 ( ,N*<%9QF08C P< %\6 9 >&PO=V]R:W-H M965TQ8 *=J6Y.0N]^'NBT00B]UGWQ<\VVCSQ:Z$<.RV MJ94]'ZV<6[\C?-2]^""7*TB;HF1H#Q5^0YZD72P>%SQ_V-UQVZ7',K7NGZ3UFYU?EH/F*56/"V M=A_TYE<1]9D1OU+7UO^R3:"=92-6MM;I)AX&@D:J\,]OHQT&!^;[#A3Q0.%Q M!T$>Y6ON^,69T1MFB!K!@R)V*W"2LJ'H'W^8%_GQ MZ2, +QX#8$2;34[9'RM!;LS9[XV2UZUE;U4I%*4J>U]SQ9X[$!!QD9UZ.GKK MU_GI3XRW;J6-_%M81G1+PY5C>A'U_GU-HFP2EY^4=/WB<@TU2AG ^%J$K0_" M.B-+)R+PA+T6"V',=AT-JE5K(9,TU!!LF/ JO[CVBO(--Y5-M[IY338D..TP[YJ MFVN@@07LBL--]+1+3JF;!GK;H-2:&W;#ZU:P9UF:Y6P-%OX\>QXM_RK0>^U[ MXTO84_*ZAJ=ON*SY=2T8VD10G[5(=K-5H#?!+,N2+,LBP)1=>I!(:>&A=VF= M^*.[]!EB>2!YT;H6J , 'PR("\U$LZ[UG1#PL%XL9.F-"]=5$B'@-%:[P$K+ M)L>39'8R[3R)2K8WGG<$*\C_QX+UVX+HGB.^/ABB67PP'(5@2-AF)F"D,%SN=_=A@OES2!'8CX!<\R5AQ A;;X_=_)YRMXVC:A@60'D:R.!&&*) ME1'K&N4. XCK#+#%'M.W#Q8?K8B\#?U,9D62S^9/A^P.JPQ"S0M:P2+70J@. M3O5(M/>KTE HHC2"AC'2=!^ +@[W^$76-60RA_BT,:!@$UBFM6)W7BML^F.P M?0RHG:S="GZBNH+(6 A)H=NYVU-&P#LB:&>*?K_BL0LL\O]O873:MZK7K2&K M$M6=0,D4-,[L$QXC,60YI5E,+F XGB>S;#8 ]3"3O;ECH4H&58H\W=HF>"N8,[0_\(]C<;'ZNL"SH/P)8$> M!F5XP!.W41A*5<0/%A:WPI32^LQ'0=K/,B&EU\+?'.N[)):):WU?H6&W*;8U M>5"F.H4_]67FAJ/78-I%4:>>WP'M"V3),0;7-10NJ=U059?6MJ)"S=N!."%M MMVB)%;FH76WA?2 M+%=<+2'X01C8I^, A1LB%KJN]<:^[/7[7O]_^IL^(#Q%>(E$YDO!?O&#WE/4 MN+Z+1R\_!N-WRS=<&O;93^K_?.@@!,YO'(,._!<3G:&&)<2X M7_\22Q_J3*"/=:_;+XKTY*A??0[B.N+G\VER-)O\U._GQ^ETR_O-H,/' Z'L M# XEHNNUW?8D3^>3W1H5[/GQ+)F>%%N MN%N=3/9JA .^U0T4.DF+[)L4*J 09EP4XZU"Q72(L0^F Y-.+*)^&+Z53>@D MSXITSAH,971GH-'0=[=6H57II?+37SF\P)0:K9X,>M>/&P:X6HC___FW_]?0R M?#3F) /L+ MK5VW( ']-^6+?P%02P,$% @ RXIP5KCJ",3D @ J@8 !D !X;"]W M;W)K&ULK97;;MLP#(9?17"W7A7Q(6E:M$F IMVP M710(VAVN%9N)AO8UPYD$9PJ'6=),HXKJ4PTFX2UA9M- M;(-:&5@XX9NJDJZ=@[:;:91&^X4GM2Z1%^+9I)9K> ;\62\*>4J@*C%?6 M" >K:727WLQ';!\,?BG8^(.QX$R6UK[PY'LQC1(6!!IR9(*DOS>X!ZT91#)> M=\RH#\F.A^,]_6O(G7)92@_W5O]6!9;3Z#H2!:QDH_');K[!+I]+YN56^_ 4 MF\XV&T)$X9?BG/Z&A7D1_.'F!%*X6XMP:=6C:A5 LMS21&PK-1G.]0\PZ5 M?8!*,_%(E-*++Z: XA@0DZY>7+87-\].$A\@'XAA>B&R),M.\(9]LL/ &_Z/ M9#O4Z'T4WY4;7\LGZ/\F]#0J30;B0YPX M/[O.DN&M^%$"[5:U-*W@JXST\T+R^0Z>^:%GS9ZY?0.GS)JN\]*C-*BDUJV@ MAX"JUK8%\ .QD Y5KFJ);-IO4 R.\P)'8"_0"B0E'.""1LXVZU+4LG66L'2F MFG"5B?LH,2\9>>PO'1"V +%L VB?$KPV4C/],ODL["KL[<5P"=*K6W^9 A1KO^)!>'*>P918YR+IV=JNH(0'5^U,R&%)?T)IB7%"7]#6$/J=; MGFDR*KI=I]@=02P,$ M% @ RXIP5K3XF4@\ P H < !D !X;"]W;W)K&ULK55M;],P$/XKIR AD*JF3<>81EMIZT#P83!MO'QVG4MBS;&#?5G7 M?\_92=,.1B4DOB3V^>ZYYUY\GF^LN_<5(L%CK8U?)!5193=N.7!6E14%0;J<-Z+$.Z1OS8WC73J@Y*I&XY4UX+!8)!?3\\N3H!\5OBO< M^(,UA$C6UMZ'S:=\D4P"(=0H*2 (_CW@"K4.0$SC9X^9#"Z#X>%ZA_XAQLZQ MK(7'E=4_5$[5(CE+(,="M)IN[>8C]O&\"7C2:A^_L.ET9Y,$9.O)UKTQ,ZB5 MZ?[BL<_#@<'9WPRRWB"+O#M'D>65(+&<.[L!%[09+2QBJ-&:R2D3BG)'CD\5 MV]%R9>M:$6>9/ B3P\H:4J9$(Q7Z>4KL(BBFLH>[[."RO\!-,[AFA,K#>Y-C M_A0@96X#P6Q'\#([BGB%<@RSZ0BR298=P9L- <\BWNQ_!=S!G3P/%^[,N6^$ MQ$7"E\*C>\!D^?+%]'3R[@C9DX'LR3'T?R=['&XZ'<-12'CYXBR;S-[!^[K1 M=ANTX*)TB)W^[O1KA0&G$68+E?# A^@P!V7( NY-Q=YTHZB"PK8.; &*!?B( ML@TWD@6%DNC\P ?0#,H=+XAYL5@Y'@*^P7B-#[WP9(*@SC/)\SVWK.O8 M0)AX(D7K<10 /#[C%(3#P%^1Y@"8OL<'=,)(A$9L.^Z\+3E%4#A;@U>/0QZ^ M1%>[W84/L7&_8KUF\:YG1T]B"NDR[(4X]^LM:"0*+-A0<@85C7[7<-BT3K*0 M.:^U*D489FS@^D EUQ.=5$+'95_:\1\U$A"Z8>^( T7X; GA#%ZM.M$'(956 MM'T][D.+67RVH*/>?2T,S^YXR.[YJ?"BF[8N9 WW?>90B&[ M6)A=KKS4UL<>ZEA-?TN<"EDA+E7)_J):D/;%/D2+G7;HC?MZ_-Q=3 ^F)J>P MC&^#YS!:0]T ':3#\W/13=V]>O=V70O''>*YG 6;3L9OWR3@NO>@VY!MX@Q> M6^*)'I<5/Z'H@@*?%Y9C[C?!P? H+W\!4$L#!!0 ( ,N*<%;7+XA$=@, M ),) 9 >&PO=V]R:W-H965T=)8HL:&V%C:E'S2D6F$8Z'9IW8UJ H@U.C MDCQ-/R:-D#I:S,+L?][QWZYY [Y[(2%B])_2-+5\^CLPA* MK$2GW WU7W";SP>/5Y"RX1?ZP38_C:#HK*-FZ\P,&JF'?W&WU6'/X2P]X)!O M'?+ >P@46%X))Q8S0ST8;\UH_B.D&KR9G-1^4[XYPZN2_=SB!I5P6,*U,&X# MWXW05@2]["QQC.^MDF*+M1RP\@-860Y?2;O:PI^ZQ/(A0,+$1G;YCMTR/XIX MA44,D^P$\C3/C^!-QFPG 6_ROV0[8$V?Q_+5 \XG*P:'YAM'C_+ON8 M7AQA.AV93H^AOY+I<:SW[\[R='(!61[#85S8F7VO$2ZI:87>\$DK$:Q0:,$1 MB.V)1 -]C09YHL%FQ4.J@#H#2Q*F](,K:;CLR%CHA07?.]"H#0@->(=%YRLQ MYD#2_C< -JVB#?:D$\]CL[[K&W>:/ M1\,C9Z<7%FIF(GS;(R/YN%*OT=A:MM"2E?[4OE2G8>M?+E@6GST0C!6!\^<#QP^$%\JRWD5A.D;ABPV-X4-?8@#X5H7RUHH?UH)Y=GT2H? '6W#,?,7VQ3/N99 ?D>:X))WL7)1-9A^< M$_-DASMSG!U?')^&B_;>?'BN?!5F+;EK*JS8-8U//T1@AB? ,'#4AFMW18ZS M#I\UOYK0> ->KXC<;N #C.^PQ6]02P,$% @ RXIP5@?Z@\>Y"@ E24 M !D !X;"]W;W)K&UL[5KY;]PV%OY7"/> ZBV MSCER&'"]]S1Z>:WT[_5*",-NUF55OSI:&;-Y?GI:YRNQYO6)VH@*=Q9*K[G!I5Z> MUALM>&$/K[GA2W$IS"^;3QI7IP.50JY%54M5,2T6KX[.H^>O4]IO-_PJ MQ77M?6>DR952O]/%^^+544@"B5+DABAP?'P5%Z(LB1#$^*.C>32PI(/^]Y[Z M.ZL[=+GBM;A0Y6^R,*M71[,C5H@%;TKS65W_)#I],J*7J[*V_]EUNS?+CEC> MU$:MN\.08"VK]I/?=';P#LS"6P[$W8'8RMTRLE*^X8:?O=3JFFG:#6KTQ:IJ M3T,X69%3+HW&78ESYNQ]58")W@;L4BQA;,-X5; ?A5IJOEG)G+V3%:]RR4OV MOFIC ,9\>6K FRB1OMT3+)SW,A[+L>;WAN7AUA#2JA?XJCLZ^ M_R::A"_NT"(=M$COHG[6RWZ/B'<3B9(3]CASL.^_F<5A\H)]60EVH=8;7FU9 M(4%(7C5&U*Q6"W/-M4#F? 4B;$3!KK9,F970-3,KK9KEBI%9RI)69%5(C00N MM\RH+A]H':E>%L@4<<)^$XR7M>H.L1Q,P4D[3B3WBNOB5K:T8:/55Y!C1N2K M2N;0BCPCRR/X0KZH&)B 6LH(QY9HM!G?7AAMASYU8 M-]L=%6Z@-$#H?[4"-'5K8Q <:[4E;M'T1EO#P[7U+-+=J'&\>Z)>JM**6>_*"1MPEI>J ;5^3Y]DVC*Q(OTP%HFI MQ:!+X)+6RM2GXWU9>&X#92V-:0/P4%8:SULK7C/(5UIOT0V^7&JQ;*,XUY+" MGU-J('RO9$5>HTSL?$AJX=X%KWC! _:VT;AA!292OU22I/@'#A5JC=)N5G8= M%Z(VD*;W/T+A20CD> SYA4\W7@A:*)N\=YAFGEFM9<@WC2]$[E(Q( M3B;CDY9J*2QB7*]$Y1MC'/L%\K$ T15*$&7A7KJ=#+5!5K".(*]3BU00_/21 M4*&SK'D).B4E,7$#@8VP[5B_:V"%;K6PUJ#L3]"M:E)Q\8N\$[3%>=P#+:L0V4MQTS-?B@J>:@&3%\ ?RE)NCXL;],^$UY5""35=\A;6H)6M M;_!K8^M-J^!54Q-^(2@1/"-D@E51A> 2"+:@XL#S7#7D8YA$R*^$+4AU414 M//064'D]A("L< .9O*6'=BEU1=TZ70[VBMAEBG@-Z78%P1U$LX O5 MZ]6'ALT,&UK<'K2&[(R4\XTT4-1:I)"FH:KG*+:J+N C=>U!8X>;-NW\^K88 M);$<,J1X/B#!4WW^4R"=!+6M>[=0LL3Z"NI2(]HO4D-*_R+V,V+_DB+YSPOE M%X%A\5O 5QQDX=Q?R>9!,@G9 ,5.CBB8)6YKG 0Q!-MEE(1ID*0SMXTXS&+V MHT:?P3[9O'@R\=,TF$]#;R&9!%D\.2#\/(CBU+^:AWM,LC0(YVY3F@73: +6 M%B$N*,&?3/ H"V9AZB^DP20Z9/4TB.<3[VJ:1GM,XC"(0J=/! ]F$7.]NP73 MUP+A+M@7?D/Q[(8@C4G$W\A"N;1(2>DP2R>>5=I.K]+2A=323#W'!-/ M$*'9H_/OQ]O1=>2/,!TY* ZFLXR=KPD]NJ:4*!0"T(A&UBYTZ+SOH"#,TKW5 M"+$Z9^6H*U=["U M7*(7:;0658[V&O6HYNT3#AH,AMW'\]2+F.-T\JSWV%7K,3/R&.R%3$SBL0&3 MB3,"!>!;6_%PK"]XKMDO'E0R#B[N%&&JE5WR.5BSM<:[V,>:QW[>!H3HGR?A*$Z0 M[5GH\.1@(4IC#^YFP6R>>6JV@-*JVROKZ13X.D99'*2A4_-BB,#=@W-4/Q>^ MRDQ!TU[QMLERONY8W0\RCU?,Z M>9I&J779NJYBY'WK42)FO7DM:/ZIN[X('??/ PL:L;J^JVTGD94CF5PO3OSL M3J]U(B(!)@!)??.0T64[L?<3ED6KMB]'HXGF$8V@ZI($1=)+712XQ!V-TS1U*C@+H6F(YAA[V$9)._TR(U%9 M,4YKL3^7H"+*#4SGMW#4MT=!DHPZEFRGA8DG:)RFL[_$GB\)6X]CQQJ9$DT= M_$Z"J0?&R734H/]/^/P1,'%[F?SO@(DH#.+41P7 1)B-8 +F3KR)Y'Z80!<> M9L[38#'QZAI09QHZ!KLXD>"L\R1P(G* YS(IKNE]6#,=*.J#W:CF?3;8?K\ M/TXX$R&+1C:*)KM6S.!+SVA/@Q,H56'B?#X)9A,O7# RA@_"B4[P@]^BW;"/JY PW20*]N-O:G M&/]YJZ/MM8/] SK[J+]]#'9+*\CMH/!GNK^G3H/[AY'WOC9N$/'T/;?M[Q U MP\.OP]"&9B>834?0AB8D31TP[4#/0'B*1F:ZOYP&&PO=V]R:W-H965TY-A:.G=D.A7^_L].FF8!.2-O$ ME]AGW_/XN?/+9;!2^L[DB!8>"B'-,,BM+<_#T*0Y%LP V.NN%_(J+YEEHX%6*]#.F]AN5S".$U5):T9A);6=,@P7?-/:O[X!?Y.#%=* MVMS 1YEA]CM!2&(;Q?%&\23>R7B)Z1%T.P<01W&\@Z_;9*#K^;K_+ ,U?^]Y M?G>KSDW)4AP&=&T,ZGL,1OOO.B?1Q0[UO49];Q?[7U"_FW\J>)' 9Z$2)F"N M1.7HS0',).V"6V5>)89GG&F.!EZG!MZ/B[K#)=A<588/H^[%FVFG M.=-+S,"J5T,GN.12NJ ;,F6L3\B?H'1?'.X23:IYZ?/8L#+!9(I;UP=ZH\W6 MOJ1-\(^>>0+Y@4P#NJM(7BD6">K-9>K\MX2.!=4"+X>J"F2J2NRB$O1"K\_% MQF\/^F=QRXI/6D;WM.W7WZK?$6+\%D-L2=^#SEG+..ZW_7I/U#_W?H2M6E @ MG5M7\0SX9>NRT(PV175UV1K^C8&PO=V]R:W-H965T M.VTR(SN6G.;11V8(A"0T%*$E2*O:OW[/"R^*DF6W>V?N MAS:V1 ('P'G^SCGPMUO;?G8KK;OB]W7=N._.5EVW^?K9,U>N]%JY"[O1#7RS ML.U:=?!KNWSF-JU6%;VTKI_-+B]?/%LKTYR]^98^^]B^^=;V76T:_;$M7+]> MJW;W5M=V^]W9],Q_\+-9KCK\X-F;;S=JJ6]U]\OF8PN_/0NC5&:M&V=L4[1Z M\=W9]?3KMU>7^ (]\4^CMR[YN<"ES*W]C+]\J+X[NT2*=*W+#H=0\,^=OM%U MC2,!'?^20<_"G/AB^K,?_3TM'A8S5T[?V/I74W6K[\Y>G1657JB^[GZVV[]J M6=!7.%YI:T?_+[;\[%?/SXJR=YU=R\M P=HT_*_Z738B>>'5Y8$79O+"C.CF MB8C*=ZI3;[YM[;9H\6D8#7^@I=+;0)QI\%1NNQ:^-?!>]^:63Z.PB^+6+!NS M,*5JNN*Z+&W?=*99%A]M;4JC7?'$__3TVV<=3(T#/"MEFK<\S>S ---9\7?; M="M7?-]4NLH'> 8T!\)GGO"WLZ,COM/E17$UG12SR]GLR'A782.N:+RK/[P1 M8ZOGL9^/CXV2];7;J%)_=P:BXW1[I\_>?/&7Z8O+;XY0_CQ0_OS8Z&\^MJ8I MS::&(P+B;VSC@-!*,=,W5?&/C6[IMU'*_ZRQBR_^\FIV>?5-\6FEBS(\J*MB M81H%@ZBZ8K:K.?%#[6=P_.WMNYI\$GQH8'C MQAD-/+==V;J&H]HV,/Q%<5W7,%ZGV]*N-ZK9%5VK&J=*I@M?@L& !%C$2MWI M8JYU4VB8" @# B\\Z4?.XJMP%E\=W:^WO8-/G(.M6L]Q^$/;_HAALAV^D:6& MO0,%7Z"-D'_7N)JCU-E[W0[6(=_ M!9Z%YV#I"R CH7! F'%@?TK;5DBT*Y;65EM3UQ?%KRM@I$H#YP$K^4T>3'/B MJB>@U!LP@R@=\.-G^,8E:LAO A-'[VSH="\R;EBK70$24YM_HV29MCK?J+;; M$3F\&VZC412- YK@O& D^)'H]F.8AGF%>0#>N0#A UI!'L,.;UI3IH\ 6:T& MRS[_#8PMCMOJ.T.&>VN #AYQK97K6UXAJ UC8=&-I !>[V_U V($NI;^%YO<$ YT%^ +>"WVXZH@5FOUW"LI2J>(&6S MRV]^N2U^N+[^2+]-OWD*7$%"X%)>A]-'=H=][]#7 _7<\SI+W7;@51YF?:^L M%@MB.B (]L"V2)):!X-R0*;Q]\JXLK;(D[)EN'2DZ= [7<:3).QC6TLL>( < M$ S=]$) 8-JJ;[WZX)?H#$A&1,)390!LJF@PV1H\?PCFF BLZBRS8'7M>NU+ @_!QD&JW0[_A4I4$R4/)AH@D>!.SMO\-* M]JS3)+)!Z=D$?/#R\SE;)?0PX,B45T1=#^L"CH9M0%W2U\A5P)!!A5E@YL#! MIW@:+X,^>7E4&_P$$=L'7NI'F ZT]QK6=+N"PQ]3+8\>+&B9?_04_YA29 =< M,]2[JD7+YY!;"T?HK%531PVX3QYH%N! M''JC"T?4 .URYI$&9&NM0#OPV"3>M"8Z3%H!6D:#C$E2X32H>A'S$FT]D6W% M!TF>Q6 4(SW2H)6Y0P>B8D;I&^#CKC7S?&> %- R#H__)[!8=\ .\#4P#3Q: MXH]"TU:UE>/E>6ENX'E8RD*;CJ1!9@:ZDIG;Z/'HP\NZH).5$Q)]E)W4?,># MXFO)GJH[96HOBGX3<13PP6%&A^_A\6XI_D5EAVI@J?DA6'W?@6IL:%A1&:@D6PK]D(WEF(&_$ >V9>(2#5OK?@6"XLZ MUWT=)OW_^N__HH.F,8HO( ;7ZSFL%^-P_SW&X_B_:?&3W[Z'+_JGR(#^H_\I MIK/)\]3Z:O7SUZ(3^B_Y=*[+X,>QF0>(A,Z4&],1S_:OIR[[/9B]>/ MIC?9$]4QB7>QZ\FKV>/I^E=%(G[#_G7H8I(R7;%D[*5G/XCGZX!/4 #SI2&2?B&[ZQ^TVQ#/A;7BY!4[^^!*]]QZ88I7Z+@;N/9DFJ MY\ :2(B.A)SBK;T.V_3ZZ"*O/4SSR M^F+]2[!(B(WCH^2M6O#P&'*&C?&JS)IV' M_T[ [0 57,?0)5T_QCU)A&8:\,.[G@U\ U\UA!_ >ZUC0\XH&O+!A/E$A<@D MWPY@&W@["\H@5H)HE6P&K$DCZ !C(=8+Q@+6D0:2'K00P&R,=HAHP#GZV%H$ M1EP$1# PXQ@LA$(8+K7V=P')V&'U9*-?9^UG@>_0P&V!..]?4B1O&<+%,T4! M6*"7(NA; OCZ.)]%#(%:?/@]/GR*G$PO8S[B\CB3^]"4#^-$P?G#@R86 ^3& MHG.-<<@]@7)ZDF.G2&%(P"\Y"I!PD4)Q?ZK H\0 M?L4H]S.^32Y !L6B!WQ'DE?\"V)4')K@DR7)U$*+K@5*TD4(:[!$&;$)_&S>+W$\X=;!D"FPI#G(73!+^A M_T!3GR3(26)Q>E3FWML6G*^FN$$(M2EWQ2=$96OBSU$1?OQPT0J. W?"[Z*] M\>'IRV](%="0KI^#Z!C5FBQ#U,D$&8H!@4\4GQRI0Q1[A< 7HU@3(L,KB''< M;W0RB/^]M]IZ9#4,C8 H YX)9NACZ9M^W>..P*!=LCNJ^JWWSE&0 4!QBWI0@6(@H!9E%_)>*@P+H1YLR1KFU0AE$$$ *R-F5GAU2 MS'\)EEBX@%4NRE*:PA%W&;5SR!NX#!8!/NKJ)#>($P:&"9-B-B,F-4B=$[B! MX6(='R,%398>+36X9:2(^J84D?4/3@J(3<"/:'<'(6A:B$Q*9F=_&'R.&98_ MZ :,F?"0(-J2'BVX#@35U$7Q ^UAP*Z"K7(Z7W7*4JF"3 3N2W?,D?A>X!Y& MQT[; '^27:ZSTU6>I,QF49G-C@,\,$4UPI9M\0_97\@3L'I'IX#C39["X[$E;P^W.:#\4_J^@;E>?"U"7$5 MF&,W(=,CN;V%KB00@-40\U)Z(H\S[A^=&* "S>LHM0&RM :]3:,"&S>?D>T3 M1U^BP277$]A0K3#FSG>)U:\H#A'6-V@BRI ?&[P\U[4!Y0Z/=:@591PK<24^ MD88)Z2%@=O+>S3_&OK&V97JT .5-9*4/D95&^?81X^25'ZIM=P2HQ)S78HR1 M)PGXM4"5;@T.@,6P:!9@G-/9+N M@'O(#IS$:K$8:7J\8NB#3\N-LM>)[P:6"I],O,J2[+1(/7.7 <.%NL!6?8D& M2=<5^?FPJ10.P);35N2U)?!FZ[ISTYSS#[;O1JMBN([%<8:W\B< WC5L)B66 M4(^VY$:#NUZ;?Q,_TH0G;6VL+9H>KPKZ)SB?,-%'3/7O8JKYNKJCV&ATP__0 MB.$8Y+E-\EP**/'C(3(%CJTHM+NCUYS@:Y35Q0TD]PS M10*5*D<)$)*0T2J:BV3:-/F.$@1>6MD/(RI0I@I!^G-<:Q! +MIJM3YV&C%7 M/CV>W[ZUBVZ+*WT'EKJV3-T-5@:-GL%C!PL[OT ,9VWJFJH.0$Z0C\&FU+M0 M8C= XQSK(;1P/:[Y)U@;%N ,=PK?QW3 ]#B:/P*MG?^(DO8))&UT ML__ >,?0[\3B,N#&$8P8"<%:R#DD]*F*R!K5FHBC3=YF9JVE(""UU\$J/\!H M8U$= 0_@[<2".#J&/%"_+$]+"7K;A*B8X],-0I^IK7PJ$L02Y, M^\B0)^GPF+.9'L^W_""%GL47:KU!7R04"S'.-,K.IPXYR )^P(0$([7L?:)1 M8H'/-WYF5 M99^''J?GOKI$CL0 \BD+PGXAL$H L+[A^2AI0@-0)BB/!5*//];0?E@ '0L$ M.7F)H5S(=LHCXHB=<3ZE-&W9KS$Y5&)\N=7)TGE9(0@;7?N?MY8.4X@X$AP) MN(ER)GY=J+9A!E$GC@;LFT9CO;)JD]*3_\KR_R^6OM4>W#]]%RAE@9@ @?/4 MF2/J!IS[ &#;C:\FG^\VRCD__HAH<#%CL]M;0U-(UA)Q65*-G$D#90[:HJL) M(A'Z_9:?N(1$8O?>&CQ,)T1-"5*4=,_6DSEZ@.2<,B;#+VY\V+#*/4C;LT)2 M689,Q M$7/2&"R7(I3'\]F#X>\E)G4SDM;AY"+Q@(0-0-F>\;]F0YT\'Z\?7 MR!1L(%0GS0"3M.HU"%)"45AR5M1#(^2DQI-^=[#"_Y _=972UP(01Y%H\A6 M)-Y@&9C^I3&33$A0POO-*SZ"%54$QSW7C5X@>^U3S\[/G=%;S0!&(A)4 MLI)8@G@&F5& #RI34FK5Z_L1L60XDR=%?8RB+8(F1=P7@>N3LF_YEC/5)LF< MI@E6>)**Z+S/+)R5%!>,), 3_(W("JU>M&(42;?7>$03?KFG7IF;_0PE#/F!FW.K!=+ 4K.<6)RGQL>)P(T?.!13#D4C7S%.I!\43XW OZJ3V M8=

LG22@]):*8Q>*6V?$ZE+&4YE@4\8AA@E+,OY2X3L!38MFD7M#S,X=> MTK:" E!V+,<,:#+GC^1;]Q/,' N>^G1H59'P#B$]^M;KOZ27 Z$G(&\G*75Q MX-:*TLYI_9]I.*QES85U%4E^_Z3SC#4.L^-%"3]+)\S/[*$<*FUX^"BC>850 M0Q#Q[Q3:2,O#[N!KV\.&Z7+5V-HN=Q$>IYX6JDO3F5N1-@SZAR?9I\XC7\PJ M\0L4G$YCE@=Q1TA]YO18^XW%O;ICC M11"F1,H[^%;!?L1^*9'(/[ZS*[^/JO1ND6^HB[2":9' 9,AJ:=U6K,"DS;6> MWJ ]PJ&$@D?M,7\II:.2)=4P\$X+NY#XR0W;Q5C*8W\SU653Q1*VCI4B_KA] M<$;>!4V*/R:Q/J5$IU>, MG%Y9VSX>%_."'(EO28DGO*7.,7J;'(]0Y2&N5Z4W^ TNI3DT9&*6215])@8XF)ZR3WEY/- 5:/IU^':HT=GF_]$B^,J^*]!/GY7C] MYE!!'DNA=_/R0_8^6LYUV<8![B)&9A[SVZ=#]2N?(0 M?Q(^HTJFB"2KU,2=HXG(;Z/RXU!=>63:04LZNGZXF$&#YMCF9SY[[ L7@? J M(]%7HX=P<: Z'X5RXW.FP$,5@>%T]8IO=Y>.;"I=0LU:!\-%"M$KDXOBUH^5 M"'2:,HEA,,5& ZOACW??'J30^"1IUN7$U/@*I(M\D+3A;-G"5T]^(C<%W"(BH?'AI'^%-$H3 M+/>U"]WD*R0UG^E! H.IY;+52ZX30Y4>T -/'*S+Z24#TTMMEZW:K+BXN#-K MJ2[VS[;1H_'&-U7NH70FB)K"6P+0!T?_&W2<*5/N%"!%&@UD$JH%3 M@3<.7 M%=&D#K3[3Q8T\_2J>/*AJ6#_,+*XY140V3_((DP)-BF\^C0"$']5;17C$C J.A?!:]LK3%6EU+M-BJJUF_A*@"_#N^QK M3%!5 PV$J;:V@;7(I(0@?]8[KGS?HY[/?ZU^LTF1RQY!(=$+?K:M\<0\16Y M$AY,DO;/K,U$C+#+#+;+ U^3WCB ( SJ%E]+W^BE[8SR12!@#.:@&5DTXF:P M:0T2'M)Z-MLPL$"@C@TL! ?+4G]AO&20W$I-1#TXJ>1:"%:PR%Z+/2]4PB^3 M4%Z6593OC!^9,-V3$3>93!@GO@@2M!UA:20M ]Z(2)!?!(;9I.<$R/5Z4.B9X' M)CXG]C5=%EWX2:5"G("5O1+QU/JF\V%;HFZI1B[(;9*&]OW@J S.@S)(75&4 M8VJ=ES$-LQC#FL0L^^HWHK6Y9QP-:[+4?'5=J#IG=XR"]B2(&QC58/);O:"L M#W5G;W%I*$-4/!R5Y. T@44CV!EV9Z,ZC/$9OY0P&+,#"9(<#S#H+SK)Z'OZ MYAJJAXBXQ)@S&!AEO]-]R#AQ_ $+S76WQ:6BW^8#RQA9SO72-$W6G]/H+68X M,(%.KBW^(+*2.( $9S/X3^?-RDGAY73@]*#?YK'9/2PS&=!/YSQA7%Z+3W&# M,?I];(2X0-QKZUBN%B&]G((,\0SC] "!'RMRAMO5- !##9R))-% M,?T&;'BEJ?BXL:D[@+PW\3R%[(CW'458Q""_;XM2;?(B^J+HU5,TYKB>/,@> M9I!SA2M,&8&6SNEZ(7HG^ 4^%$B(2KF#O3QR+,$V&';71F/DE*NK'4\ M#[H70#9H0;K89XN*!HLBT73ZM>[!^,G]*8&7'R6E?P8GB0*:C'X:;,GCR//] M(@(04*R,$E,?DBL6V?RZNQA*1L!GCR2/R45R4$(S;$:6 D;0YK@;27S9#2"G M<7=9\LC!(X0GUM+/#':;#?X I,P KKT-)A_OH.U-%1AV6CO!L?AR$UJXOZ61 M66GT_KD8$6A.RV;*&W%2,LZ=*K#FB(QCYNSA\FA>N8?)SYGBUPA3P+Y-$M)P MJV!7\&)8_ZO,A1WG09.Q /*ZN):@67%NS2X6&&4(!V HOIM$/19@.\YV4X*% M8($:W%+;)OQTQ),GS.?@EE*!2PHYDD&UC3XGYQ;U+O>7W^,"\X-ZCU'U!L)./&,N5'I0JC<;+VL2Z^ M!T_?0])X\UVWVY#^#3@^PR@1(0A?S+4 ,\@B*![1+0L6Q3R[PXF7.QKG#EU,??SM\:O,DR''43:,2Y$)FZ]VZ,KGY2-Z9DT*^85A.#)@E1A M(:>CON@['=O_Q0'Q-SFHMA&SB\6Q?7O@9.(5BC6HV7"/@K2.;@UXO5LQ.F52 MW$WXST5Q[#ACO^7L>,_D+=U.^I94^TUR.^GHV3YNJ-$S1=PNN>GAG+I/[[2_ MS=)0]SEN\:96XL=JV":[T^'V7^V_$?(I4GZ:5P 'SI(.)X(!R7< MFNFH+UW2 \^\&SMM^):*K174FCN)/' J*3_W=?'.WX_HG?1P2_]_/1-W[!1B M9^;L> OEIY8NK]@QUXV>P$,&B,+A/Q8!"'W@@K5*=^4%7ZM+#;2AJW(D>TA- MS*B5_+ XAM=DH.,V?($2C('IYJR0"[1LS^$K9U?"Y2N92#)C@(65I[GNB4CC M!-+>>C+YVT/!!Y?#>Y"'1CPJ/[&+6W].UY>2R(B7%,F-G1IL0ZOBY:G?<0][@W['9 M22U?L)2Q%90"(MCS>GA78=_X4B>D,V"0-*,G_:$D8E?_6 M1G9#%"$:X9JHE\\O_=U0J<2$.Z'H'$-,"9:ME1;2E1Z*Q=ZDN9Q\"I$F!:>: M$PJ,=(-#H.1VB5BNBWN67@6%VB_=(XB8NT%5V;(WO$@4))U5RGBC7"J/<8X= MS:3(_XA!=E:#RNF\O/' 00["&>\9L!,\PN1X.53VETSH1DW?J2N,G]TM=9(E MC_VYL^/-M/X.L.^E7'%4\SYLB&%?[K$_+!6K_J^.E^MCZSK5MG\ 4PL[F/Y- MJ=8VMI?$ZOA?EOJ3QD[[%O_6@^L[NYR^X-";!,SLO7\K N"*7RAIQ1>TP5OG MTZMP2=OXC4#G_D*K'_D&I2=\P]O5[,53D=;B\%5"4_CVX.N3XAT(X!U%;VP' M_JHKNM12'GHU_4IR9G0[1GCY>[(,Z/W\334]WC#&MR%<302:E?X6:@VL[";- M-(H=4J"B*U8IK>YB-PG?O(-8'&>[BS+IP]]DGLB5; M7V[+#9!> YG]ZU"H%D?A[42HCVIO^!#CA&@U&F$OW!/?5T%_S-]U_S'Z>+C_#?^_LX-B$6M%_#J MY<5+"'5:_K-Y_$MG-_2GZN:V@VB??EQI!=H1'X#O%Q8""/D%)PA_O/#-?P!0 M2P,$% @ RXIP5DH]?C&ULU59;3]LP%/XK5C:A(54D<0NTT%:BL&F3!D)T&]JCZYPV%HZ= MV0YE_W['3IJ6RPIC>]E+'!^?RW=N/AXNM;FQ.8 C=X54=A3ESI5'<6QY#@6S M>[H$A2=S;0KF<&L6L2T-L"P(%3*F27(0%TRH:#P,M$LS'NK*2:'@TA!;%04S M/R<@]7(4I=&*<"46N?.$>#PLV0*FX+Z6EP9W<:LE$P4H*[0B!N:CZ"0]FO0\ M?V#X)F!I-_Z)]V2F]8W??,I&4>(!@03NO :&RRV<@I1>$<+XT>B,6I->B\SEHZ@?D0SFK)+N2B\_0N//OM?'M;3A2Y8-;Q(17EFG MBT88$11"U2N[:^+P$@':"-" NS844)XQQ\9#HY?$>&[4YG^"JT$:P0GEDS)U M!D\%RKGQM$X&T7,R%0LEYH(SY<@)Y[I23J@%N=12< &6O/O"9A+L[C!V:-B+ MQ[PQ,JF-T-\822DYU\KEEKQ7&63W%<2(N(5-5[ G=*O&,^![I)MV"$THW:*O MVX:A&_1U_SH,3WE?Z^X]K=NWU9$M&8=1A'UCP=Q"--YYDQXDQUN0]UKDO6W: MQU-LTZR2X*$;X%IQ(04+%8\4EP-150&&.6TL82K#DE4:"ZDF-"Q8UX+7IT)6 M#C)2 G9NS@P0KHNR?_Z3D8A7FHS\VQ:9\0L M9-AGNU*;E 8"DU)SY@E.DY(9AW5?LM $%GAEA/.WP4/]W?3P$8T>#%Z-=R,F MS-40_?7C,2&QP/(.Y9EKF8%Y# >CE_:31^1^9T!?C^ELW3K/)_DZ# 0?Z%NL MBP7<@XVWZ<3WW.XCL5ZGVTTW=O20OAC?,R8QG++*?!Z9Q2&,?'A=(*!Y:$ M6[\>HBVU?8* /MPVS\"U!+ P04 " #+BG!6[U2F;'@# #R" M&0 'AL+W=O@R;J'80^T=+:(4J1*4G'RW^](V:I3V^H>]B*1U-W'[X[? M\33=*/W5%(@6GDLAS2PHK*VNHLAD!9;,]%2%DKZLE"Z9I:E>1Z;2R'+O5(HH MZ?='4:9E&+DO,2I>%*@L;5++B.KQ9#9^\-OG#*/$7SRWQ2R8!)#C MBM7"?E:;7W$;CR>8*6'\$S:-[:@?0%8;J\JM,S$HN6S>['F;ASV'R2F'9.N0 M>-[-1I[E+;-L/M5J ]I9$YH;^%"]-Y'CTAW*@]7TE9.?G5]GWVINN,_0^2-; M"C07< EWTJ)V^82/6M552 M9;QI9VM'Y1=D6?=&@)R?0XP0^*6D+ [_('//7 M !%1;?DF.[Z+I!/Q%K,>I'$(23]).O#2-O[4XZ4G\!:UH15C8#\1?_]&:W!G ML33_' NZ@1P(3 A5,9< .88Z6[8MV\F23]]#S][GW,)ME"U83(GI9PRNV&F M:"=GD(9I,H1'S7*BF66JEM9026?(GYSD#MSC<#),X ];H*8BT!JE!68,DM>/ MINEH#%]0YDH3H&C"+WAEX#SN]P:7+\@T;'QM8@[L"35=-5 ;7-4"!%_A80QQ M'(XF8_BH5+[A0ASN&":# >EE&T;%7GP,E!!0KQ@+SI9YCH8XA4+]**\DQ M'<$-W61_FS=_ )Z;77!H0N"+7?F],&M)-AVTF5E6^JRV5I1[IAP7] ME*!V!O1]I93=3=P&[6_._%]02P,$% @ RXIP5H7K>-.: P 9 L !D M !X;"]W;W)K&ULS59M;]LV$/XKA#H4+2!$(O5B M*;4-V.G6=4"WH,G6S[1TMM5*I$M2<;I?OZ-D*W+D: 'ZH?TBBD?>@M@R'U5"CUSML;L+CU/9UNHN+Z0.Q"XLI:JX@:G:N/IG0*>-TI5Z3'? MC[V*%\*93QO9M9I/96W*0L"U(KJN*JZ^+:&4^YE#G:/@8['9&BOPYM,=W\ - MF+]WUPIG7H>2%Q4(74A!%*QGSH)>+F.[O]GP3P%[W?LG-I*5E%_LY'T^E 5HAWY_2$//87$?T*! M'118XW=KJ/'R+3=\/E5R3Y3=C6CVIPFUT4;G"F%)N3$*5PO4,_-W4N;[HBP) M%SGYRVQ!D??"<+$I5B60A=9@-'EURW&F7T\]@R:MHI<=X)17D4-^"N"AKYW#[.CPDHTBOH7L@@34) MU1ZE2[WC& +@O#9YM_1=TP3E_W0WOL M!>M[D;AI'(SP%G6\1<_E33:55G25IETBP)QC<1SRN2Q^[[C0UNNGLW0JRE-FJR8$(7L%@1Q@G UD\A ]] M2FZEX>6I)RF+^@*7!2=5E;IQ&OP@XNC/1ASUW2CR^P+7GZ2]>>J&$SK&5433 M,\0,18CZF"N*QN+TQ#BEI\;3R!^Y .+N HC'+P#LJ?(:WQ6D!+0IJB:AZ]K4 M"F^A?E[A'MLN#>>N"L*??)3&K3^W9+ ^'NJ2NLDDLJ)P*(J&HG@H&IZ7=ND6 MPP*^-AA>+DQY;'O MZS2'@NJQ+$'@R%JJ@AKLJHVO2P4TS!8 D!A]18!(J_6S@#SBT0TOC=8'IM M2.O8;3^@?W:Y8RXKJN%,\AN6F7SAS3R2P9I6W%S)[1=H\G$$4\FU^Y)M,S?P M2%II(XO&&1D43-1_>M>LPSX.4>,0.=YU(,?R(S5T.5=R2Y2=C6BVX5)UWDB. M"5N4:Z-PE*&?6;HJ',CU0:6!G&B-,J B(^> F9)S1E>,,W-/WGVC*P[Z_=PW M&-2Z^FD3X+0.$+T0((S(A10FU^23R"!["N CVY9R]$#Y-!I$_ CIF,3AB$1! M% W@Q>T2Q XO_J+!G4+WO+MJS )/@RPGK2L M)T/HRVOG?5&X=@0&V(D4=W,J,U,N]3<',@(=RGR)D4&>E>2 MPS3>OII%0?R!_*__3Z"*@%5*;PCK#L4*E*O]2_Y6$[N,(3FC.BHO^B*? 'K&/. 94T4LT'A^1>UQ!W1N9CL-FI(>< M,9W*2AB"/&$'Y/3-H'% R]-6R].]M8PRKE1=!^SMI=!A\(MA0"RBM3\1EQ/1 M%I2M,!:2X\VEC_>6,'H_5C.))M8P>2S$)+"&:<D%' M\2S&,TLC45:4E7%R1)& -KW)[Z9)\IY\DX;R0?F'HUG8I_'\?_X<8807EU* MBBJEX"3QZL19_\PY'T5&R+_U=\O0[]V4!:N->!9JX75!?G:VU M?7B/C"92= M@.-K*.Y'0GY!>U M =#DL>"EFED;K:LKQU'9!@JJ+D4%)8ZLA"RH1E&N'55)H'FC5'#'=]W8*2@K MK?FTZ;N3\ZFH-6@:[D'_7MU) ME)P>)6<%E(J)DDA8S:QK[VJ1F/G-A#\8[-3@GYA(ED)\,<*O^,'A2L;%OZV*W#0"%]2<'O%/S&[]90 MX^4MU70^E6)'I)F-:.:G";711N=8:3;E7DL<9:BGYPO*:9D!N6\8< N:,D[. M'^B2@[J8.AI-F(E.UL$M6CC_!3C/)Y]$J3>*?"QSR)\#..A;[Z"_=W#ACR+> M0G9) L\FONO[(WA!'W#0X 6O"/A4G"U*>!K%I,J5JF@&,PMS08'<@C5__\Z+ MW0\C/H:]C^$8^OP>4R^O.1"Q(O"U9A5F@2:TS D'9.!&\)RPHI)B"V9$G?)_ MW,+[=ZGO!A_(6[6XBU L038[.=JY;\UVFX]'/O8KL!\[([Z=^.XS.?83VG>'8:I@,IB?TCF,2.XJB7(MMW M(X15"JM/5A'.3 ]I/@XLCD M&0GLR(L&LF=/@K%4B7H:1C],0_1?U&8UT'-@6U,?R$^$BW)--,C")B7H4S0< MM_#6-'Q[&K_4'NC]_<-B3T9L76*[IX7#N0D_2>ED5R(^UR(7Y\+%7UJ(FMR.,MDC<'#(]Z7%)RL MR>,F_K_D/I#Y0=(GV_,B>N(<]O/YN(?N!B1TF!\74#N)@ MA"5X%-MQ],Q0$&(%/4JX$7(D/3F2UY"C+_1";W#E,H&G"6S,178+6#+526Z, M6_BON?%OGN?['KQ5XYVY[.I(]D2TI*7BW;&8_X45[_D!?$;.\9SW!L4":][D M^!#^P?FG-MX9W*2QVJZ;]X(B#9W;2W7?VS])KMN;^&%Z^Y[Y1.6:E0JO;"M4 M=2\3/ IE^T9H!2VJYEZ^%!I+>_.[P6<52#,!QU="Z+U@#/0/M?G?4$L#!!0 M ( ,N*<%8C101?= 4 \4 9 >&PO=V]R:W-H965T\8YWSW-GGF^Y^%RL 21Y2).LN!BLI$8$+"\& ME\[95:36ZP5_,M@6QCM1GLPY_ZP&UXN+@:T,@@1BJ310?-S#&T@2I0C-^+?2 M.:BW5(+F^T[[>^T[^C*G!;SAR5]L(=<7@VA %K"DFT3>\.TO4/D3*'TQ3PK] M2[;56GM XDTA>5H)HP4IR\HG?:C.X1@!MQ)PM=WE1MK*MU32V;G@6R+4:M2F M7K2K6AJ-8YD*RJT4^)6AG)Q=9S%/@=S1!RC(\([.$RA.S\<25:L%X[A2?5CGI: MGW>$HUW^E=)^M[2"QEF1TQ@N!IC[!8A[&,Q>OG!"^W6/;7YMF]^G?7:+4%ML M$B!\J3(*A( %D?2!T*( 61":+4C"Z)PE3+)N\_LW>/DBO=US2I#,-]H4B M)VC-A5'4=DWI,/+G>QVS^73UB P(1H N): MX=0WQ@Z.W7I\*ZF$!D-N\R68-._8!F"1;Y+3L=R@T1E._(/V^%8PL1M'K:G7 M1NFW\W;HN"94_.#T@*/U$L_NP(*)KWW7AUYD9+<;M8FH7AEXQOZNV^:^)BB^ M97N!,?8L)VR(]]UR";J'4T6;&$-MO#XPLQP?TS+ M&,@, NN0!-9'(-BLPVJISP--](3/CY(Z%YGCRR;*6_?QK= MCDB!P=A(+A[)LHI@ UPBE'^2[Z;F@,"&9Y'=[\Z/1_9M[;+V3YT)4]3*D;7?[ $ F2 W;] MF>H*F(2T7426N(T;_ MW5TWH:D,4C$I.ZX.E4$7)WF1R64\_JPAAM [T#8XG5H M:"8UT4R.)AKE$5=Y5ZC1_\-__RX_'O^?,J;H4,/6[* M X5!Y:@><^WO,O:EZB5&M.M:R5^0&#S=NJ<;_1C*!5 -FR^2Z_,NTD6LNNKO_ M@ZV*CS3VU'4CG8]P_E5?*HV-2YH4Q$I?116(=FP4RON:>K:^[;HL+WF:Y>55 MV02Y_K*9\ZEY*E^70/%>J@6X/&ULC51;3]LP%/XK1V%"FX2:2R_KH(U$86A[0$+ -NW1 M34X:"U\R^X3"OY_MM%FGEFXOL<_M.]^Q\WFVUN;)UH@$+U(H.X]JHN8\CFU1 MHV1VH!M4+E)I(QDYTZQBVQAD92B2(LZ29!)+QE64SX+OSN0SW9+@"N\,V%9* M9EX7*/1Z'J71UG'/5S5Y1YS/&K;"!Z1OS9UQ5MRCE%RBLEPK,%C-H\OT?#'R M^2'A.\>UW=F#GV2I]9,WOI;S*/&$4&!!'H&YY1FO4 @/Y&C\VF!&?4M?N+O? MHM^$V=TL2V;Q2HL?O*1Z'DTC*+%BK:![O?Z"FWG&'J_0PH8OK+O'>- LMK1BR?&;T&X[,=FM^$44.U(\>5 MOY0',B[*71WE5P9+3G##"BXXO<+[1[84:#_,8G+H/B,-^UF' &_[?K(-#,W8( MH\,(7B'GMF$%SB,G 8OF&:/\]"2=)!='^(UZ?J-CZ/F#4US9"@1=0=52:Q : MPU7!&R:@8:]."V2A=:=K@&H$0B-!:*8.#7*\U>G)-$N&%_"O]2 M_#WB'5E(-*L@?@N%;A5U"NF]_?MRV&ULK559;]LP M#/XK@CML'1#XD)VK2PPT/78 &XIFZYX5FXF%VE(JR4GW[T?)CIMN:;8!>XG$ MZR,_QA0G6ZGN=0%@R&-5"CWU"F/69T&@LP(JIGVY!H&6I505,RBJ5:#7"ECN M@JHRH&$X""K&A9=.G.Y&I1-9FY(+N%%$UU7%U(\9E'([]2)OI[CEJ\)819!. MUFP%N].+).%E/=6^)A/ MO= 6!"5DQB(P/#9P 65I@;",AQ;3ZU+:P/W[#OW:<46Z*J3?R M2 Y+5I?F5FX_0,NG;_$R66KW2[:M;^B1K-9&5FTP5E!QT9SLL>W#WP30-H"Z MNIM$KLI+9E@Z47)+E/5&-'MQ5%TT%L>%_5/F1J&58YQ)YT9F]X4L*953:,V):I'$VUT09Y1/XH/,Z+D=-CO)6/Z5""-_''\(B,, M2'IA?[!':.S3\)\(4204(P]O!6HE5LOFF2R%J9Y@SMM MM\'.FX?[R;U9?Y^96G&A20E+# W]8=\CJEDIC6#DVCWC"VEP*;AK@5L8E'5 M^U)*LQ-L@FZOIS\!4$L#!!0 ( ,N*<%:L(>'*HP8 & 9 9 >&PO M=V]R:W-H965T3EP!^N)S_ELKO3$<'11TQF; M,/6EOA4P&G92LKQDER@O9?*)ENS8,!BA=2,7+U68X09E7[9,^KOQ@ M;8B=9S:0U0;2G+M5U)SR'55T="'X$@F]&J3I+XVIS6XX7%[IH$R4@%]SV*=& M-U4&2L031A,V V:T0#=5FP/:F2=W]+Y@\O1B MJ. 06M0P72F\:A629Q2Z!'WBE9I+]+[*6-87,(33=R:0M0E79*_$=RP]0YZ+ M$7$(V2//ZUSB-?*\H[IDER=:/?YN/;KC-*S=TWNZQ MPN^L\/=)'TV@?+-%P1"?(KFR0[":"Y57,Y3O/_A^T6]>Q<3QWJ)C/7]C5""F MLV'K)X@M*^^9:.*[GM1QUA\N^AE0:T(A$<__LM)W.<0XOU\TZ;R>?(U(3'#@ M)/9,D& O=-"$%\UB:<[AXM@S2XF'"1QL4Y'G^-CS8[-,:X@)^BBXE.A6\&FN MCG9\W\=)Y%@37H@#$NXX?()=XMNCQ-E2$OC82T)'X?N+J_[F"2A-8I\=TL)<;#K&'MCM\+$,%1'*!QJ2'EC[8M: D9 S0#=&PFV".P!\FV M X2=P-^:=2%7$S1.?U_D,E=MVR^H EQ(=;)MYV>\76[ZZ9*WX#[% %451A6 MQ):F(-F:\V ..CWT\0HZKQ"L2I\0.**2M&40A2[8]>J3Q+U("=.LU&L3IGD"U1XX!D]V-B*?6' 7XS@)+#-; M0&G-71MKV81M&]V 8-\Q9EYW&;BY,8'N9]+7BQN,70_ON(+TW=@"2 C^CP,; M&Z'OX"C8JN,]#"CH&%!P, /2&" U44"*HSP#=^337%-81+O8SPS#HW"_D;N( MT7Z-_U0Y'$J8>LF[-_^VOOOL7R9C.Q](@+W8)BRNBUTOZJ4, M *=K9MXO!%Q)&\#Z4N6Z?'\",,QX:5(1&BGQNB%TX\@DI@_%9+7.:UK1C)JD MAJ9FE1HT),]L)4 ]K*.U'C*991UYFT3VJ>+K+5;X=SWO\E*W"BB!S^R!50L& MSY3/JKP'.R^6KAO$E$&[ .8 ]R14CK36'A"C&JH%#]&$ L+:<=!R>@53F>B7F(X]!*%[CB.0?AQ,MCKOUP4ZUN"$;V5$!2 MJWDNLA]J*M03FE.1+8'"-,DO^50U@UKP;)$J:=B[-NX0>?K=KF+ZG1=<&3IY M\I09V7OH6]C1MW _?6M?$^N4/(RP[>)K^U4)84T^3<]VKKMW "%0)QU$/&('"^+Z!M0W@Z@1'0(.B[6D?)Q9U^C:( M=M4 -;@C98%M>;&_419VZG_'=6!HO?4NF9@U[_8EW( 7E6I?@'>SW=\'X_:M MN5G>_O?PB8I9#EVM8%/8ZIQ%P/-%^SZ_'2A>-^_0[[E2O&R^SAG-F- +X/&ULE911;],P$,>_BF4D!!*J4[<;J"21UA4$ M#T/5)N#932Z)-<<.]J49WQ[;24.1MDJ\)#[[[G?_<^Z2#L8^N@8 R5.KM,MH M@]AM&'-% ZUP"].!]B>5L:U ;]J:N->U@V :GG:CA ?![M[?>8C.EE"UH)XTF%JJ, MWBPWVW7PCPX_) SN;$U")0=C'H/QM(.B@59+=\1GG!.'-2^*_ "=S47 MOXKOEM?)QPLRU[/,]25Z_JUO M#V"#0@N=L2@."H@?2RM0ZOIT'\_*'L%7$1SF\YCSE!W/M;"SWFG!UG%"'"E, MKW%LHWEW'L*;L??^NH\3?"=L+;4C"BH?FBS>^[QVG(K10-/%3CP8]'T=EXW_ MD8 -#OZ\,@9/1D@P_YKR/U!+ P04 " #+BG!6DEXFOFC86P M!:0%>NI)O1,ZNKW/)AF(=8Z=V@Y<_WW'3C8;(*"5;K^ /9Z9/,^\V#,Y2/5= MYP"&_"BXT%,O-Z9\]'V=YE!0?2]+$'BRE:J@!K=JY^M2 !%_9+C=6X,\F)=W!&LQSN5*X M\ULO&2M :"8%4;"=>D_AXR)T!D[C'P8'W5D32V4CY7>[^91-O< B @ZIL2XH M_NUA 9Q;3XCCW\:IUW[3&G;7+]X_.O)(9D,U+"3_QC*33[W$(QEL:<7-5WGX M$QI"#]9?*KEVO^30Z 8>22MM9-$8(X*"B?J?_F@"T3$(AQ<,HL8@.C487#"( M&X/8$:V1.5I+:NALHN2!**N-WNS"Q<99(QLF;!K71N$I0SLS6]?I(W)+UFPG MV):E5!CRE*:R$H:)'5E)SE(&FOQ&OF!9?1*I+("L0)&%+ K,Q#JG"LCM$@QE M7-^AWO-Z26YO[L@-\8FVIYHP09X%,_I#1_!W+BM-18;"FZ/]Q#=(S0+TTX;& MO*817: 11N2S%";7Y ^107;LP,>8M(&)7@(SCZYZ7$)Z3^+P XF"*.H!M'B[ M>7@%3MSF*7;^X@O^OE0%*&JD>NP+3FT[Z+>U-\&C+FD*4P];78/:@S?[]9=P M&/S>1^R=G!W1'+0T!]>\SVR%,5=A?31KVY&SM??3'O,^&(\F_KZ+_UQK'(Z3 M5ND(UT.+Z^$JKK] :Y(Q;13;5 8R@F5**M&5U+ )Y5RFU J,)"55!INGI*Z3 M-*258@9[J8]<#>"A SL.3ZF=ZT3#<3^S8L^V>"=G1T23EFAR M-4G?W&MDRVZ/M\ .CE*CR>V<:I;>]84@.:N801R')[GI48I&47]NQBWD\<] MQI+C56:[@FH<(5 OE0(U[7B A):,VZ;JI31^"Z4>I8N4PN#UL0RNDG)Q)N*U M94I\!G7]_N$#EDG.J=*OTE[\S3>2;A??)Z<$>K6""PT3=I[[\"J#)K _S2%\ M$X<^K3,.?F=ZP4=NYX8Z3=P 4K_7K;0=')_&ULM5A=;Z,X%/TK%CM:S4BS)3A?;3=!:M-9[3YT537J[K,+E\0: M8S.V23JC^?%K X%0$6]3P4O X'M\S[D7^K M: LI41I!GY-4I,4^"*"HXD)$OO M)KA>86P#BAG_4-BKHW-DJ3P+\=4._HJ7WLAF! PB;2&(.>Q@!8Q9))/'MPK4 MJ]>T@R3M;(-F3PIMBFC#AG);QK66YBXU<3I [F& D3653EXQUH0IGZA#X@RM$] M9_0QP^?D(*-)=21X.KM<,$!SI'FN"[(N, =G\!M:\S M.A6 ML!C1-)-B!_9.IYPEZJ0;U;X,KE5&(EAZYFE7('?@A;_^$LQ&OW=1[PFL)<"D M%F#B0@__SM-GD+8A)61":O+, )G7EB1%.U8%4^BGHW:WY1+38@G[)MN%>.'O MCBDZDW@GQ6E-<>JDV-3XIWE$.$WSM(N$$^3"S!W%OQ)09(SQ,P_EK*=392";LING#'Z#D1V!:Z<@>^D=UG3NWQ[/Y.7 M4_WL!#FWG#V!M?A>U7RO!NGGJSX%Z FL)4 P:FS#J*>._A^@Z>F6=D>^E^*1 M,PJ35ZZC8]+H8EY/:N?; M.*; ;9FZ.M5M+=R 9Y=K"#,5-&XJF [3L[T:K+[0VB(T%BMP&ICP)C5>F?X@ MQ6>8<',%6X,578[84Z>SP1$E&N07+"4*XZ+8@; M]]PJ]X765J'Q73@8I-5QKSZL+[2V"(T/PTZ+\SX+4F&V+F(#?%-JM"Q99@N;587ZVWH,[_ ]02P,$% @ MRXIP5GK&]1]^! $!L !D !X;"]W;W)K&UL MK9EM;Z,X$,>_BL6M3KO27L'DL=TD4AO8O9.NIZJ][KUV89)8!$JDNN5K5^0<2%P:I8GK>][830G-G,6L;+OCBQDK9$(SN.-(%&E*^,L- M)&PW=[#SVG!/UQNI&]S%+"=K> #YF-]Q=>N\56()]J@ M[/&=PDX<7",]E2?&GO7-'_'<\?2(((%(:@11'UM80I)HDAK'CQKJ-#ZUX>'U M*_UK.7DUF2@LJ3_X8G M[*-;ELF-0&$60]P&N&K8S=C]U['?^$;B=;&^0'CZ&?F>[Z/'AP!]_/"I8V#+ M/IAO-W?H8S7?+E9@9@407: !?G=(X?D8W(UI*39HHCTHN8,SHLU6Z"&G64:> M"4=_TI3*XZ!4,:B(PVZBSF-7(B<1S!V5J 3P+3@++9_WI2L2-F&!35AH"=8* MR[ )R]!$;X6%0T)4)%#$A.QZRVZ,J+[QL D+*MBDA.D%:KL83?V9NSV4^;2/ MU_1H:3=JM!L9M3OK&38B^FIF$Q;8A(668*TXC)LXC*VGEK'-L-B$!39AH258 M*RR3)BP3<&CC=I2H9S3"+K",3EY-S&>>E[[#5Y6O2X/>EU> MJ%X'?[AM$1A'V%=,2["6F--&S*E1S'O80E9T:F(Q>@/ NG?^O86 V M[)LK;-':\A^45M@XS>^0Q8Q7.SJM^H;FG3NZ&M-.O./IY"CQFKWU?7JMTD); MM+;2_EYIWZCT5T(YVI*D +WW4,]6]ALK)$HH>:()E2^=JOLG[V_':F=VW%MT MF[30%JTM^KZ6Q,::J%_58F;US>-6:4%-F[27R*-,;LME6^Q]A8C-)>+)?AK] MB\[.+U9+1JNTP"HMM$5K!VE?BN*1]1H(6ZU-K=("J[30%JT=G'U]BHUUUOFK M\;AC-9Z<+@Q6ZTVKM- 6K:WTON3$YIKS4<"J2-3JN^K[':"P=.@E7 &=LD[6I__-J$DI 0IJQ\ M,3<)8+^/S7OPP4>,MXP_B1A HNV6',@42%*$]MU'-]."G8Y;+A&9PQY'(TY3PEQM(V'9B8>OU MPCU=Q5)?L*?C-5G! \C']1U79W9%B6@*F: L0QR6$^L:7P5XH 5%CR\4MN+@ M&.E;63#VI$]NHXGEZ!E! J'4"*+^-C"#)-$D-8^O)=2JQM3"P^-7^J?BYM7- M+(B &4O^I)&,)];00A$L29[(>[;]!R!)1_*)MV=>Q4)@+R=)2K&:0 MTFSW3YY+(PX$KG]&X)8"]TB >V<$7BGPWBKHE8+>6P7]4E#(D\?%8^?[L<-\B#M\N=NMQ6YE<1<*L(N 7/.\.[ MR86Z(H3R/5W0K'#] MU#R%89_0.J404 _:J: M:*)B"$*WYRE$%^AWE63^NEX(R=5:_+LI1KMI]9JGI1/4E5B3$":6RD "^ :L MZ8\_8-_YJ2EB)F%SD[# $*P66Z^*K==&G_[,6+2E2=)D?ZNRJ_T[V*" Z7?# M9HJ'(]\;VYM#7QMZ#?!P6.\5-/3RA]BO>M6%C3+"-/A*NG-:42 MHB9+6A%=+3$)FYN$!89@M3CTJSCTO\]LTS<96Y.PN4E88 A6BZU?Q=9O76/Z M[=UDO7^RH#W/[==7_:P5W=52D[# $*QFZ:"R=-!JZ6=.(E"[V9#EF5H('$*@ M&[TTFGS>H?JU)-QWCWQN':^KSR9A@2%8S>=AY?.PU><_9 Q<[7OVFZ>VJZ.QP=OQ7;!^YLNM$"TA2M;OJ^A,3M M-:3>6I_/V*6XEK(]W_&/_359;-I:PWU!C![T MX0+U4,HR&0OD]E!$7IJ"-6MG=8Z"T5K7%&T7!?O@^XO^O/8;X2N:"93 4N&= MRX%:6GSWQ6IW(MFZ^"2S8%*RM#B,@43 =0?5OF1,OI[HKSS5=\/I?U!+ P04 M " #+BG!61=V=D)<" !1!@ &0 'AL+W=O2%*Q-!(%34-B$Z*PO9CVPB37QL*Q@^VT M[-OO[(2H&Z&\:?QP][_?V;YKOI7J4=< ACPW7.BY5QO3GOF^+FMHJ#Z1+0C< M64G54(-3M?9UJX!6SJGA?A0$J=]0)KPB=VLWJLAE9S@3<*.([IJ&JC\+X'([ M]T+O9>&6K6MC%_PB;^D:EF#NVQN%,W]4J5@#0C,IB(+5W#L/SQ:9M7<&/QAL M]I'RTDZMJ[@46"#B4QBI0_&S@ CBW0HCQ-&AZ8TCKN#M^4?_B!'.4E-;3(E=P29:U1S0YIJ'3N&R2S^GXY4"QZBN@MBFY]0L+9)Q(%443NEY?D\.#H7QD? M$QNSB\;L(J<;OZ&[Z#2N:$UVT_QUC6ODRD"C?T^A]I*GTY*V2,YT2TN8>U@% M&M0&O.+CAS -/N\!CD?@>)]Z<4%U35K**F(DP;?+04T>9Z^2.15;=YLB#&=Q MFON;B>"G8_#3_<&E,$RL\?8)4"6.L8:G8OWA1#\IHA3H-L&B(=(=+W#Y_:EZ+P33/1C_M7,P61OH(X MCN,HF8;(1HAL+\1W;,3E^ JP -^CR%X]A5D2_G\=_DZ'L,WV&U5K)C3AL$*W MX"3#+%3?P/J)D:UK&@_28 MRPQI[/BAK@/LK*&ULK55=;YLP%/TK%JNF3EI+@ 32+D%JDGWTH5K5M-O#M <';L"KL5/;"=V_ MGXT)35)*IVDO@.U[CL^YV/>.2B[N90Z@T&-!F1P[N5*K<]>520X%EJ=\!4RO M++DHL-)#D;ER)0"G%:B@KM_KA6Z!"7/B435W+>(17RM*&%P+)-=%@<7O"5!> MCAW/V4[I:Z)';L*2D "8)9TC .?3R,17 =\( ME'+G&QDG"\[OS> R'3L](P@H),HP8/W:P!0H-41:QD/-Z31;&N#N]Y;]4^5= M>UE@"5-.OY-4Y6-GZ* 4EGA-U0TOOT#M9V#X$DYE]41E'=MS4+*6BA.&ZZ<^BB46Z<^V3%FB?CN1N=WGAS>5_ M(MOSW&\\][O8XPEDA#'",C3!%+,$VMQ:BJBB,*5G$WN1-QR.W,VNC9:H<.B% M3=2>OD&C;]"I[^D.) ]K(@Z/G=5G*08[.P=^OW\@KW.??\QRV+@(.UW<"LPD MQ;8XIK]TZ=#%5K7>P?"9EQ.O'YX=F'D>%41^>Z:C1F/4J5%?ZE>.0?3\!P_/ MPN! 6DO4WF&QXMR=LEB R*IN(5'"UTS9 M+,-@WIHJK#!_,3W:AL7WFBL5WN M"@M]MB6BL-24O=-(ITO8SF$'BJ^JXKO@2I?RZC/7S1:$"=#K2\[5=F V:-IW M_ =02P,$% @ RXIP5AULS[R=! %1D !D !X;"]W;W)K&ULM5EM;]LV$/XKA%8,+=!&(FU)5F8;<)RU#="@09-V'X9] M8"S:)BJ)'DG;R; ?7U)2),N2F"B0O]AZN7OTW.EXSYD>[QG_*=:$2/ 01XF8 M6&LI-^>V+19K$F-QQC8D47>6C,=8JE.^LL6&$QRF3G%D(\?Q[!C3Q)J.TVLW M?#IF6QG1A-QP(+9QC/GC!8G8?F)!Z^G"-[I:2WW!GHXW>$5NB?R^N>'JS"Y0 M0AJ31%"6 $Z6$VL&S^?(UPZIQ0]*]N+@&.A0[AG[J4^NPHGE:$8D(@NI(;#Z MVI$YB2*-I'C\FX-:Q3.UX^'Q$_K'-'@5S#T69,ZBOV@HUQ-K9(&0+/$VDM_8 M_C/) W(UWH)%(OT$^]S6LY(PN,D:HA1%$X)HEQGXL!E$U@E M#\,B#T,3^O039T* .>;\D28K,(O9-I%-$6E"'))_\.Z_331S)#<0YIH@(Y8UHT@A"TD MO8*D9R1YQR2.FAAY]8<%7C XHE2W"@+7::;D%Y1\<]X.<@7(@Q(=09H8^G6& M2H"."-:- J>%WZC@-S+RFZ>=5;4TW?9V) D95Z(4I7S%FFX:^Y81LNO*ZPFL M$GU01!^:A)[!*'J!3JI_33P_*<2JK&PY=_ZA4&\R@X[:M)GB@TK"W M/I1#5:EZQ^VRP0HZ?DLG@J@DBE[7BW*_:C-"P7%_;# +ACYLH55*+C0JV?2. MXY" !,>-7K075;89M_:>4">9/@S\VNKZW>4J6A4?S*(>79R<0, MU'G1GD*34:G)R#EE T-&Q>^:B[[0JKDH=1\]H_LOJ_%G4."@O<;-KJ\-L)P7 MD'E>^-$P>X/_P;6J@7@;-\9J!.S\?GM"JX9?SB7HI'L!J-?!I2^T:B[*P069 M]P->6NMFE)&AU$\QC*!R&$'F8:2MU/%#:ZD; 3N_WI[0JN&7_#9B62;=!O[GDDU M%:6':Z)^U7%MH.XO&9-/)_H!Q3\ATU]02P,$% @ RXIP5J%_4OO8 @ MN0D !D !X;"]W;W)K&ULK99M;YLP%(7_BL6J MJ972\A8@= E2FBQ;I76K^K)IFO;!@9M@U>#,=I)VOWXV4)0VE$31O@0;[CD\ M]P2P^VO&'T0*(-%C1G,Q,%(I%^>F*>(4,BS.V )R=67&>(:EFO*Y*18<<%*( M,FHZEN6;&2:Y$?6+<]<\ZK.EI"2':X[$,LLP?[H RM8#PS:>3]R0>2KU"3/J M+_ <;D'>+ZZYFIFU2T(RR 5A.>(P&QA#^WP4ZOJBX#N!M=@8(]W)E+$'/;E, M!H:E@8!"++4#5H<5C(!2;:0P_E2>1GU++=PE!D4VA5MV07/^+MY*KJT3I9/2) ML61-*$4X3] WF0)'E[G$^9Q,*:"A$" %.D63I5QR0#AC7)*_N/@'X%$]2@+0 M\1@D)E2H1_-T53LG2;6?1K?2X6.(:!H=Y; M 7P%1O3^G>U;'YJ"^D]F+V)SZ]C<-O=(I>\V-5BJ@D*E/S.KR.X%7M]<;8*W M6A\(WJW!N[O NTW@I!>$[BW#WBK]8'@?@WN[P+WF\#] M?[ />:GT@>*\&[[6"WZEO/>"9!-Z$W]O&MUR[]XJ_ M]0X'\HCA]MU%QA/B>Y0!1F M2F:=!2H@7FX4RHEDBV*MG3*I5NYBF*J]%7!=H*[/&)//$[U\U[NUZ!]02P,$ M% @ RXIP5DM[LKX: @ E 8 !D !X;"]W;W)K&ULM95K:]LP%(;_BM!@;+#&MURVS#8T#6.#%D++NL^*?1R+2I8GR77R M[R?)CLD@\8>6?+%U>]_S'!US'+="OJ@20*,]9Y5*<*EUO?0\E97 B9J(&BJS M4PC)B393N?-4+8'D3L29%_K^W..$5CB-W=I&IK%H-*,5;"12#>=$'E; 1)O@ M !\7'NFNU';!2^.:[. )].]Z(\W,&UQRRJ%25%1(0I'@VV"Y6MCS[L SA5:= MC)'-9"O$BYW\RA/L6R!@D&GK0,SK%>Z ,6MD,/[VGG@(:86GXZ/[#Y>[R65+ M%-P)]H?FNDSP5XQR*$C#]*-H?T*?S\SZ98(I]T1M=W;Z#:.L45KP7FP(.*VZ M-]GW]W B"*87!&$O"!UW%\A1KHDF:2Q%BZ0];=SLP*7JU :.5K8H3UJ:76IT M.G55N!'%3:, W2IE/@-2Y>@>3*;HGI(M950?T*4K*_5-)1X1LO9SY@S:]4TOD5J!<#]>(=)1W7!L'EFGHG3<;V MZPHM!<"E X&WMG MX>ED:.V=P0^.*[TQ!JMD*N6#G7S-QEY@"6&!J;$(C%Y+G&!16""B\;/!]-I/ M6L?-\1K]L]-.6J9,XT06]SPS^=@[\2##&5L4YD:NOF"CIV_Q4EEH]X158QMX MD"ZTD67C3 Q*+NHW>VSBL.$0#5YQB!J':-<37G! MS1,US4)61S<7B!AO%"OR.[N]L+.#QX!P=D =]SN="$IT>^ M(;+VDW[:$#NOB46O$ LCN)+"Y!H^B0RS;0"?5+92H[74\V@OX@6FQQ"'[R$* MHJB#T.3/W<,]=.(V\K'#B_\I\EV!JW%[W;CVV)_JBJ4X]NA<:U1+])*W;\)! M\+%+]'\"VPI!KPU!;Q]Z,F$ZAXKQ#*B60.Y46-'$@&-G^=300P=M[ZIE,N@- M1_YR4]Q+F_Z'D]9FBW._Y=S?RWDK;$?52Y-PPV9+U:!5-=BKZMY==Y@=L26Q)?8*;0MX9FU0 ME5UT]\/&\(1,:0@#*.O#'/4@8T]=RB?[H?IKJ!H)!ATX6]*'K?3AWTG/N$[E M0AB@M&&7YAHO##82$!P'<7\G3;\UJ^GZ&Y=WB6KN>IH&1Z&^W-K5MFV>N6ZQ MLWY.[;3N?L\P=2^^8FK.A:94S@@R.!Y2!:FZO]43(RO7(J;24,-QPYQ^"5!9 M ]J?26G6$_N!]B&ULK99M;YLP%(7_BL6JJ9.:@GE/EB"U MB:9-:J6J+]MG)[E)K )FMM.T_WXV4$H()1':EP9CG^/GV*:^XQWCSV(#(-%K M$J=B8FRDS$:F*18;2(BX9!FDJF?%>$*D:O*U*3(.9)F+DMBT+ #YE-UQU3(K MER5-(!64I8C#:F)=^SB=^1Y:@+5]AZ+8;ZD]T)#*R@(FAOD$!_ 6,Z.L7[%O? MV]+^)[.][$Z5W>ERC]02.FT!"U60J_2_C)?(M]VQ^5+G[G3NR>U6W.XQ;K>- MNU!Y-6[/M1KRW<88.[T[DGMU]Q^\>X_39NOX7;;W!W M.O?D#BKNX!AWT,8=''!CO3%[W)W./;G#BCOLY'YDDL1MX.$!N.V$3H.\T[LG M^; B'W:2WX 0(T23;"MAJ2X*"6H.V19E>!!EX/G-P],Y6<\HV/JX1:WCVW#: ME5 Z[1VI$ >-.-WS]%KF@IU+E9*9ET&:FUX45<6#L)>+W-\( ]$?L[ON1K9-4I$4Y() MRC+ R7YEW<';+0RT@['X0LE)M-Z!#N61L:]Z\'>TLAS-B"0DE!H"J\>1;$F2 M:"3%XUL%:M5K:L?V^Q/ZGR9X%_ YX<=>/WJ#7@%: 8^Q:P0.(O$TI9J<0UAA]5"FW(A=&$AB, ' MELE8@/=91*(N@*U8U]31$_4-&D7'(W3<6DG7X+D7 M\-Y_*VBN$EP")1!(B,JMF"41H&G.V9'H+X.RE:BS852]BV]%CD.RLM0V%80? MB;7^_3?H.W\,A3P16$> 62W ; S]60*\!0?.Q* .)7A@P/7AW5_/V1GG_0X10QTE8I$6")8G4*:#4"2DNSQD5"TX9E_2'F1BB M7N)[+5;O9H[G]+@/6+DH<(?)^S5Y?P+1,R*'>/MGC%P/]B4_-X(+%PVS#FK6 MP2CK74OA(6+!V9HSIR_GN8W7LNG0FM>TYE>(&>*<2IS0'RHE!-O+$^9DB.PH MYK4;>"*P3OB+.OS%BYQ@BRD%F BL(P!TFMO0>)&<#1>_V7L]8] MS\?%(NAG[;G5'/H7DK:I&>!XT7#WDZNU!RD!>]K_E0++$:P/U?<^8?!KH!>K_0JS_!U!+ M P04 " #+BG!6IE0(>J(" !.!P &0 'AL+W=OW>2FL7#LS'9: MME\_VPE1:5W@82^M/\XY.>?:N4DW7#S)"D"AYYHR.?4JI9HKWY=Y!366Y[P! MIG=*+FJL]%2L?-D(P(4EU=2/@F#LUY@P+TOMVIW(4MXJ2AC<"23;NL;BSPU0 MOIEZH?>R<$]6E3(+?I8V> 4+4(_-G= S?U I2 U,$LZ0@'+J78=7L['!6\!/ M ANY-48FR9+S)S/Y5DR]P!@""KDR"EC_K6$&E!HA;>-WK^D-CS3$[?&+^E>; M76=98@DS3G^10E53;^*A DK<4G7/-[?0YQD9O9Q3:7_1IL<&'LI;J7C=D[6# MFK#N'S_W==@BA,D!0M03HH\2XIX0VZ"=,QMKCA7.4L$W2!BT5C,#6QO+UFD( M,Z>X4$+O$LU3V0VFF.6 %O;*S$%A0M$9NLYSWC(E]4'E0-9X24&O4LY62(&H M3Q'3Z.,.+D_TUN-BCHZ/3M 1(@P]5+R5F!4R]97V:)[DY[V?F\Y/=,#/'/)S M%(>G* JBR$&??9P>OJ;[NC)#>:*A/)'5BP_HO5,'5[Y.,'$+FI?R2C8XAZFG MWSH)8@U>]OE3. Z^N-+^)[%7V>,A>_R6>O; %:8(UZ8 J&@!E8+7_9T$X8K> MZ5U8/=,^UMDH"N/47V]'V@2#!>$@P_L!]X*7+Z>E.;W Y'^\=?!R&R8[Q?=#%KFU_ MJ]N9+\T/+%:$242AU*3@_$+'%EWW[B:*-[8!+KG25]<.*_W! V$ >K_D7+U, M3$\=/J'9/U!+ P04 " #+BG!6\>6-]>T" #["0 &0 'AL+W=OT M;F(="R65D*QHP$I!D=/ZCI\:'S8 ;N\5@-< O&,!?@/P3:*U,I/6%$L<#SE; M(ZZC%9L>&&\,6F634_T59Y*KI[G"R?@:$TP30#-3,E.0."?H HV3A%54"E3B M9SPG@#!-E>4)KR!%\*1J2( PB^,?DQMT7@/%)P5]F$W1^=DG=(9RBNXS5@D5 M)H:V5&KU.^VD479=*_->43:%Y!+Y[F?D.9[7 9\<#W>WX;;RJ#7*:XWR#)__ M"M]1CG1E6=/VNFGU3WHE2IS R%)_H0"^ BO^^,$-G2]=.9^(;,L!OW7 /\0> MWW.<@DYYRX>NE&N>ON'1;605NX'K1L[07FTFTQ'F!0,G:L.V9/9:F;V#,L=' M?).:(=AX\Z#7WY6W'Q3YH=\M+FC%!6^)^[\J"O;$J*\:!KN:.\+\GM=WNU6' MK>KP+=5541$LE4@F,^ H886JL$QW\Q4@PD2GZ'!/S847A=&.YJZHC<2V%/=; MQ?V#BE6+5PVB&S+A*@U M(7J?EA6=TH$3D6TY,&@=&+Q+X0[V.M.%%[J[A;L?U1MX.W5K;VS-^ECT'?-E M3@4BL% HY[*OZI[71XUZ(EEI=NLYDVKO-\-,GO#IJH?V[,)%[#J MQ,PVI=NOGYVD:2"&48D7L)U[CL^YSG7N<,/%DUP"*/22LT*.G*52JX'KRFP) M.9&7? 6%?C+G(B=*3\7"E2L!9%:"U"/JUNA9V[#,J,Y%)+R @F8CYPK M?S#V2T 9\9/"1K;&R%B9SD>,91< @4X:"Z+]G& -CADGK^%V3.LV> M!M@>O[)_+R_$6;*C;& M#LK64O&\!FL%.2VJ?_)2)Z(%\'M[ +@&X&,!00T(2J.5LM+6A"B2#@7?(&&B M-9L9E+DIT=H-+=GG] 9H@5Z6/*U),5,#EVEQ1A*-ZLWOJXVQGLVGD!VB0+_ M,\(>QA;X^'BXOPUW=0J:/. F#[CD"_;RU<:5-DY*XP.;J8JE9V0*Y+! MR-%%)4$\@Y-^_.!'WA>;Q1.1;1D.&L/!(?;T*LO$FC")]/&AFMYZC!5-7-*8 M2^$YC0*=\>>VD6Y,Z+W%;.GK-?IZ!_4U!R*@4"C3(ZIL\BJ6L+6UWXMVY%EB MHL N+VSDA?^1I\\DHZ2ZBW0*2*'.Q*[,5&2V#7&C<;X^,ICE$PIHXJ"O?SB4Y;?B-Z^0TY7>0YKV.D\[Q742Q_?CZC9'^:0NAW]70B[S>SHMFB<+8QW:MOO?V MM?/>6Q"M5\[Z%?..TFL+PSCN[Q'<^CS[!P7_T)W7($R M?C[G7+U.3/O2M*OI/U!+ P04 " #+BG!69L4?"&T# (# &0 'AL M+W=OE+_WY)2I9MW;8(\F+S,N?,F1&'G-F!BY]R Z#0 ML2R8G#L;I;;WKBO3#914WO$M,+VSXJ*D2D_%VI5; 32SH+)PB>=%;DESYB0S MN_8HDAG?J2)G\"B0W)4E%;\>H."'N8.=T\+7?+U19L%-9ENZAB=0W[:/0L_< MAB7+2V RYPP)6,V=#_A^@0,#L!;? GND1 M)'J/'@7?Y_83Z1."6ILW2U T+^2M'G][6J*;=[?H'M[PG:0LDS-7:4V& MV4UK_P^5?S+@'Q/TA3.UD>@CRR"[)G!U,$U$Y!31 QEE7$)ZAWS\%R(>(3V" M%K\/QR-R_";!ON7S!_@6.R& J?N^U%3(H!]I"OA>;FD*7_WA?5&9%=!!DV0P1A[\@DR$+3HB[$"QA9H[I1]0J)I,'/WE]J[1CB:DL;H M2E/8: I'-3TIJJ!/404++YQ%A+0$=6W">$!/U.B)QG/$A;Y36)^BJ.,-D["= MHZY1% ?]DN)&4CPJZ9DK6NA;QIY07D_;IZ#$*PO[$8^_\ M-GBO*Z$:=^7.;Q^&/B,\4$3XXKW"KRVC&GFM:H+;LKI69#*4*G*617ZCE++Z MK/Y/+=5<5T)#/VP+[5H1,E!,^/PZL2J'/(+JA$E&T!9'JF^JV5W'%:0Y=(\:[(T&[ M4 ;LPK9J]Z*G*D&L;:LI4N-)]H!UN=*L.PACH_17GZC0Q#IKF/_D/ M4$L#!!0 ( ,N*<%9^#-^I7P0 &T/ 9 >&PO=V]R:W-H965T;B#CNYF'OBG01TEI3DP23E# I8S M[QI?W>*1<; 6?U/8R9,Q,JDL.'\U#_?IS/,-(L@@428$T3];N(4L,Y$TCO^J MH%Z]IG$\'1^B_V:3U\DLB(1;GOU#4[6>>6,/I; DFTP]\MT?4"44F7@)SZ3] MCW:5K>^A9",5SRMGC2"GK/PE^XJ($P<<=S@$E4/0=!AV.(250V@3+9'9M.Z( M(O.IX#LDC+6.9@:6&^NMLZ',;..3$OHMU7YJ?L\2G@-Z)GN0Z (]0L)90C-* M#,D2$9:B6YX7G %3$O$EJAPNT.<[4(1F\HL>OSS=H<^?OJ!/B#+TO.8;J1WE M=* T0K/.(*G0W)1H@@XT.$#?.%-KB7YE*:3G 08ZM3J_X)#?3= ;\0Z22Q3B MKRCP@\ !Z/;[W7$/G+"F.[3QPHYXY_P:/E.Z7(( E@!:@-H!,*2X(AE29(]@ MKS]7"78;U%K_YGS#%-([4&P4I&CQADA19&^4K>S[E\NG2R0541O%Q1M:0@I" MAZ+EGIF(@B@]X(>I!>A* "<&X-RU,JFA.RE3::YD01*8>;J42!!;\.8__X1C M_Q<7XS\HV!G_PYK_85_T^5/-C27"D$&0#F^*XG8?# MD3Y2V]/A?S^19]14P7>'UX'!N\ 9+JEP9E,M$)^"& M\;B1@,-F&+CQQS7^N!?_7_ID"E2 +KJFBB"J('>>LKBU-H[B!CZ'S<0-;U3# M&_7"TVJ@:ST[(QCQK8;<^)K,B7'!'K4AA:,&[+;-!1Z[<8]KW./OH+63S'$; M%6Z :IMR-^='R,FEE M%4:A.ROL'U72[\WKCFYI"EV:YK>)G#2X=MG@40>L$_'&O;!^O__S^?Y8#2JV M31E(!*14N>'B-I3(;^)U&(4=)Q8'1[S!.Z6,)Z]6OK2L60ET @P<7+41NJS" MJ /B4:!QK_X<+D0GZNN$&+;KI'^R> 6Q;17BN.,3PT<-P\/>2\3YA>QC2HY[ M]?&CW]J/BG9.Q%$8<;\ROC!J;D%6(-W9MN4,!Y.6Z#G,)F'4=92.NH?[A:]2 M%B>PMHZ%43QLXG)8^7Z'WN&CX.%^Q;L_.S&%X%MJNS)3L=\]/Z/6#0?'4=B\ M![G,@O DP1+ZX*1QR4&L;#\G=8'0M]SRCE_/UCWCM>V4&O,WII>T#=$Q3-F( M?B-B174GD\%2A_0O1YI-4?9VY8/BA6V/%ESI9LL.U[H?!F$,]/LEY^KP8!:H M.^SY_U!+ P04 " #+BG!6AESI.(P# "H#@ &0 'AL+W=O*Z#+/J?HU R[74R_TGB=NV2HS=L*/)P5=P1V8A^)&X6V,#'(FJG_Z5#MBRR <'C"(:H/HI4'_@$&O-N@YH14S)^N* M&AI/E%P39510KH+X*.61E#T+&@6=2)>07).>N$?) JBJ(70_/^; MAQUT>HU_>PZO=P#O%MTI$L89=5DKEZ3<=K%!%R]J%[=YKP+OMX/;(WZI"YK MU,,SK$$]@A>_?Q<.@S_;E)\(;,$8Y%0FT:>PT/%9C!39R8/8* M>XS[%Q/_L87YH&$^Z&1^"VGIKAR-UQ:GQD9-$@W&<,#[#(_&FIG,19*6)I.* M&0:MP>SF$?F-RC1KBHT[BU\( MHAJ"EQ#!#QSE-@3;X2I1E\+;2[@X%5(S%]$VJ:,]Q[Z4.NIPQ@[_<<-_W,G_ M.R90)GG*Q,KRVZ6NH*!&5?='&]_QJWP[-W]C:"X::1>=TN94T)2V\>ZT._8T MG AL1V(8;+ZAP>^\Y&OT$[GB5&B[OMBJ)\+.@#^(E&G,UT5I\Q>H$IC5[;+# MO[JURHHVPN68[(Y/VJ(QSL9_*)"IU*CK]5\^>@5JX5TB21I3!5M=S, M-NW69]=DO)B?V3;,]1(;F*J'^T;5BF'9PV&)D,'Y"(^JJMJB:F!DX3J+A338 MI[C'#%M)4'8!OE]*:9X'=H.F.8W_ U!+ P04 " #+BG!6A9NONOP$ "F M)@ &0 'AL+W=O?*;@).L"9[20]Z?[XV4 A;ETWK,_Z0\.+GX\? M_#7&?/'L0-DWOB%$H,-W2+.2FE>2&(;XKBIA]7Y*<'N8.=IX.?,W6 M&Z$.N(O9-EZ36R+NMC=,[KDM)=2N8/)O).+%8,9)F D5QDN69^([. M B+B+.P%?.8*6:.*=./R/=\']W=!NCLYP^&Q%8G8/"@PF#T97F# MSNKK-;$".RL@R3D:X#=3"D_'8 LFLF/^H'MY92.%P1,S1FOX0=M1!A5W<%I' M,22VK %#,T -D1=\&R=D[L@QD!.V)\Y"-;KWV:0?)"R A(60L @(IDDZ;"4= MVNB+JU(0216(Q8*8!*W#L5?%JV?4?N&=>X/)8.;NC[6R5M-7*TA8" F+@&": M5J-6J]'I6LD' %O+@?DLYBA&6\(24@K36+&T0OO>DI"P8&3L6]YDI/>M$++2 M" BF*3AN%1Q;%0S(O4!7)1=L)V=FXJ,:2@FZ+.BN%";I:MKDJ'U\[*F_9S>? MM=:^JD#"0DA8! 33I)NTTDWZ2?#K;[ 8OET$W)$=X*+N$SECE$[4%,&E!8TM-'KDY7P[2(1 M5$ZZ%)V'@NTFRBE//$@78@5*"T!I(2@M@J+IRG:."QZ]>RX#ZJ^ T@)06@A* MBZ!HNK*=$X/M5LSK>I8+NITLXIR>.6E-SX'<&.Z"T"J+&"#P8+O#\OQ[[@]T5:;DT:@*J+T"2@M :2$H+8*BZ=^_.XO% M?[?%XH-:+*"T )06@M(B*)JN;&>Q^':+Y3^^GMNIO=6&I 4-[<7+_HO/?*#5 M1E"T6DCW:'E-0=BZ6@C%4:*^W-4K5]JC[6*KRVJ)T;/C ;X(ZR53':9>P75= MB&PO=V]R:W-H965T MJ75]Z_LJ+Z$B MZEK4P,W.5LB*:#.5.U_5$DCA1!7S<1#,_(I0[F6)6UO)+!&-9I3#2B+55!61 MQSM@XI!ZH7=:N*>[4ML%/TMJLH,UZ(=Z) M=P=^4CBHLS&RE3P*\60GWXK4"VP@8)!KZT#,:P]S8,P:F1B_.T^O1UKA^?CD MOG2UFUH>B8*Y8+]HHR?KE@RCW1H3L;>"AOE!95 M)S8)*LK;-WGNOL.9 .,1 >X$V.5N02[E@FB2)5($H\L%:$*9NC*J?E6A"T0YVI2B4807*O&UB6EA?MY%NFLCX9%("\BOT23\ M@'" ,7I8+]#EQ=6_-KZILB\5]Z5BYSL9\1VOJ(2_^8?RMK[385][;6Y537)( M/7,O%,@]>-G[=^$L^/Q*ZDF?>O*:>V8^PF0H4ZN*GO'T6X2#Q]P.H:8^: MOH6:#J%:572.FHZ@HAX5O86*AE#12]1L!#7K4;.W4/$0:O8"%7["PZBX1\6O MHC9"$S;$BE_\K/ F_!_FG]UBVQ!_$+FCYCXQV!I9A M39MPP]+T99#V@-G?"J%/$]LK^DZ?_0%02P,$% @ RXIP5C%HAXX*! MP!@ !D !X;"]W;W)K&ULM5GO;Z,V&/Y7+#9M M=])=^172M$LBK8'3-NFVZJIMGQUP$JL&<[9)VO]^MJ$$4NH$SNBY/=RB'_(J6J)!7-I3E4,A#MG5YR1#, M-"@G;N!Y4S>'N'"6 5[E.63/=XC0P\+QG9<3W_!V)]0) M=SDOX18](/%W><_DD=NR9#A'!<>T QM%LZO_FWB1PJ@>_R#T8%WVD!-94WI MHSKX/5LXGHH($90*10'ESQZM$"&*2<;QO2%UVC$5L-M^8?^B)R\GLX8NY:N!@*N)PS>@!,]99L MJJ'5UVBI%R[40GD03%[%$B>6#X*FCSM*,L3XSR#Y7F'Q#&"1 7T!W$D/,K"B MN5R8'&IK/X-[ @NN.]%2G>+@0XP$Q(1_E%=_!"[@.\@0G[M"1JC&<=,FFKLZ MFN"-:&*47H'0_P0"+P@&X*O+X?X /#;#_Z@*"?<4W)\-P!,S_"M\;@8_1;O2 ME-:9H'4FT'2AR9G/:VU VC%@2-6::3+,I/::6U["%"T:?:7ZU?^^7WI4GE^F^*_XEG6)CI&-%M436$W72BCHQBOI7LW_( M#,:%W%!PL1U2KB:)NJ*MI?M]I?&[57N5@_,@R):H2.35PVR6*;9(DELI[^LU;_ MF;7GB)E-.VR2Q3;)$DMD/3MN6CMNWODYXN:2YPAC$&/%MTF66"+KB>][QW+' M,\K_9Y6OI;ITTVSUJI76EG!=\> ""PP)D5707I8T*KWJ; $/D&6#%8WW*C%$ MGOJ<.&(.;*PE5MD26VQ]4SHUJ/_NZ;D9HFM#>!U&-Y-3&XRAC+;!)EMBBZUO MP['@](T%E,S4?O!FIC9CQ^8&JVRQ5;;$%EO?A6.=Z8?6\K5OLQ)<666+K;(E MMMCZIASK5-]?FKWNU_A6R+I70$;22]=W4M1V/UZ_+Z M0-!2OP]>4R%HKIL[!#/$5 =Y?4.I>#E0KYC;/RV6_P%02P,$% @ RXIP M5KV>=%4?!0 ?A8 !D !X;"]W;W)K&ULM5C; M;N,V$/T50@W:#9!8(F7YDMH&8F>W[4,608)DGVF+MH5(HD/2=K+HQY>D%-U, ML8GKONA"#8?GS QG1ASM*7OF:T($>$WBE(^=M1";*]?EBS5),._0#4GEER5E M"1;RE:U78N897,^2K"5KB M*2)[7GD&BLJ6" M)OEDB2")TNR.7W-#5"8$J&4"RB>@CT[P\PG: T!/H#F$H+A6!& M$QDV'&O#7X+O--T1+N2'+S=$X"CFY^ ,N("O,2,<1"EX3"/!+^2@?+Z-XEC. MXR-72+QJ57>18YMFV% +-HC +4W%FH.O:4C"N@)7$BW8HG>V4V35>$,6'>## M"X \A,#CPPWXM5NVV.E#LA M2E<78$52PG"LG8A#&3(1%PRKS0+(JW*CD=/4JETEDRN^P0LR=F2VX(3MB#/Y M]1?8\WXW&>A$RFJ&Z!:&Z&KM?HLA?NB=*X/S>B?ML"+@#X:ES>7N(. ;CAAX MPO&6F$S0/:4)3J2L9H*@,$%@CP455)=SO7<7U;V;!P#X&YR9#)!I[6FM*O_O M)K S'+F[*B^33%#(U.#V"K@]*]Q[F4Q8M% ^XRKKF*!9-7S6-R=25B/;+\CV MK>'YT)95IOU34CR1LAK%04%Q8/5G61_R)(<%$&L"YF05I:E,4H N]<"&L(B& M,AI;4^TT6RFHAAM"T$.-J#2*]8?(')C#@LC02D1G#E7F9!G+()Y;P0X/4/0' M@1DS\(-M=6Q7'9#[K#IFE-0NEZ0:^)V" F@R88MB!&)6)T5& 366H_'M+Y(O5@A5[0 MS+1&N5KLUVF4G0+T_Z<*"4_:)9Q*6]T,99\ K37X8VDJ]Z>*T)#&,69<#64S M5+"6K9S17AF"0=6%@X[?S @F,;_C]UL<7;8!T-X'5//7,>@S[1!5FBMLHT$=PR# MO@'9L'.0H4UBO0[LMA HZS@\KI#G^>X_[HW!0="CKB&X#L7J6ZC.K2SMT%[; M'U-&%G251C^;3?*"-C4('?E#@JS=T*=IGDA;G6;9]"#[ M^7GYQWO,0BZCH2)D-)5_V*LU MVU*[3$;+K9SD)82M] $GEQMPFXKLF*L8+0Y1K_7186-\"J]FV5%HJ28[F;W% M3/8W',1D*55ZG;X$Q++#SNQ%T(T^+YQ3(6BB']<$AX0I ?E]2:EX?U$+%$?. MDW\ 4$L#!!0 ( ,N*<%8PA\+]M@( *0' 9 >&PO=V]R:W-H965T M031U$*K!I^X"$6G7[;)(+ ML>I'9CM __VNDY %1*.MVA?BQ[W'YQSL>R=[I9],#F#)07!IIEYN;7'K^R;- M05 S4 5(W-DH+:C%J=[ZIM! LRI)<#\*@M@7E$DOF51K*YU,5&DYD[#2Q)1" M4/T\ Z[V4R_TC@OW;)M;M^ GDX)NX0'L8['2./-;E(P)D(8I231LIMY=>#N/ M77P5\(/!WG3&Q"E9*_7D)M^SJ1[7_!HV>L<-+%3?5+]DWL8%'TM)8 M)9ID9""8K+_TT/C020CC%Q*B)B$Z3QB]D#!L$H:5T)I9)6M!+4TF6NV)=M&( MY@:5-U4VJF'2_8L/5N,NPSR;+&"#*QF9*VDU6Y>5MRM.);E>@*6,FQOR@3P^ M+,CUU0VY(DR2)>,,-_=?.25S74Z#*4>[VW MIJ I3#U\G@;T#KSD[9LP#CY?TOF?P$Y4CUK5HS[T9*Y$0>7S.X,7TZ8YDUN2 M=@PP!'Z5E!.K"- T)R *KIX!,+X;1JZI(904H%.0]N:28S6-L';?U:==$@S& M$W_7=:*7ZRN=&+=.C'N=6-(#$Z4XU:4VK604V-&(5=)MVAR8QA2!E=E0EW)) M^_B2]B ^$]]+[Y7BXU9\W"O^3JA26@('I^/\==&ULM59M M;],P$/XKIX 02&AY:=>-T49B&P@^#*9-@\^N%.)]6;(G7Z&^J2TNSN+-2"(7:":/!XF(6O4M/3M-Q #0[O@I:,V8&*@A&[_V>TF M$3N 4;H'D&T 6<.[==2P/&>>Y5-KUF##;K(6!DVH#9K("1U4N?:6O@K"^?S, M*"4\I=D[8+J ,Z.]T$O47*"#E^?HF9#NU33VY"Q 8KXQ?-H:SO883C.X(%NE M@_>ZP.)W S&Q[*AF]U1/LT&+Y\@/8)2^ABS),KBY/H>7SU]!(2P);.R @U&7 MBU'C8+0W%SNQ]T70-(G7323P8KX$JCU49C\ATHX MZD@=#09X[>F@SN] HO=!?"H);I'2W$>T-76T(W#2+_!QY_WX0=XM5K4EN1R5 MX5R*)0LJ$QDJT9 TTD\IM%R0\'Q[Q_11/'XHQ3<=Q3>#%"^$%JI6?;X&@8_4 M+4VV=VWRM MF@__'_';>@O0AAY?>^IW#6K&[O=+]P=[DSRT^ M58>1CTW;]ME(G_ANI/_CX4BW+T*Q 5!DX,CNOAMVV6U$V^JIK.9&T]]4C,L MJ3-%&S;0]X4Q_GX2''2];OX+4$L#!!0 ( ,N*<%9&EN%:+P, /T, 9 M >&PO=V]R:W-H965TU ^^]G.R$%%KPAY0O8SCW'/L>^SLUD1]DS MWP (])*1G$^MC1#%K6WS: ,9YCU:0"Z?))1E6,@N6]N\8(!C#)EEF+W.@-#=U'*M_AZRB COB9PHX?M)&2LJ+T676^Q5/+42L" I%0 M%%C^;6$.A"@FN8[?-:G5S*F A^T]^[T6+\6L,( M ?1K0/\4X)\!^#7 U\Y44K0/(18XF#"Z0TQ%2S;5T&9JM)2?YFK?EX+)IZG$ MB> 1"!80HP5FXA7]8#CG6.\(1]EJ&Z/KJ [I":8X>4D)4P,06 M<@&*QH[JR6;59-Z9R?KH@>9BP]&7/(:X!3\WXUW/0&!+Y8U\;R]_YAD9OY=Y M#_6=C\AS/*]M069X")&$NV?AX?_#78.:?K.9?V\0<2?4;J;Y1ZHQB%B.:H#!E\@JAK%6GD>-2G5V2A1V1'7DW:+P;&+U; M8@(<"2K/297\A4K^-O\&+1OG'6_NW#C7I;949*Y_-&.__:@,&[E#H]RP!)0P MFOU;KI'GTN/2)5E8D0U:<^S(E%%CRLAHRCW.4O**,LA6P%0>P0M$I7H'MQEC MY+K4F"[)PH[(CCP<-QZ..\HC(\^E_HW_SA&W-SZY=2O3=M4MP3O:U!7KM>UWDKCIQN7JAFGDL5UVRF5VH=O)^%S5]KK>?*.I/@P>,%NGLE@DD$A*IS>2=Q2K M:NVJ(VBAJ\\5%;*6U^H"9HOGN /4$L#!!0 ( ,N* M<%9!$5$:! 4 '<5 9 >&PO=V]R:W-H965TGN]#PGW3TG3@YW=:"23#C9#KAJ,<4^;,)N6Y1S&;\)W**"./ LA=GF/Q.B<9 M/TP=Z!Q//-'U1A4G1K/)%J_),U'?MH]"KT9-E)3FA$G*&1!D-74^PKL%"@N' MTN)/2@[RY!@45): M'A^C?RK):S)++,F"9W_15&VF3N2 E*SP+E-/_/ [J0D%1;R$9[+\!8?:UG5 MLI.*Y[6S1I!35OWCESH1)P[>D .J'5#' :$!!Z]V\$JB%;*2UCU6>#81_ !$ M8:VC%0=E;DIOS8:RXC$^*Z&O4NVG9@\LU3<1KS?@F:SUXU$ LQ1\)GPM\'9# M$_"),LP2BC/PP*JWILC^^WNB,,WD!_ .4 :^;OA.:D8*39-)30D=(<62/>D^06>/ &(!*LK5.9)-@4QZK<+XY7%'N=W*+ M$S)U=#U+(O;$F?W\$PS=7TVZWM^U$'?-T,1"J*6Y!FNL,$56G%]%EQ*L!5\18U9#7M9#7PW]CO8^E9^ M,(:A&=JX@3:V0KNG0K=VL.!2&=O(N/_ 7>BZ'6A]*QA[ 31#BQIHD17:L50? M6,)S N9$URD!7_$+,2*->A@\+^XEL6^%0B\,S$CC!FEL?[Z$Z3+*RB:.4ZT7 M5#=W7"BE"6C<3Y;O^EV@!BLTC@: 0K<5'M<*]6->M+V_*STI\*9$%Z)6FO($ M>=&#BC2BKN.>OPE!%[7!"@8H'D!](I?0CCKYL:.2JFJ*R; B*4B&7MDZUEDY M1=TV93!R!U"B%B6RHGQ@BNBFIFX (\8ZK_W/LQ-WD?6-O& H@ZWL0:NVS/3T MI6JA"TR]!]4?YTN1L: M*>SNE\X4UXIV3K:5-AA>=Z""5JV\F/V5HIVS;]43VN73,G% @W3J6<+MU;O! M+HB]<*@=M?()[?KYUM0!^UKH^_&XJ^T&,RV8:*C 6\V$=M%\:_* !@4,(K>G M."8Y#>% ]E KE,@NE!=.'\@@CS$,PPY:DQF,AX8XU HDL@OD,\_*=F/&9O6] MM.*N%>V<:2NR"%VWWR"K:%_,_DK1SMFW,H[L,F[I-Z@OPPA&7K?=F,P\A :^ M<%"KU\BNUV]U&]07VQBB;C4;K>*A8FX5&;VER/9>4[N?M4(4]XK78#7V![YR M4*N@R/YU>&FG"7O?J'Z$NA^R)BO=W3M81R=;6#D1ZW)G3^K1>L=4M?73G&UV M#S^6>V:=\W-XMZCV -LPU9;D%RS6E$F0D94.Z=Z.=?I$M[N M >?>FO%'L0"0Z"D*8]$W%E(FEZ8I@@5$1%RP!&)U9<9X1*1:\KDI$@YDFH*B MT+0MJVU&A,:&WTO/W7*_QY8RI#'<Q1+T;3 MOF%I11!"(#4%47\K&$ 8:B:EXU].:A3WU,#=XPW[39J\2F9"! Q8^)M.Y:)O M> ::PHPL0WG'UM\A3R@5&+!0I+]HG<=:!@J60K(H!RL%$8VS?_*4%V('@%M' M '8.L%\+<'* DR::*4O3&A))_!YG:\1UM&+3!VEM4K3*AL:ZC6/)U56J<-(? MQ5-U$_Y\CL8P5^V1B,13] W8G)-D00-T0V,2!Y2$:!1GKM'5_Z+"=2=@BJZ$ M "G0Y+E@.!V")#049RKL83Q$IR=GZ 31&-TOV%(H?M$SI=*N%9A!KO,ZTVD? MT3F$X (Y^!S9EFU7P >OA^,RW%05*\IF%V6S4S[G"-\FU3M(&)J\^>' M"DVC(KN>T]OQX&.5XCGO$CMC:?OBM6G%#JK[[=++4+:G\'M?" MW]J&IMC*R>Y,.?@##9F3-U6*AMC*I=A.+KAV(GC1E#F\]/[SK+:U_YJLBG,< MUVH?,>9VIL#U0\68A:DIJ]758M_-'&ULM5M= M;]LV%/TKA%<,+=#5XI=D9XZ!Q&FW8.L0-,WV,.R!L6E;J"1ZDIRTP'[\J(^( MHDPQ=4R]Q))\[]&]ER?B,:\X>Q3IEVS+>0Z^QE&2G8^V>;X[&X^SY9;'+'LG M=CR1WZQ%&K-_->BHN6?AV#Y^0O]0)B^3N6<97XCHKW"5;\]'DQ%8\37;1_DG\?@KKQ,J M UR**"O_@L?:UAN!Y3[+15P[RPCB,*D^V=>Z$"T'Z/LMLPJ08QML\E=^&TB^?7R9/TVUMP MRS=R>'+ DA7XA8M-RG;;< D^A E+EB&+P'52L::H_D_@*LS89I/R375!K,$G M_L"3/0>OKWC.PBA[(ZWN;J_ ZU=OP"L0)N#S5NPS"9_-QKD,O0A@O*S#O*S" M1#UA0@0^BB3?9N!]LN(K'6 L;SG__EV:@NNS*6E'8%H)2%,"8D.?_R$?6AF+N)$>E6M0NA:/IHHWB?H#L=!W60)' M8%H)@J8$P%!C,ZQ;YG9N&DB6QBC>Q61"4#C9%978^MOR,P M+<(*[)#29881Z'H6P)1B@-;:[ MVPMC5%:O8\OO"DW/$:D7BH! >T*HN*E=;:V(QP]&H[0]'R5+(&3H4CI M5+6X0M/+H'0+M&J"9T@Y/2 ;A! ?/"M-9A[MH212>@+9]<3[?2IVO/QI?Y>$ M.5^!W\)DLQ*Q*58[UK&CX@I-SURI%00'(B=R*FAEE4((&696"G9RU;YMU M!-,IZ9#38(;]P.LCIU(9R*XR>LGY';.['?KH01IB^0,I08/(4%QU*G)EE M4"('V5=;[%REAR0D!.$N5P_-D.]1VL-5I3R077G8N&J=\>VX1X_0$"LD2"D< M% Q%5*?"QQ6:7@8E?)!]0<9.U,D! Z'EI!SZ<]/]*1$B/(+D86+&$K M9HS+Z3*)*S1]S5SI&NP-M6KN5.2X0M/+H$0.MB_)6(E8^VJ/0OG [$I/HQEM M$5:/32D/;%<>%1._8RJWXQP](D.LG.!6-V>P=H[;?LX0B@8K18-/:.G4OOH/ M]<#SN\0TF&&/3GJ(J60&MLN,AIC6>=L.(*32^# MDB_XA!8//FS>0(J[\[;1"N(>3BI%@>V*8B'B'4N^@8L,W*1AL@QW+)(,_9RR M)%OS-)5ZD^7@1H1)7C;4PY@;))C)4 XHX%5*NT/0R*"%%3FA D.>"PP&+3?%"WPLHZW25QA6:7@^EJRE*E;:A=VQ@H>Z)RL-_PZ%?RAEC>H4I(3ZAK57[ME]<]H/I 7L-5A._*WK'K=T ,4\WY2:)#"S% M/LFK]^.;J\U&C(MR^T'G^B4\6U3;*11,M;OC(TLWH61VQ-<2TGL7R,#2:L-$ M=9*+7;GGX%[DN8C+PRUG*YX6!O+[M1#YTTEQ@V;;ROQ_4$L#!!0 ( ,N* M<%:G]](W, , .$- 9 >&PO=V]R:W-H965TFZ1=.FJEFWSPY<$JM@9[;3M/]^-E **8U: MC:I? H9[CW?OSM%YN.7B1JX %+K+4B9'UDJI]:EMRW@%&9$G? U,OUEPD1&E MEV)IR[4 DN2@++6QX_3LC%!F1ROP7;E6"M(*.L MN)*[TH@:P/6? > 2@%\*\$J ER=:*,O3.B>*1$/!MTB8:,UF;G)OFLT(2? MT70.\0GRW&.$'8Q;X).7P]TFW-;N5!;ARB*<\WG/\/W4FTF2%"12'&T862QH M2HF"I*P/")F;1A-M'UU0,D\!D<*>^3U:/GI)]$9K]:,0X+<+,#OY5*Y)#"-+ M;U4)XA:LZ.,'M^=\;G.G([*&5U[EE;>//9K6/1A7'M3Z:?R M/1QTZ55'9 VO>I57O;?JX8(XJ#>G%_;#<*>'6\(P]OV@O8?#2G>X5_>$,)*0 M-EE[<:\M34=DC13[58K]]V[C?I=>=436\&I0>35XJS8>/.E/' :#W2YNB?(' MV&MO8M=Y'$B4O,R7C-J:ON=LF7"L]9!8B_7:\O5%5LS\]HHYKYW M=Y<*NO*K([:F7X]SF;MWE/F?#B^9ZV-$K^?U\4Z+MX3YGM?W=WKU:IIJC^+V#!6:+#177^TQU1F&;R MYVFH=%8%=IC4&=Q6&:".#" "GSA3:PE^8RE);8!0TVDXH5=.M\B)>$>2*Q## M=P!%"-5%) )01?*6]!:G@\$2HT%TI!HWY8]+].L.]"]\ Y9:QPVF;"N@$Z/X MH=_(#4[(+-"_9$G$"PGF/_X A]&O;70]@5ETKQNZUR5ZW$'WD:X87=($:YTM M7AF7BOM*6,K;V5_[9.\)S&(_:-@/G,W^8YL_:1WRI;O;%,]=497"!Y(N#T, MCMMU#)%)&?57LMKQ_DIV3]2[DY[0[+(8"P3C"VC9JR?RA697P+@BZ+0=YVGY MNE6DPT,MMX>-.K1LK P\XF7VM/S6Q)ZA:.=TO?OI"%G+[F+&77D,?^JSO".GP',E8) MN:W2"J$5T;'@>UN#N58QG"%VDL83H2.>Z!2QFGM_,M*:O-/8&*#XB 'J)^,O.]ZZ MI>%U+L<&=>0!_J,)@\@&IMK2_H3%BC(),K+4 MD-'52#\=1+5+7)THOBDW6I^XTA(H#]<$IT04 ?K^DG/U>E),T.S5S_\#4$L# M!!0 ( ,N*<%9X9=/$T ( +(' 9 >&PO=V]R:W-H965TD]H"O*1H#@'2N$G/M#2VB%"D0U)V M\O<=4K+B179[Z$7B,O/XW@PY,]A(]:)3 $/>,B[TT$N-6=WXOHY3R*B^DBL0 MN+.0*J,&IVKIZY4"FCBGC/MAL]GU,\J$%PW$0U@ZA(<.[1,.K=*AY806S)RL*34T&BBY(AGHAE>BR3G0.[N&HUGRG-:1%;A5/@[/(DXAOB*M MX"L)FV%80VCR[^[!&3JM*A$MA]/V&_C6A>S K)=#VD+P(U>T1B& M'KYP#6H-7O3Y4]!M?JO3^Y_ ]M2W*_7M<^C1&)9,""MW3+F]4W5J"XB>@[#5 M:1WU^QCZ]:Z(&IOKL++9X]:IN'7.?V#-78[.2\(.;OE+\,,%>V*VCBGDU1#ZK5JO&,7+T]6!]C0RKZ MQP=,T=OU8# #$%0 #0 'AL+W-T>6QE M%8C0IP2D3?KO5BOR,M-\ M(?6 ]!J39V\?DP$)HK?$LW2C/&$#O/'L_>W-VUKIJW5]>[R,7 M-71)?"=QYP!BE!8CC0Y2^YQ\-^VDN-RT8$FLPS#1CW@,5 S*B@D\4 M!Z^49ERLK+D-AFDN M@4 N1".P3:QAV"^HUDS)&S.I%E?&)Y!7C\>KPBB<*;H*VAVR<:AN)L@D5PE3 M39B K$W#OF IR%%\-H>[S@L?0*WSS P23F>YI)6&M4<],+13)L0=?&=\37>X ME^G6GE4;+9NA$50/+8V= /\VF^7>INV\B-R6\52OJSF MR[01@+$'.#LM"K%Z+_A,9LPF?W# 89^N_;QYKOBCB0:M,C4&IHCWP)3FTVW+ M=T6+,5OJ=3LM4UQS^P0U_]TZSYADBHIMT:;WC[G*+U8<=O^5Y.I;95^P4V-] M$#AVD9U3$!F=@LB3Z,G>*8B,CU]D> (:ZR/IL8L,CE*D7Q_7MLZ$.R?"QNK! MR7M OL 97FR">I,%%YK+>C;G2<+DDX.AH==T8OY$W>$WZQ.6TH70XP8V"Y@O0/QW7&@I]P^80B[BFG#GF '^PI"<,X=B. N16$(8; TX@CF +0@"%A6+T']]Y'_OH]Y6_^ M;SO\!5!+ P04 " #+BG!6EXJ[', 3 @ "P %]R96QS+RYR96QS MG9*Y;L,P#$!_Q=">, ?0(8@S9?$6!/D!5J(/V!(%BD6=OZ_:I7&0"QEY/3P2 MW!YI0.TXI+:+J1C]$%)I6M6X 4BV)8]ISI%"KM0L'C6'TD!$VV-#L%HL/D N M&6:WO606IW.D5XA-/E_G;@2=&A(E@6FD7)TZ(=I7\=Q_:0T^FO8R*T>EOH^7%H5 J.W&,E MC'%BM/XU@LD/['X 4$L#!!0 ( ,N*<%9AP_03!@4 !0J / >&PO M=V]R:V)O;VLN>&ULQ9K;;N,V$$!_A?!+4Z"N;5V),^C+K)\<40QUQ-L9DCI]MN[IT=HG\;VNC)\--B%L M3T8C7VQ4+?VO=JL,W%E95\L EVX]\ENG9.DW2H6Z&B7C\7142VT&9Z>[LA9N MA"]L4$70UD!B3'C0ZMG_=S]>BF_:ZT==Z? R&[1_5VH@:FUTK5]5.1N,!\)O M[/-OUNE7:X*LEH6S534;3+H;#\H%7;Q+7D;(>_GHVY0@'^\D@,P&TS$4N-+. MAS9'6[X$QF\*,G=73;#7N@K*7 M/2^[MPZ B^K0G6BXX>9E"\X'>0'7MM(E/+T47V0E3:%$6[D> 28$8'(P0'&T MD @R)2#3'PBYC!#Q'[RP*W$E'6[JC(#,#@9Y8>LM@LP)R/Q@D,M@"P0Y)2"G MAZM)Z3<(\IB /.:%O%2^<'H;TR/8E\9KHSP>U9\(N$^\<,NFKJ5[:9M5KXV& M?Y,P4YX7A6U@ID20GPG(S[R0Y\7?#3SS[60]IF;K,2_2C;7ELZZJUBE?PT8Y M4$J09ATYQ#G&)*7";)4[O=Z$H5T-&P]4WJM.@K=*PO4M;MX)I98)LUMZ.A&7 M*DA=83;**!-FIH24 M-2;,VIB;LO'!O?PBEFK][P+@1MFUD]L-GOP22B4)LTJ64$;9@#7F\^'P059- MFZ5E_:.1>!Y,*)4DS"HA(X6_$HQ)KE*854)CIAB3LDK";!44TH@C6#-7RO^, MV2B[),QV(6.;?DM3MDF8;4/&-GU,RC8)LVWVQ39[FYPR3L)L'!SD[(6C3),P MF^9-M+.7C_),PNP9,NSI=<24\DS*[!E2AWU,RC,ILV<^6"Z+HW?+@I3R3'I0 MSV08D]P/8_8,C9EC3$HY*;-R>CKL&KHWOE-*-"FS:##8V:, M28DF919-'W/9;+=5NQT6FU^;%<:D5),RJX:.+G" EE+229FE0V/VQC?EGI39 M/30F'M\9Y9Z,V3UTK(8;/:/Z9 MW3/R,(99/7LIA[L=<+R9D5$2RI@E1&+VHK>,DE#&+*'>0F((G"OE('R/";&G M8DQ*0MF/7.\,Q<+9R #BA-)@ L68E(0R9@F]P;Q3A35Q$=3EQ!NJ&26AC'VC MK8?YIW$ "L'F:]?P^$"3DE#.+*%WZ\@]4U%.Z2?G_@;@#>!07#>A<0KZIX9V MQYB4?G+NI0^YWL4RSRG]Y-Q+'Q(3RSRG_),S^^?#TXBN?V),\G, ]N\!B#,) M<80Q*?_DS/[Y^%2BK4Z,2?DG9_ M4OZ9'G0#;HHQ*0M-F2U$8QYC3,I"4VX+4<=FO8!X2EEHVEIHU&;V9Z=E-QO_ M#H_PD%[(JE@X$7^ZCR2R/!YIKIJJNH"TK^;6RG+W4>/N@\RS?P!02P,$% M @ RXIP5B=EU:4, @ A"4 !H !X;"]?!-T#(HPS=1Y +Z1 I MTA@\%3$D>/D7Q =B^/2K'-IQWYWJ;M_7Q._8^4ZGI7CFV]Z_IR M.E_9=,.Q'<_+89OZ=OW>;DO2Y3*GX79&\_QT.W/Q^MF7_YG8;3;[=?G9K7\? MRVG\Q^#TIQO>ZZZ4L5F\ML.VC*LF?1RNIVNZ'.3N/+E9O+RMFN'E39HT=Y!" MD,X?9!!D\PBGHK@=Z*>BN!WHIZ*X'>BGHK@=Z*>BN! MWHIZ*X'>AGH;@=Z&>AN!WH9Z&X'>-MDL(=#;4&\CT-M0;R/0VU!O(]#;4&\C MT-M0;R/0VU!O(]#;46\GT-M1;R?0VU%O)]#;46\GT-LGF]T$>COJ[01Z.^KM M!'H[ZNT$>COJ[01Z.^KM!'H'ZAT$>@?J'01Z!^H=!'H'ZAT$>@?J'01ZQ^1G M)8'>@7H'@=Z!>@>!WH%Z!X'>@7H'@=X9]F?4.Q/HG5'O3*!W1KWS=^I= MQ\]#J=>>KS4^_SNI'L_WENOC+\NODY-7Y8)SNJVHSW\!4$L#!!0 ( ,N* M<%;NU>T8Y@$ /4D 3 6T-O;G1E;G1?5'EP97-=+GAM;,W:74_",!0& MX+]"=FM8Z=?\B'"CWJH7_H&Z'61A6YNV(/Q[NP$F&B4:3'QO6*#M><]ZDN>* MZZ>MHS#:M$T7IMDB1G?%6"@7U)J06T==6IE;WYJ8OOH7YDRY-"_$Q&12L-)V MD;HXCGV-;'9]2W.S:N+H;I-^#K7MIIFG)F2CF]W&/FN:&>>:NC0QK;-U5WU* M&>\3\G1RV!,6M0MG:4/&ODSH5[X/V)][6)/W=46C1^/CO6G3+K9I6(C;AD)^ MO,07/=KYO"ZILN6J34?RX#R9*BR(8MODNZ)GQY-CNF':??*3\X00V/$Z_ MXX\S?J__RSX$2!\2I \%TH<&Z:, Z>,&UL M4$L! A0#% @ RHIP5F0$8WWM *P( !$ ( !KP M &1O8U!R;W!S+V-O&UL4$L! A0#% @ RHIP5IEWG4' #8, & @($," >&PO=V]R M:W-H965T&UL4$L! A0#% @ RHIP5MA-"8FL!@ IAP M !@ ("!MP\ 'AL+W=O*88TKL$ M "R$0 & @(&O&0 >&PO=V]R:W-H965T&UL4$L! A0#% @ RHIP5NX#.IG2 @ P0@ !@ ("! MH!X 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MRXIP5B04T80B! Q D !@ ("!43 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ RXIP5G-"A68B!0 9 X !D ("!"U\ M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MRXIP5E0R#)!0!P !18 !D ("!NW 'AL+W=O >&PO=V]R:W-H965T&UL4$L! A0#% @ RXIP5K3XF4@\ P MH < !D ("!EX( 'AL+W=O&PO=V]R:W-H965T) !X;"]W;W)K&UL4$L! A0#% @ RXIP5NHUDS7 @ =@@ !D M ("!IY0 'AL+W=OEP >&PO=V]R:W-H M965T&UL4$L! M A0#% @ RXIP5N]4IFQX P \@@ !D ("!2+L 'AL M+W=OMXTYH# M !D"P &0 @('WO@ >&PO=V]R:W-H965T&UL4$L! A0#% @ RXIP M5II41Z[N P M T !D ("!5<8 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ RXIP5OX0(L&PO=V]R:W-H965T&UL4$L! A0#% @ RXIP5I)>)G.6 P <@L !D M ("!(=\ 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ RXIP5C< 9G:7! 0QP !D ("!_^L 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ RXIP5AUL MS[R=! %1D !D ("!H?8 'AL+W=O&PO=V]R:W-H965T[*^&@( )0& 9 " @83^ !X;"]W;W)K&UL4$L! A0#% @ RXIP5JDF5H'] @ < @ !D M ("!U0 ! 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ RXIP5J94"'JB @ 3@< !D ("! M+@L! 'AL+W=O6-]>T" #["0 &0 @($'#@$ >&PO=V]R:W-H965T&UL4$L! A0#% M @ RXIP5F;%'PAM P " P !D ("!810! 'AL+W=O&PO=V]R:W-H965T."@0 , 8 9 " @1LH 0!X;"]W;W)K&UL4$L! A0#% @ RXIP5KV>=%4?!0 ?A8 !D M ("!7"P! 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ RXIP5D:6X5HO P _0P !D ("!%3@! M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MRXIP5L;#&Q6E!@ PC( !D ("!1$0! 'AL+W=O=OU8# #$%0 #0 @ %S M5@$ >&PO&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"% ,4 " #+BG!6[M7M M&.8! #U) $P @ %48@$ 6T-O;G1E;G1?5'EP97-=+GAM 7;%!+!08 1P!' &@3 !K9 $ ! end XML 82 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 83 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 84 FilingSummary.xml IDEA: XBRL DOCUMENT 3.22.4 html 171 329 1 false 51 0 false 10 false false R1.htm 00090 - Document - Document and Entity Information Sheet http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 00100 - Statement - Consolidated Balance Sheets Sheet http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets Consolidated Balance Sheets Statements 2 false false R3.htm 00105 - Statement - Consolidated Balance Sheets (Parenthetical) Sheet http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheetsParenthetical Consolidated Balance Sheets (Parenthetical) Statements 3 false false R4.htm 00200 - Statement - Consolidated Statements of Earnings Sheet http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings Consolidated Statements of Earnings Statements 4 false false R5.htm 00300 - Statement - Consolidated Statements of Comprehensive Income Sheet http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfComprehensiveIncome Consolidated Statements of Comprehensive Income Statements 5 false false R6.htm 00400 - Statement - Consolidated Statements of Stockholder's Equity Sheet http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfStockholderSEquity Consolidated Statements of Stockholder's Equity Statements 6 false false R7.htm 00500 - Statement - Consolidated Statements of Cash Flows Sheet http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows Consolidated Statements of Cash Flows Statements 7 false false R8.htm 10101 - Disclosure - Description of Business Sheet http://www.waysidetechnology.com/role/DisclosureDescriptionOfBusiness Description of Business Notes 8 false false R9.htm 10201 - Disclosure - Summary of Significant Accounting Policies Sheet http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPolicies Summary of Significant Accounting Policies Notes 9 false false R10.htm 10301 - Disclosure - Acquisition Sheet http://www.waysidetechnology.com/role/DisclosureAcquisition Acquisition Notes 10 false false R11.htm 10401 - Disclosure - Goodwill and Other Intangible Assets Sheet http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssets Goodwill and Other Intangible Assets Notes 11 false false R12.htm 10501 - Disclosure - Right-of-use Asset and Lease Liability Sheet http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiability Right-of-use Asset and Lease Liability Notes 12 false false R13.htm 10601 - Disclosure - Balance Sheet Detail Sheet http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetail Balance Sheet Detail Notes 13 false false R14.htm 10701 - Disclosure - Income Taxes Sheet http://www.waysidetechnology.com/role/DisclosureIncomeTaxes Income Taxes Notes 14 false false R15.htm 10801 - Disclosure - Credit Facility Sheet http://www.waysidetechnology.com/role/DisclosureCreditFacility Credit Facility Notes 15 false false R16.htm 10901 - Disclosure - Stockholders' Equity and Stock Based Compensation Sheet http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensation Stockholders' Equity and Stock Based Compensation Notes 16 false false R17.htm 11001 - Disclosure - Defined Contribution Plan Sheet http://www.waysidetechnology.com/role/DisclosureDefinedContributionPlan Defined Contribution Plan Notes 17 false false R18.htm 11101 - Disclosure - Commitments and Contingencies Sheet http://www.waysidetechnology.com/role/DisclosureCommitmentsAndContingencies Commitments and Contingencies Notes 18 false false R19.htm 11201 - Disclosure - Related Party Transactions Sheet http://www.waysidetechnology.com/role/DisclosureRelatedPartyTransactions Related Party Transactions Notes 19 false false R20.htm 11301 - Disclosure - Industry, Segment and Geographic Financial Information Sheet http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformation Industry, Segment and Geographic Financial Information Notes 20 false false R21.htm 11401 - Disclosure - Schedule II--Valuation and Qualifying Accounts Sheet http://www.waysidetechnology.com/role/DisclosureScheduleIiValuationAndQualifyingAccounts Schedule II--Valuation and Qualifying Accounts Notes 21 false false R22.htm 20202 - Disclosure - Summary of Significant Accounting Policies (Policies) Sheet http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies Summary of Significant Accounting Policies (Policies) Policies http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPolicies 22 false false R23.htm 30203 - Disclosure - Summary of Significant Accounting Policies (Tables) Sheet http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables Summary of Significant Accounting Policies (Tables) Tables http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPolicies 23 false false R24.htm 30303 - Disclosure - Acquisition (Tables) Sheet http://www.waysidetechnology.com/role/DisclosureAcquisitionTables Acquisition (Tables) Tables http://www.waysidetechnology.com/role/DisclosureAcquisition 24 false false R25.htm 30403 - Disclosure - Goodwill and Other Intangible Assets (Tables) Sheet http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsTables Goodwill and Other Intangible Assets (Tables) Tables http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssets 25 false false R26.htm 30503 - Disclosure - Right-of-use Asset and Lease Liability (Tables) Sheet http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityTables Right-of-use Asset and Lease Liability (Tables) Tables http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiability 26 false false R27.htm 30603 - Disclosure - Balance Sheet Detail (Tables) Sheet http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailTables Balance Sheet Detail (Tables) Tables http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetail 27 false false R28.htm 30703 - Disclosure - Income Taxes (Tables) Sheet http://www.waysidetechnology.com/role/DisclosureIncomeTaxesTables Income Taxes (Tables) Tables http://www.waysidetechnology.com/role/DisclosureIncomeTaxes 28 false false R29.htm 30803 - Disclosure - Credit Facility (Tables) Sheet http://www.waysidetechnology.com/role/DisclosureCreditFacilityTables Credit Facility (Tables) Tables http://www.waysidetechnology.com/role/DisclosureCreditFacility 29 false false R30.htm 30903 - Disclosure - Stockholders' Equity and Stock Based Compensation (Tables) Sheet http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationTables Stockholders' Equity and Stock Based Compensation (Tables) Tables http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensation 30 false false R31.htm 31303 - Disclosure - Industry, Segment and Geographic Financial Information (Tables) Sheet http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationTables Industry, Segment and Geographic Financial Information (Tables) Tables http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformation 31 false false R32.htm 40101 - Disclosure - Description of Business (Details) Sheet http://www.waysidetechnology.com/role/DisclosureDescriptionOfBusinessDetails Description of Business (Details) Details http://www.waysidetechnology.com/role/DisclosureDescriptionOfBusiness 32 false false R33.htm 40201 - Disclosure - Summary of Significant Accounting Policies - Net Income Per Common Share (Details) Sheet http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesNetIncomePerCommonShareDetails Summary of Significant Accounting Policies - Net Income Per Common Share (Details) Details 33 false false R34.htm 40202 - Disclosure - Summary of Significant Accounting Policies - Equipment and Revenue Recognition (Details) Sheet http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesEquipmentAndRevenueRecognitionDetails Summary of Significant Accounting Policies - Equipment and Revenue Recognition (Details) Details 34 false false R35.htm 40301 - Disclosure - Acquisition (Details) Sheet http://www.waysidetechnology.com/role/DisclosureAcquisitionDetails Acquisition (Details) Details http://www.waysidetechnology.com/role/DisclosureAcquisitionTables 35 false false R36.htm 40302 - Disclosure - Acquisition - Cash Consideration (Details) Sheet http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails Acquisition - Cash Consideration (Details) Details 36 false false R37.htm 40303 - Disclosure - Acquisition - Supplementary information (Details) Sheet http://www.waysidetechnology.com/role/DisclosureAcquisitionSupplementaryInformationDetails Acquisition - Supplementary information (Details) Details 37 false false R38.htm 40401 - Disclosure - Goodwill and Other Intangible Assets - Summary of goodwill (Details) Sheet http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfGoodwillDetails Goodwill and Other Intangible Assets - Summary of goodwill (Details) Details 38 false false R39.htm 40402 - Disclosure - Goodwill and Other Intangible Assets - Other intangibles, net (Details) Sheet http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsOtherIntangiblesNetDetails Goodwill and Other Intangible Assets - Other intangibles, net (Details) Details 39 false false R40.htm 40403 - Disclosure - Goodwill and Other Intangible Assets - Future amortization expense (Details) Sheet http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsFutureAmortizationExpenseDetails Goodwill and Other Intangible Assets - Future amortization expense (Details) Details 40 false false R41.htm 40501 - Disclosure - Right-of-use Asset and Lease Liability (Details) Sheet http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityDetails Right-of-use Asset and Lease Liability (Details) Details http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityTables 41 false false R42.htm 40502 - Disclosure - Right-of-use Asset and Lease Liability - Operating lease information (Details) Sheet http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityOperatingLeaseInformationDetails Right-of-use Asset and Lease Liability - Operating lease information (Details) Details 42 false false R43.htm 40503 - Disclosure - Right-of-use Asset and Lease Liability - Maturities of lease liabilities (Details) Sheet http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityMaturitiesOfLeaseLiabilitiesDetails Right-of-use Asset and Lease Liability - Maturities of lease liabilities (Details) Details 43 false false R44.htm 40601 - Disclosure - Balance Sheet Detail (Details) Sheet http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailDetails Balance Sheet Detail (Details) Details http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailTables 44 false false R45.htm 40602 - Disclosure - Balance Sheet Detail - Accounts receivable - long term, net (Details) Sheet http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailAccountsReceivableLongTermNetDetails Balance Sheet Detail - Accounts receivable - long term, net (Details) Details 45 false false R46.htm 40603 - Disclosure - Balance Sheet Detail - Accounts payable and accrued expenses and AOCI (Details) Sheet http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailAccountsPayableAndAccruedExpensesAndAociDetails Balance Sheet Detail - Accounts payable and accrued expenses and AOCI (Details) Details 46 false false R47.htm 40701 - Disclosure - Income Taxes - Deferred Tax Assets - (Details) Sheet http://www.waysidetechnology.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails Income Taxes - Deferred Tax Assets - (Details) Details 47 false false R48.htm 40702 - Disclosure - Income Taxes - Provision for Income Taxes - (Details) Sheet http://www.waysidetechnology.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails Income Taxes - Provision for Income Taxes - (Details) Details 48 false false R49.htm 40703 - Disclosure - Income Taxes - Reconciliations and Components of Income - (Details) Sheet http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails Income Taxes - Reconciliations and Components of Income - (Details) Details 49 false false R50.htm 40704 - Disclosure - Income Taxes - Unrecognized Tax Benefits - (Details) Sheet http://www.waysidetechnology.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails Income Taxes - Unrecognized Tax Benefits - (Details) Details 50 false false R51.htm 40801 - Disclosure - Credit Facility (Details) Sheet http://www.waysidetechnology.com/role/DisclosureCreditFacilityDetails Credit Facility (Details) Details http://www.waysidetechnology.com/role/DisclosureCreditFacilityTables 51 false false R52.htm 40802 - Disclosure - Credit Facility - Future Principal Payments Under Term Loan (Details) Sheet http://www.waysidetechnology.com/role/DisclosureCreditFacilityFuturePrincipalPaymentsUnderTermLoanDetails Credit Facility - Future Principal Payments Under Term Loan (Details) Details 52 false false R53.htm 40901 - Disclosure - Stockholders' Equity and Stock Based Compensation - Plans and options (Details) Sheet http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationPlansAndOptionsDetails Stockholders' Equity and Stock Based Compensation - Plans and options (Details) Details 53 false false R54.htm 40902 - Disclosure - Stockholders' Equity and Stock Based Compensation - Nonvested (Details) Sheet http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationNonvestedDetails Stockholders' Equity and Stock Based Compensation - Nonvested (Details) Details http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationTables 54 false false R55.htm 41001 - Disclosure - Defined Contribution Plan (Details) Sheet http://www.waysidetechnology.com/role/DisclosureDefinedContributionPlanDetails Defined Contribution Plan (Details) Details http://www.waysidetechnology.com/role/DisclosureDefinedContributionPlan 55 false false R56.htm 41101 - Disclosure - Commitments and Contingencies (Details) Sheet http://www.waysidetechnology.com/role/DisclosureCommitmentsAndContingenciesDetails Commitments and Contingencies (Details) Details http://www.waysidetechnology.com/role/DisclosureCommitmentsAndContingencies 56 false false R57.htm 41201 - Disclosure - Related Party Transactions (Detail) Sheet http://www.waysidetechnology.com/role/DisclosureRelatedPartyTransactionsDetail Related Party Transactions (Detail) Details http://www.waysidetechnology.com/role/DisclosureRelatedPartyTransactions 57 false false R58.htm 41301 - Disclosure - Industry, Segment and Geographic Financial Information (Details) Sheet http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails Industry, Segment and Geographic Financial Information (Details) Details http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationTables 58 false false R59.htm 41302 - Disclosure - Industry, Segment and Geographic Financial Information - Selected Assets by Segment (Details) Sheet http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationSelectedAssetsBySegmentDetails Industry, Segment and Geographic Financial Information - Selected Assets by Segment (Details) Details 59 false false R60.htm 41303 - Disclosure - Industry, Segment and Geographic Financial Information - Disaggregation of Revenue (Details) Sheet http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDisaggregationOfRevenueDetails Industry, Segment and Geographic Financial Information - Disaggregation of Revenue (Details) Details 60 false false R61.htm 41304 - Disclosure - Industry, Segment and Geographic Financial Information - Assets (Details) Sheet http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationAssetsDetails Industry, Segment and Geographic Financial Information - Assets (Details) Details http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationTables 61 false false R62.htm 41305 - Disclosure - Industry, Segment and Geographic Financial Information - Concentration (Details) Sheet http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationConcentrationDetails Industry, Segment and Geographic Financial Information - Concentration (Details) Details 62 false false R63.htm 41401 - Disclosure - Schedule II--Valuation and Qualifying Accounts (Details) Sheet http://www.waysidetechnology.com/role/DisclosureScheduleIiValuationAndQualifyingAccountsDetails Schedule II--Valuation and Qualifying Accounts (Details) Details http://www.waysidetechnology.com/role/DisclosureScheduleIiValuationAndQualifyingAccounts 63 false false All Reports Book All Reports [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 6 fact(s) appearing in ix:hidden were eligible for transformation: clmb:PeriodForPaymentOfSeveranceChargesInConsecutiveMonthlyInstallments, dei:EntityRegistrantName, us-gaap:DebtInstrumentTerm, us-gaap:FiniteLivedIntangibleAssetUsefulLife, us-gaap:PropertyPlantAndEquipmentUsefulLife - clmb-20221231x10k.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 - clmb-20221231x10k.htm 9 clmb-20221231x10k.htm clmb-20221231.xsd clmb-20221231_cal.xml clmb-20221231_def.xml clmb-20221231_lab.xml clmb-20221231_pre.xml clmb-20221231xex21d1.htm clmb-20221231xex23d1.htm clmb-20221231xex31d1.htm clmb-20221231xex31d2.htm clmb-20221231xex31d3.htm clmb-20221231xex32d1.htm clmb-20221231xex32d2.htm clmb-20221231xex32d3.htm clmb-20221231xex4d3.htm http://fasb.org/srt/2022 http://fasb.org/us-gaap/2022 http://xbrl.sec.gov/dei/2022 true true JSON 87 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "clmb-20221231x10k.htm": { "axisCustom": 0, "axisStandard": 23, "baseTaxonomies": { "http://fasb.org/srt/2022": 1, "http://fasb.org/us-gaap/2022": 657, "http://xbrl.sec.gov/dei/2022": 36 }, "contextCount": 171, "dts": { "calculationLink": { "local": [ "clmb-20221231_cal.xml" ] }, "definitionLink": { "local": [ "clmb-20221231_def.xml" ] }, "inline": { "local": [ "clmb-20221231x10k.htm" ] }, "labelLink": { "local": [ "clmb-20221231_lab.xml" ] }, "presentationLink": { "local": [ "clmb-20221231_pre.xml" ] }, "schema": { "local": [ "clmb-20221231.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd", "https://xbrl.fasb.org/srt/2022/elts/srt-roles-2022.xsd", "https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd", "https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd", "https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd", "https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd", "https://xbrl.sec.gov/country/2022/country-2022.xsd", "https://xbrl.sec.gov/dei/2022/dei-2022.xsd" ] } }, "elementCount": 510, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2022": 6, "http://www.waysidetechnology.com/20221231": 1, "http://xbrl.sec.gov/dei/2022": 5, "total": 12 }, "keyCustom": 24, "keyStandard": 305, "memberCustom": 20, "memberStandard": 31, "nsprefix": "clmb", "nsuri": "http://www.waysidetechnology.com/20221231", "report": { "R1": { "firstAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "00090 - Document - Document and Entity Information", "menuCat": "Cover", "order": "1", "role": "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation", "shortName": "Document and Entity Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10301 - Disclosure - Acquisition", "menuCat": "Notes", "order": "10", "role": "http://www.waysidetechnology.com/role/DisclosureAcquisition", "shortName": "Acquisition", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10401 - Disclosure - Goodwill and Other Intangible Assets", "menuCat": "Notes", "order": "11", "role": "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssets", "shortName": "Goodwill and Other Intangible Assets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10501 - Disclosure - Right-of-use Asset and Lease Liability", "menuCat": "Notes", "order": "12", "role": "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiability", "shortName": "Right-of-use Asset and Lease Liability", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10601 - Disclosure - Balance Sheet Detail", "menuCat": "Notes", "order": "13", "role": "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetail", "shortName": "Balance Sheet Detail", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10701 - Disclosure - Income Taxes", "menuCat": "Notes", "order": "14", "role": "http://www.waysidetechnology.com/role/DisclosureIncomeTaxes", "shortName": "Income Taxes", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LongTermDebtTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10801 - Disclosure - Credit Facility", "menuCat": "Notes", "order": "15", "role": "http://www.waysidetechnology.com/role/DisclosureCreditFacility", "shortName": "Credit Facility", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LongTermDebtTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10901 - Disclosure - Stockholders' Equity and Stock Based Compensation", "menuCat": "Notes", "order": "16", "role": "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensation", "shortName": "Stockholders' Equity and Stock Based Compensation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11001 - Disclosure - Defined Contribution Plan", "menuCat": "Notes", "order": "17", "role": "http://www.waysidetechnology.com/role/DisclosureDefinedContributionPlan", "shortName": "Defined Contribution Plan", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11101 - Disclosure - Commitments and Contingencies", "menuCat": "Notes", "order": "18", "role": "http://www.waysidetechnology.com/role/DisclosureCommitmentsAndContingencies", "shortName": "Commitments and Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11201 - Disclosure - Related Party Transactions", "menuCat": "Notes", "order": "19", "role": "http://www.waysidetechnology.com/role/DisclosureRelatedPartyTransactions", "shortName": "Related Party Transactions", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_hNTLg8oS-ke1RjrnEpxOEA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00100 - Statement - Consolidated Balance Sheets", "menuCat": "Statements", "order": "2", "role": "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets", "shortName": "Consolidated Balance Sheets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_hNTLg8oS-ke1RjrnEpxOEA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11301 - Disclosure - Industry, Segment and Geographic Financial Information", "menuCat": "Notes", "order": "20", "role": "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformation", "shortName": "Industry, Segment and Geographic Financial Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11401 - Disclosure - Schedule II--Valuation and Qualifying Accounts", "menuCat": "Notes", "order": "21", "role": "http://www.waysidetechnology.com/role/DisclosureScheduleIiValuationAndQualifyingAccounts", "shortName": "Schedule II--Valuation and Qualifying Accounts", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConsolidationPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "20202 - Disclosure - Summary of Significant Accounting Policies (Policies)", "menuCat": "Policies", "order": "22", "role": "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies", "shortName": "Summary of Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConsolidationPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30203 - Disclosure - Summary of Significant Accounting Policies (Tables)", "menuCat": "Tables", "order": "23", "role": "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables", "shortName": "Summary of Significant Accounting Policies (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_us-gaap_BusinessAcquisitionAxis_clmb_InterworkGroupInc.Member__d4RZaxeCEa6QpZbminEFA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30303 - Disclosure - Acquisition (Tables)", "menuCat": "Tables", "order": "24", "role": "http://www.waysidetechnology.com/role/DisclosureAcquisitionTables", "shortName": "Acquisition (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_us-gaap_BusinessAcquisitionAxis_clmb_InterworkGroupInc.Member__d4RZaxeCEa6QpZbminEFA", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30403 - Disclosure - Goodwill and Other Intangible Assets (Tables)", "menuCat": "Tables", "order": "25", "role": "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsTables", "shortName": "Goodwill and Other Intangible Assets (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "clmb:LeaseQuantitativeDisclosureTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30503 - Disclosure - Right-of-use Asset and Lease Liability (Tables)", "menuCat": "Tables", "order": "26", "role": "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityTables", "shortName": "Right-of-use Asset and Lease Liability (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "clmb:LeaseQuantitativeDisclosureTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30603 - Disclosure - Balance Sheet Detail (Tables)", "menuCat": "Tables", "order": "27", "role": "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailTables", "shortName": "Balance Sheet Detail (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30703 - Disclosure - Income Taxes (Tables)", "menuCat": "Tables", "order": "28", "role": "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesTables", "shortName": "Income Taxes (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30803 - Disclosure - Credit Facility (Tables)", "menuCat": "Tables", "order": "29", "role": "http://www.waysidetechnology.com/role/DisclosureCreditFacilityTables", "shortName": "Credit Facility (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_hNTLg8oS-ke1RjrnEpxOEA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00105 - Statement - Consolidated Balance Sheets (Parenthetical)", "menuCat": "Statements", "order": "3", "role": "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheetsParenthetical", "shortName": "Consolidated Balance Sheets (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_hNTLg8oS-ke1RjrnEpxOEA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30903 - Disclosure - Stockholders' Equity and Stock Based Compensation (Tables)", "menuCat": "Tables", "order": "30", "role": "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationTables", "shortName": "Stockholders' Equity and Stock Based Compensation (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31303 - Disclosure - Industry, Segment and Geographic Financial Information (Tables)", "menuCat": "Tables", "order": "31", "role": "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationTables", "shortName": "Industry, Segment and Geographic Financial Information (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "p", "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unitRef": "Unit_Standard_segment_0Ol33z8ioEKVNDWcjuUhoA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40101 - Disclosure - Description of Business (Details)", "menuCat": "Details", "order": "32", "role": "http://www.waysidetechnology.com/role/DisclosureDescriptionOfBusinessDetails", "shortName": "Description of Business (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R33": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40201 - Disclosure - Summary of Significant Accounting Policies - Net Income Per Common Share (Details)", "menuCat": "Details", "order": "33", "role": "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesNetIncomePerCommonShareDetails", "shortName": "Summary of Significant Accounting Policies - Net Income Per Common Share (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": "-3", "lang": null, "name": "us-gaap:ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "p", "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unitRef": "Unit_Standard_segment_0Ol33z8ioEKVNDWcjuUhoA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40202 - Disclosure - Summary of Significant Accounting Policies - Equipment and Revenue Recognition (Details)", "menuCat": "Details", "order": "34", "role": "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesEquipmentAndRevenueRecognitionDetails", "shortName": "Summary of Significant Accounting Policies - Equipment and Revenue Recognition (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_EquipmentMember_mlJJ937KL06h7A4PZTwSBQ", "decimals": null, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:BusinessCombinationAcquisitionRelatedCosts", "reportCount": 1, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40301 - Disclosure - Acquisition (Details)", "menuCat": "Details", "order": "35", "role": "http://www.waysidetechnology.com/role/DisclosureAcquisitionDetails", "shortName": "Acquisition (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_8_18_2022_To_8_18_2022_us-gaap_BusinessAcquisitionAxis_clmb_SpinnakarLimitedMember_yC21q2FsD0idtfMA9mE1rw", "decimals": "-5", "lang": null, "name": "us-gaap:BusinessCombinationConsiderationTransferred1", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_hNTLg8oS-ke1RjrnEpxOEA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40302 - Disclosure - Acquisition - Cash Consideration (Details)", "menuCat": "Details", "order": "36", "role": "http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails", "shortName": "Acquisition - Cash Consideration (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_8_18_2022_us-gaap_BusinessAcquisitionAxis_clmb_SpinnakarLimitedMember_E_KxjNGS-Eund_N3Io980g", "decimals": "-3", "lang": null, "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "clmb:BusinessAcquisitionConsiderationInformationTableTextBlock", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_8_18_2022_To_8_18_2022_us-gaap_BusinessAcquisitionAxis_clmb_SpinnakarLimitedMember_yC21q2FsD0idtfMA9mE1rw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PaymentsToAcquireBusinessesGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40303 - Disclosure - Acquisition - Supplementary information (Details)", "menuCat": "Details", "order": "37", "role": "http://www.waysidetechnology.com/role/DisclosureAcquisitionSupplementaryInformationDetails", "shortName": "Acquisition - Supplementary information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "clmb:BusinessAcquisitionConsiderationInformationTableTextBlock", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_8_18_2022_To_8_18_2022_us-gaap_BusinessAcquisitionAxis_clmb_SpinnakarLimitedMember_yC21q2FsD0idtfMA9mE1rw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PaymentsToAcquireBusinessesGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2021_0dvuby7E7Uy_m0OIwguzwA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40401 - Disclosure - Goodwill and Other Intangible Assets - Summary of goodwill (Details)", "menuCat": "Details", "order": "38", "role": "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfGoodwillDetails", "shortName": "Goodwill and Other Intangible Assets - Summary of goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfGoodwillTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": "-3", "lang": null, "name": "us-gaap:GoodwillAcquiredDuringPeriod", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_hNTLg8oS-ke1RjrnEpxOEA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40402 - Disclosure - Goodwill and Other Intangible Assets - Other intangibles, net (Details)", "menuCat": "Details", "order": "39", "role": "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsOtherIntangiblesNetDetails", "shortName": "Goodwill and Other Intangible Assets - Other intangibles, net (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_hNTLg8oS-ke1RjrnEpxOEA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00200 - Statement - Consolidated Statements of Earnings", "menuCat": "Statements", "order": "4", "role": "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings", "shortName": "Consolidated Statements of Earnings", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": "-3", "lang": null, "name": "us-gaap:CostOfGoodsAndServicesSold", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_hNTLg8oS-ke1RjrnEpxOEA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40403 - Disclosure - Goodwill and Other Intangible Assets - Future amortization expense (Details)", "menuCat": "Details", "order": "40", "role": "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsFutureAmortizationExpenseDetails", "shortName": "Goodwill and Other Intangible Assets - Future amortization expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_hNTLg8oS-ke1RjrnEpxOEA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "us-gaap:LesseeOperatingLeaseTermOfContract", "p", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_srt_RangeAxis_srt_MinimumMember_4xdOZhMeUU-rIk1WEW2QEg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseTermOfContract", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40501 - Disclosure - Right-of-use Asset and Lease Liability (Details)", "menuCat": "Details", "order": "41", "role": "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityDetails", "shortName": "Right-of-use Asset and Lease Liability (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:LesseeOperatingLeaseTermOfContract", "p", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_srt_RangeAxis_srt_MinimumMember_4xdOZhMeUU-rIk1WEW2QEg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseTermOfContract", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "clmb:LeaseQuantitativeDisclosureTableTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeasePayments", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40502 - Disclosure - Right-of-use Asset and Lease Liability - Operating lease information (Details)", "menuCat": "Details", "order": "42", "role": "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityOperatingLeaseInformationDetails", "shortName": "Right-of-use Asset and Lease Liability - Operating lease information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "clmb:LeaseQuantitativeDisclosureTableTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeasePayments", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_hNTLg8oS-ke1RjrnEpxOEA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40503 - Disclosure - Right-of-use Asset and Lease Liability - Maturities of lease liabilities (Details)", "menuCat": "Details", "order": "43", "role": "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityMaturitiesOfLeaseLiabilitiesDetails", "shortName": "Right-of-use Asset and Lease Liability - Maturities of lease liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_hNTLg8oS-ke1RjrnEpxOEA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_hNTLg8oS-ke1RjrnEpxOEA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40601 - Disclosure - Balance Sheet Detail (Details)", "menuCat": "Details", "order": "44", "role": "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailDetails", "shortName": "Balance Sheet Detail (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_hNTLg8oS-ke1RjrnEpxOEA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_hNTLg8oS-ke1RjrnEpxOEA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AccountsReceivableGrossNoncurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40602 - Disclosure - Balance Sheet Detail - Accounts receivable - long term, net (Details)", "menuCat": "Details", "order": "45", "role": "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailAccountsReceivableLongTermNetDetails", "shortName": "Balance Sheet Detail - Accounts receivable - long term, net (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_hNTLg8oS-ke1RjrnEpxOEA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AccountsReceivableGrossNoncurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_hNTLg8oS-ke1RjrnEpxOEA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AccountsPayableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40603 - Disclosure - Balance Sheet Detail - Accounts payable and accrued expenses and AOCI (Details)", "menuCat": "Details", "order": "46", "role": "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailAccountsPayableAndAccruedExpensesAndAociDetails", "shortName": "Balance Sheet Detail - Accounts payable and accrued expenses and AOCI (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_hNTLg8oS-ke1RjrnEpxOEA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AccountsPayableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_hNTLg8oS-ke1RjrnEpxOEA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40701 - Disclosure - Income Taxes - Deferred Tax Assets - (Details)", "menuCat": "Details", "order": "47", "role": "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails", "shortName": "Income Taxes - Deferred Tax Assets - (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_hNTLg8oS-ke1RjrnEpxOEA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CurrentFederalTaxExpenseBenefit", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40702 - Disclosure - Income Taxes - Provision for Income Taxes - (Details)", "menuCat": "Details", "order": "48", "role": "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails", "shortName": "Income Taxes - Provision for Income Taxes - (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CurrentFederalTaxExpenseBenefit", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40703 - Disclosure - Income Taxes - Reconciliations and Components of Income - (Details)", "menuCat": "Details", "order": "49", "role": "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails", "shortName": "Income Taxes - Reconciliations and Components of Income - (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00300 - Statement - Consolidated Statements of Comprehensive Income", "menuCat": "Statements", "order": "5", "role": "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfComprehensiveIncome", "shortName": "Consolidated Statements of Comprehensive Income", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": "-3", "lang": null, "name": "us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2020_kF6vDpkjpESrV0Mz7XxUKQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:UnrecognizedTaxBenefits", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40704 - Disclosure - Income Taxes - Unrecognized Tax Benefits - (Details)", "menuCat": "Details", "order": "50", "role": "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails", "shortName": "Income Taxes - Unrecognized Tax Benefits - (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2020_kF6vDpkjpESrV0Mz7XxUKQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:UnrecognizedTaxBenefits", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_4_8_2022_QZ5zpZOYHEOgtaDDIK-ZWA", "decimals": "4", "first": true, "lang": null, "name": "us-gaap:DebtInstrumentInterestRateStatedPercentage", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_3gKDW4D-LEiWDGJreDki9Q", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40801 - Disclosure - Credit Facility (Details)", "menuCat": "Details", "order": "51", "role": "http://www.waysidetechnology.com/role/DisclosureCreditFacilityDetails", "shortName": "Credit Facility (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_4_8_2022_QZ5zpZOYHEOgtaDDIK-ZWA", "decimals": "4", "first": true, "lang": null, "name": "us-gaap:DebtInstrumentInterestRateStatedPercentage", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_3gKDW4D-LEiWDGJreDki9Q", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_clmb_TermLoansMember_DGZS6yVVNUKouvqKzCqsmg", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40802 - Disclosure - Credit Facility - Future Principal Payments Under Term Loan (Details)", "menuCat": "Details", "order": "52", "role": "http://www.waysidetechnology.com/role/DisclosureCreditFacilityFuturePrincipalPaymentsUnderTermLoanDetails", "shortName": "Credit Facility - Future Principal Payments Under Term Loan (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_clmb_TermLoansMember_DGZS6yVVNUKouvqKzCqsmg", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "us-gaap:CommonStockParOrStatedValuePerShare", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_hNTLg8oS-ke1RjrnEpxOEA", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:CommonStockParOrStatedValuePerShare", "reportCount": 1, "unitRef": "Unit_Divide_USD_shares_hDt047fVpUOmpS94tf06hA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40901 - Disclosure - Stockholders' Equity and Stock Based Compensation - Plans and options (Details)", "menuCat": "Details", "order": "53", "role": "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationPlansAndOptionsDetails", "shortName": "Stockholders' Equity and Stock Based Compensation - Plans and options (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_hNTLg8oS-ke1RjrnEpxOEA", "decimals": "INF", "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_BAwCRtXb6kK8gIMzbmWyHA", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeStatementLocationAxis_us-gaap_SellingGeneralAndAdministrativeExpensesMember_kCDgxi18IEaIlmPlpe_lxQ", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40902 - Disclosure - Stockholders' Equity and Stock Based Compensation - Nonvested (Details)", "menuCat": "Details", "order": "54", "role": "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationNonvestedDetails", "shortName": "Stockholders' Equity and Stock Based Compensation - Nonvested (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeStatementLocationAxis_us-gaap_SellingGeneralAndAdministrativeExpensesMember_kCDgxi18IEaIlmPlpe_lxQ", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "p", "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": "2", "first": true, "lang": null, "name": "us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_3gKDW4D-LEiWDGJreDki9Q", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41001 - Disclosure - Defined Contribution Plan (Details)", "menuCat": "Details", "order": "55", "role": "http://www.waysidetechnology.com/role/DisclosureDefinedContributionPlanDetails", "shortName": "Defined Contribution Plan (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": "2", "first": true, "lang": null, "name": "us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_3gKDW4D-LEiWDGJreDki9Q", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": "0", "first": true, "lang": null, "name": "clmb:NumberOfExecutiveOfficersWithEmploymentAgreements", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_director_ePa5dbc_DEaJWVZpVYzgDA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41101 - Disclosure - Commitments and Contingencies (Details)", "menuCat": "Details", "order": "56", "role": "http://www.waysidetechnology.com/role/DisclosureCommitmentsAndContingenciesDetails", "shortName": "Commitments and Contingencies (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": "0", "first": true, "lang": null, "name": "clmb:NumberOfExecutiveOfficersWithEmploymentAgreements", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_director_ePa5dbc_DEaJWVZpVYzgDA", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "p", "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_hNTLg8oS-ke1RjrnEpxOEA", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:AccountsPayableRelatedPartiesCurrentAndNoncurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41201 - Disclosure - Related Party Transactions (Detail)", "menuCat": "Details", "order": "57", "role": "http://www.waysidetechnology.com/role/DisclosureRelatedPartyTransactionsDetail", "shortName": "Related Party Transactions (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_hNTLg8oS-ke1RjrnEpxOEA", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:AccountsPayableRelatedPartiesCurrentAndNoncurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "p", "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unitRef": "Unit_Standard_segment_0Ol33z8ioEKVNDWcjuUhoA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41301 - Disclosure - Industry, Segment and Geographic Financial Information (Details)", "menuCat": "Details", "order": "58", "role": "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails", "shortName": "Industry, Segment and Geographic Financial Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": "-3", "lang": null, "name": "us-gaap:DirectOperatingCosts", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_hNTLg8oS-ke1RjrnEpxOEA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Assets", "reportCount": 1, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41302 - Disclosure - Industry, Segment and Geographic Financial Information - Selected Assets by Segment (Details)", "menuCat": "Details", "order": "59", "role": "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationSelectedAssetsBySegmentDetails", "shortName": "Industry, Segment and Geographic Financial Information - Selected Assets by Segment (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_QCPvAM3Vh0ykHmyign4x_w", "decimals": "-3", "lang": null, "name": "us-gaap:Assets", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_M9w_L5D4AkCcehxNVc4UWg", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00400 - Statement - Consolidated Statements of Stockholder's Equity", "menuCat": "Statements", "order": "6", "role": "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfStockholderSEquity", "shortName": "Consolidated Statements of Stockholder's Equity", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_M9w_L5D4AkCcehxNVc4UWg", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R60": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41303 - Disclosure - Industry, Segment and Geographic Financial Information - Disaggregation of Revenue (Details)", "menuCat": "Details", "order": "60", "role": "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDisaggregationOfRevenueDetails", "shortName": "Industry, Segment and Geographic Financial Information - Disaggregation of Revenue (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_US_sQczEDCCtkO4smWNKQxWZg", "decimals": "-3", "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R61": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_hNTLg8oS-ke1RjrnEpxOEA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Assets", "reportCount": 1, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41304 - Disclosure - Industry, Segment and Geographic Financial Information - Assets (Details)", "menuCat": "Details", "order": "61", "role": "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationAssetsDetails", "shortName": "Industry, Segment and Geographic Financial Information - Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2022_srt_StatementGeographicalAxis_country_US_jhQ4JZF1ZEG6G_zH7J112Q", "decimals": "-3", "lang": null, "name": "us-gaap:Assets", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R62": { "firstAnchor": { "ancestors": [ "clmb:ConcentrationRiskNumberOfCustomers", "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_srt_MajorCustomersAxis_clmb_TopFiveCustomersMember_Xck5BGVhV0W6FuFIJXeL-Q", "decimals": "INF", "first": true, "lang": null, "name": "clmb:ConcentrationRiskNumberOfCustomers", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_customer_rkarxknZwkyeitIa0K-bXg", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41305 - Disclosure - Industry, Segment and Geographic Financial Information - Concentration (Details)", "menuCat": "Details", "order": "62", "role": "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationConcentrationDetails", "shortName": "Industry, Segment and Geographic Financial Information - Concentration (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "clmb:ConcentrationRiskNumberOfCustomers", "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_srt_MajorCustomersAxis_clmb_TopFiveCustomersMember_Xck5BGVhV0W6FuFIJXeL-Q", "decimals": "INF", "first": true, "lang": null, "name": "clmb:ConcentrationRiskNumberOfCustomers", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_customer_rkarxknZwkyeitIa0K-bXg", "xsiNil": "false" } }, "R63": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_clmb_AllowanceCreditLossMember_5bGvl5Moz0G5T-2DOMzYsA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ValuationAllowancesAndReservesBalance", "reportCount": 1, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41401 - Disclosure - Schedule II--Valuation and Qualifying Accounts (Details)", "menuCat": "Details", "order": "63", "role": "http://www.waysidetechnology.com/role/DisclosureScheduleIiValuationAndQualifyingAccountsDetails", "shortName": "Schedule II--Valuation and Qualifying Accounts (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_clmb_AllowanceCreditLossMember_sNxVwSgKakW6k-pnydSi0w", "decimals": "-3", "lang": null, "name": "us-gaap:ValuationAllowancesAndReservesBalance", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProfitLoss", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00500 - Statement - Consolidated Statements of Cash Flows", "menuCat": "Statements", "order": "7", "role": "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows", "shortName": "Consolidated Statements of Cash Flows", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProfitLoss", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_UUiwDlxjtkS7UWTMpKSkIw", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10101 - Disclosure - Description of Business", "menuCat": "Notes", "order": "8", "role": "http://www.waysidetechnology.com/role/DisclosureDescriptionOfBusiness", "shortName": "Description of Business", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10201 - Disclosure - Summary of Significant Accounting Policies", "menuCat": "Notes", "order": "9", "role": "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPolicies", "shortName": "Summary of Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "clmb-20221231x10k.htm", "contextRef": "Duration_1_1_2022_To_12_31_2022_QqAl-yKvx0G5gXj2-vqh3w", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 51, "tag": { "clmb_AccountsReceivableNonCurrentPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for accounts receivable that are classified as noncurrent at the end of the reporting period.", "label": "Accounts Receivable non Current [Policy Text Block]", "terseLabel": "Accounts Receivable-Long-Term" } } }, "localname": "AccountsReceivableNonCurrentPolicyTextBlock", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "clmb_AccountsReceivableNoncurrentDiscount": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of discount given on long term accounts receivable.", "label": "Accounts Receivable Noncurrent Discount", "negatedLabel": "Less unamortized discount" } } }, "localname": "AccountsReceivableNoncurrentDiscount", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailAccountsReceivableLongTermNetDetails" ], "xbrltype": "monetaryItemType" }, "clmb_AdjustmentForAmortizationOfDiscountOnAccountsReceivable": { "auth_ref": [], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of amortization of discount on accounts receivable.", "label": "Adjustment For Amortization of Discount on Accounts Receivable", "terseLabel": "Amortization of discount on accounts receivable" } } }, "localname": "AdjustmentForAmortizationOfDiscountOnAccountsReceivable", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "clmb_AllowanceCreditLossMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Allowance for credit loss from right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.", "label": "Allowances for accounts receivable" } } }, "localname": "AllowanceCreditLossMember", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureScheduleIiValuationAndQualifyingAccountsDetails" ], "xbrltype": "domainItemType" }, "clmb_BusinessAcquisitionConsiderationInformationTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amounts making up total consideration within a business acquisition.", "label": "Business Acquisition Consideration Information [Table Text Block]", "terseLabel": "Summary of supplementary information related to acquisition" } } }, "localname": "BusinessAcquisitionConsiderationInformationTableTextBlock", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionTables" ], "xbrltype": "textBlockItemType" }, "clmb_BusinessCombinationMeasurementPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the period of time in which the information necessary to make estimates and assumptions to determine the price of the business combination may be collected.", "label": "Business Combination Measurement Period", "terseLabel": "Estimates and assumptions measurement period" } } }, "localname": "BusinessCombinationMeasurementPeriod", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionDetails" ], "xbrltype": "durationItemType" }, "clmb_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayableAndOtherCurrentLiabilities": { "auth_ref": [], "calculation": { "http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails": { "order": 7.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities incurred for goods and services received that are used in an entity's business and related party payables, and amount of other liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable And Other Current Liabilities", "negatedLabel": "Accounts payable and other current liabilities" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayableAndOtherCurrentLiabilities", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails" ], "xbrltype": "monetaryItemType" }, "clmb_BusinessCombinationTotalPurchaseConsideration": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of total purchase consideration including the contingent earn out payments under the business combination.", "label": "Business Combination, Total Purchase Consideration", "totalLabel": "Total purchase consideration" } } }, "localname": "BusinessCombinationTotalPurchaseConsideration", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionSupplementaryInformationDetails" ], "xbrltype": "monetaryItemType" }, "clmb_ConcentrationRiskNumberOfCustomers": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the number of customers on whom the entity significantly rely giving rise to concentration risk.", "label": "Concentration Risk Number of Customers", "terseLabel": "Number of customers" } } }, "localname": "ConcentrationRiskNumberOfCustomers", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationConcentrationDetails" ], "xbrltype": "integerItemType" }, "clmb_CurrentAmountOfNoncurrentAccountsReceivable": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The current amount of long term accounts receivable included in accounts receivable, current.", "label": "Current Amount Of Noncurrent Accounts Receivable", "negatedTerseLabel": "Less current portion included in accounts receivable" } } }, "localname": "CurrentAmountOfNoncurrentAccountsReceivable", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailAccountsReceivableLongTermNetDetails" ], "xbrltype": "monetaryItemType" }, "clmb_CustomerAndVendorRelationshipsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "It represents the information pertaining to the customer and vendor relationships.", "label": "Customer and vendor relationships" } } }, "localname": "CustomerAndVendorRelationshipsMember", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsOtherIntangiblesNetDetails" ], "xbrltype": "domainItemType" }, "clmb_CustomerOneMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to customer one.", "label": "Customer one" } } }, "localname": "CustomerOneMember", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationConcentrationDetails" ], "xbrltype": "domainItemType" }, "clmb_CustomerTwoMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to customer two.", "label": "Customer two" } } }, "localname": "CustomerTwoMember", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationConcentrationDetails" ], "xbrltype": "domainItemType" }, "clmb_DescriptionOfBusinessDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Description of Business" } } }, "localname": "DescriptionOfBusinessDisclosureAbstract", "nsuri": "http://www.waysidetechnology.com/20221231", "xbrltype": "stringItemType" }, "clmb_DistributionSegmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Segment that distributes technical software to corporate resellers, value added resellers (VARs), consultants and systems integrators worldwide.", "label": "Distribution" } } }, "localname": "DistributionSegmentMember", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails", "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDisaggregationOfRevenueDetails", "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationSelectedAssetsBySegmentDetails" ], "xbrltype": "domainItemType" }, "clmb_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxesOverU.s.StatutoryRate": { "auth_ref": [], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails": { "order": 6.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Foreign income taxes over U.S. statutory rate.", "label": "Effective Income Tax Rate Reconciliation, Foreign income taxes over U.S. statutory rate", "negatedLabel": "Foreign income taxes over U.S. statutory rate" } } }, "localname": "EffectiveIncomeTaxRateReconciliationForeignIncomeTaxesOverU.s.StatutoryRate", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails" ], "xbrltype": "monetaryItemType" }, "clmb_EquipmentAndCapitalizedSoftwareMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "It represents the information pertaining to the Equipment and capitalized software.", "label": "Equipment and capitalized software" } } }, "localname": "EquipmentAndCapitalizedSoftwareMember", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailDetails" ], "xbrltype": "domainItemType" }, "clmb_EuropeAndUnitedKingdomMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "It represents the information pertaining to the Europe and United Kingdom.", "label": "Europe and United Kingdom" } } }, "localname": "EuropeAndUnitedKingdomMember", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationAssetsDetails", "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "clmb_FamilyMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to family.", "label": "Family member of executive" } } }, "localname": "FamilyMember", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRelatedPartyTransactionsDetail" ], "xbrltype": "domainItemType" }, "clmb_ForeignExchangePolicyPolicyTextblock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy related to foreign exchange.", "label": "Foreign Exchange Policy [Policy Textblock]", "terseLabel": "Foreign Exchange" } } }, "localname": "ForeignExchangePolicyPolicyTextblock", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "clmb_FreightPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for freight billed to customers.", "label": "Freight Policy [Policy Text Block]", "terseLabel": "Freight" } } }, "localname": "FreightPolicyPolicyTextBlock", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "clmb_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsGeneralAndAdministrative": { "auth_ref": [], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "This element represents the income or loss from continuing operations attributable to the economic entity which may also be defined as revenue less expenses from ongoing operations, after income or loss from equity method investments, but before income taxes, extraordinary items, and general and administrative expenses.", "label": "Income Loss From Continuing Operations Before Income Taxes Extraordinary Items General And Administrative", "totalLabel": "Segment Income Before Taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsGeneralAndAdministrative", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails" ], "xbrltype": "monetaryItemType" }, "clmb_IncomeTaxReconciliationSection162mAndOtherPermanentItems": { "auth_ref": [], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails": { "order": 3.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to Section 162(m) and other permanent items.", "label": "Income Tax Reconciliation Section 162m and Other Permanent Items", "terseLabel": "Other permanent items" } } }, "localname": "IncomeTaxReconciliationSection162mAndOtherPermanentItems", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails" ], "xbrltype": "monetaryItemType" }, "clmb_IncreaseDecreaseInVendorPrepayments": { "auth_ref": [], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in vendor prepayments.", "label": "Increase Decrease In Vendor Prepayments", "negatedTerseLabel": "Vendor prepayments" } } }, "localname": "IncreaseDecreaseInVendorPrepayments", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "clmb_InterestNetPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for interest, net of interest expense.", "label": "Interest Net [Policy Text Block]", "terseLabel": "Interest, net" } } }, "localname": "InterestNetPolicyTextBlock", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "clmb_InternalUseSoftwareMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Internally developed software for internal use.", "label": "Internal Use Software [Member]", "terseLabel": "Capitalized software for internal use" } } }, "localname": "InternalUseSoftwareMember", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesEquipmentAndRevenueRecognitionDetails" ], "xbrltype": "domainItemType" }, "clmb_InterworkGroupInc.Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information relating to Interwork Group, Inc.", "label": "Interwork Group, Inc." } } }, "localname": "InterworkGroupInc.Member", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionTables" ], "xbrltype": "domainItemType" }, "clmb_LeaseQuantitativeDisclosureTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The tabular disclosure of lease quantitative information.", "label": "Lease Quantitative Disclosure [Table Text Block]", "terseLabel": "Schedule of information relating to right-of-use assets and related lease liabilities" } } }, "localname": "LeaseQuantitativeDisclosureTableTextBlock", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityTables" ], "xbrltype": "textBlockItemType" }, "clmb_NumberOfExecutiveOfficersWithEmploymentAgreements": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the number of executive officers with employment agreements.", "label": "Number Of Executive Officers With Employment Agreements", "terseLabel": "Number of executive officers with employment agreements" } } }, "localname": "NumberOfExecutiveOfficersWithEmploymentAgreements", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "integerItemType" }, "clmb_OmnibusIncentivePlan2021Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to 2021 Omnibus Incentive Plan of the entity.", "label": "2021 Plan" } } }, "localname": "OmnibusIncentivePlan2021Member", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationPlansAndOptionsDetails" ], "xbrltype": "domainItemType" }, "clmb_PeriodAdditionalSeverancePaymentsChangeInControl": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents period in which additional severance can be paid if there is a change in control.", "label": "Period Additional Severance Payments Change In Control", "terseLabel": "Period in which additional severance can be paid if there is a change in control" } } }, "localname": "PeriodAdditionalSeverancePaymentsChangeInControl", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "durationItemType" }, "clmb_PeriodForPaymentOfSeveranceChargesInConsecutiveMonthlyInstallments": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Period for payment of severance charges in consecutive monthly installments", "label": "Period for Payment of Severance Charges in Consecutive Monthly installments", "terseLabel": "Period for severance payments" } } }, "localname": "PeriodForPaymentOfSeveranceChargesInConsecutiveMonthlyInstallments", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "durationItemType" }, "clmb_ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingQuarterlyInstallments": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the number of equal quarterly installments for vesting of awards.", "label": "Share Based Compensation, Arrangement by Share Based Payment Award, Vesting Quarterly Installments", "terseLabel": "Number of equal quarterly installments for vesting of awards" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingQuarterlyInstallments", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationNonvestedDetails" ], "xbrltype": "integerItemType" }, "clmb_SolutionsSegmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Segment that is a cloud solutions provider and value-added reseller of software, hardware and services to customers worldwide.", "label": "Solutions" } } }, "localname": "SolutionsSegmentMember", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails", "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDisaggregationOfRevenueDetails", "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationSelectedAssetsBySegmentDetails" ], "xbrltype": "domainItemType" }, "clmb_SpinnakarLimitedMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information relating to Spinnakar Limited.", "label": "Spinnakar Limited [Member]", "terseLabel": "Spinnakar Limited" } } }, "localname": "SpinnakarLimitedMember", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails", "http://www.waysidetechnology.com/role/DisclosureAcquisitionDetails", "http://www.waysidetechnology.com/role/DisclosureAcquisitionSupplementaryInformationDetails" ], "xbrltype": "domainItemType" }, "clmb_StandbyRepurchaseObligationsAndOtherCommercialCommitments": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to the standby repurchase obligations or other commercial commitments made by the entity during the reporting period.", "label": "Standby Repurchase Obligations and other Commercial Commitments", "terseLabel": "Standby repurchase obligations or other commercial commitments" } } }, "localname": "StandbyRepurchaseObligationsAndOtherCommercialCommitments", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "clmb_StockBasedCompensationPlan2012Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to 2012 Stock-Based Compensation Plan of the entity.", "label": "2012 Plan" } } }, "localname": "StockBasedCompensationPlan2012Member", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationPlansAndOptionsDetails" ], "xbrltype": "domainItemType" }, "clmb_TermLoansMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to term loan.", "label": "Term Loans" } } }, "localname": "TermLoansMember", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityFuturePrincipalPaymentsUnderTermLoanDetails" ], "xbrltype": "domainItemType" }, "clmb_TopFiveCustomersMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to the top five customers of the entity.", "label": "Top five customers" } } }, "localname": "TopFiveCustomersMember", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationConcentrationDetails" ], "xbrltype": "domainItemType" }, "clmb_UncommittedCreditFacilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to the \"Uncommitted Credit Facility.\"", "label": "Uncommitted Credit Facility" } } }, "localname": "UncommittedCreditFacilityMember", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "domainItemType" }, "clmb_VendorOneMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to vendor one.", "label": "Vendor One" } } }, "localname": "VendorOneMember", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationConcentrationDetails" ], "xbrltype": "domainItemType" }, "clmb_VendorPrepayments": { "auth_ref": [], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of vendor prepayments that are expected to be realized or consumed within one year or the normal operating cycle, if longer.", "label": "Vendor Prepayments", "terseLabel": "Vendor prepayments and advances" } } }, "localname": "VendorPrepayments", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "clmb_VendorPrepaymentsPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for vendor prepayments.", "label": "Vendor Prepayments [Policy Text Block]", "terseLabel": "Vendor Prepayments and Advances" } } }, "localname": "VendorPrepaymentsPolicyTextBlock", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "clmb_VendorRelationshipsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to vendor relationships.", "label": "Vendor relationships" } } }, "localname": "VendorRelationshipsMember", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails", "http://www.waysidetechnology.com/role/DisclosureAcquisitionDetails", "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsOtherIntangiblesNetDetails" ], "xbrltype": "domainItemType" }, "clmb_VendorTwoMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to vendor two.", "label": "Vendor Two" } } }, "localname": "VendorTwoMember", "nsuri": "http://www.waysidetechnology.com/20221231", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationConcentrationDetails" ], "xbrltype": "domainItemType" }, "country_CA": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Canada" } } }, "localname": "CA", "nsuri": "http://xbrl.sec.gov/country/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails", "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationAssetsDetails", "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "country_GB": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "United Kingdom" } } }, "localname": "GB", "nsuri": "http://xbrl.sec.gov/country/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails" ], "xbrltype": "domainItemType" }, "country_US": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "USA" } } }, "localname": "US", "nsuri": "http://xbrl.sec.gov/country/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationAssetsDetails", "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "dei_AmendmentFlag": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.", "label": "Amendment Flag" } } }, "localname": "AmendmentFlag", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_AuditorFirmId": { "auth_ref": [ "r622", "r623", "r624" ], "lang": { "en-us": { "role": { "documentation": "PCAOB issued Audit Firm Identifier", "label": "Auditor Firm ID" } } }, "localname": "AuditorFirmId", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "nonemptySequenceNumberItemType" }, "dei_AuditorLocation": { "auth_ref": [ "r622", "r623", "r624" ], "lang": { "en-us": { "role": { "label": "Auditor Location" } } }, "localname": "AuditorLocation", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "internationalNameItemType" }, "dei_AuditorName": { "auth_ref": [ "r622", "r623", "r624" ], "lang": { "en-us": { "role": { "label": "Auditor Name" } } }, "localname": "AuditorName", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "internationalNameItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area code of city", "label": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cover page.", "label": "Document and Entity Information" } } }, "localname": "CoverAbstract", "nsuri": "http://xbrl.sec.gov/dei/2022", "xbrltype": "stringItemType" }, "dei_CurrentFiscalYearEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "End date of current fiscal year in the format --MM-DD.", "label": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentAnnualReport": { "auth_ref": [ "r622", "r623", "r624" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an annual report.", "label": "Document Annual Report" } } }, "localname": "DocumentAnnualReport", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_DocumentFiscalPeriodFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.", "label": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.", "label": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "gYearItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD.", "label": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "dateItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r625" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a transition report.", "label": "Document Transition Report" } } }, "localname": "DocumentTransitionReport", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_DocumentType": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.", "label": "Document Type" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "submissionTypeItemType" }, "dei_EntityAddressAddressLine1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 1 such as Attn, Building Name, Street Name", "label": "Entity Address, Address Line One" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressPostalZipCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Code for the postal or zip code", "label": "Entity Address, Postal Zip Code" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address, State or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r620" ], "lang": { "en-us": { "role": { "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.", "label": "Entity Central Index Key" } } }, "localname": "EntityCentralIndexKey", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "centralIndexKeyItemType" }, "dei_EntityCommonStockSharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.", "label": "Entity Common Stock, Shares Outstanding" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "sharesItemType" }, "dei_EntityCurrentReportingStatus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Current Reporting Status" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r620" ], "lang": { "en-us": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityFileNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.", "label": "Entity File Number" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r620" ], "lang": { "en-us": { "role": { "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Filer Category" } } }, "localname": "EntityFilerCategory", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "filerCategoryItemType" }, "dei_EntityIncorporationStateCountryCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Two-character EDGAR code representing the state or country of incorporation.", "label": "Entity Incorporation, State or Country Code" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r626" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).", "label": "Entity Interactive Data Current" } } }, "localname": "EntityInteractiveDataCurrent", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityPublicFloat": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.", "label": "Entity Public Float" } } }, "localname": "EntityPublicFloat", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "monetaryItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r620" ], "lang": { "en-us": { "role": { "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.", "label": "Entity Registrant Name" } } }, "localname": "EntityRegistrantName", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r620" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.", "label": "Entity Shell Company" } } }, "localname": "EntityShellCompany", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r620" ], "lang": { "en-us": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r620" ], "lang": { "en-us": { "role": { "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.", "label": "Entity Tax Identification Number" } } }, "localname": "EntityTaxIdentificationNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "employerIdItemType" }, "dei_EntityVoluntaryFilers": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.", "label": "Entity Voluntary Filers" } } }, "localname": "EntityVoluntaryFilers", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityWellKnownSeasonedIssuer": { "auth_ref": [ "r627" ], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.", "label": "Entity Well-known Seasoned Issuer" } } }, "localname": "EntityWellKnownSeasonedIssuer", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_IcfrAuditorAttestationFlag": { "auth_ref": [ "r622", "r623", "r624" ], "lang": { "en-us": { "role": { "label": "ICFR Auditor Attestation Flag" } } }, "localname": "IcfrAuditorAttestationFlag", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_LocalPhoneNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Local phone number for entity.", "label": "Local Phone Number" } } }, "localname": "LocalPhoneNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r619" ], "lang": { "en-us": { "role": { "documentation": "Title of a 12(b) registered security.", "label": "Title of 12(b) Security" } } }, "localname": "Security12bTitle", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r621" ], "lang": { "en-us": { "role": { "documentation": "Name of the Exchange on which a security is registered.", "label": "Security Exchange Name" } } }, "localname": "SecurityExchangeName", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.waysidetechnology.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "tradingSymbolItemType" }, "srt_ConsolidationItemsAxis": { "auth_ref": [ "r225", "r269", "r287", "r288", "r289", "r290", "r291", "r293", "r297", "r346", "r347", "r348", "r349", "r351", "r352", "r354", "r356", "r357", "r575", "r576", "r577", "r578", "r579", "r580", "r581", "r582", "r583", "r665", "r666", "r723", "r724" ], "lang": { "en-us": { "role": { "documentation": "Information by components, eliminations, non-segment corporate-level activity and reconciling items used in consolidating a parent entity and its subsidiaries or its operating segments.", "label": "Consolidation Items [Axis]" } } }, "localname": "ConsolidationItemsAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationSelectedAssetsBySegmentDetails" ], "xbrltype": "stringItemType" }, "srt_ConsolidationItemsDomain": { "auth_ref": [ "r225", "r269", "r287", "r288", "r289", "r290", "r291", "r293", "r297", "r346", "r347", "r348", "r349", "r351", "r352", "r354", "r356", "r357", "r575", "r576", "r577", "r578", "r579", "r580", "r581", "r582", "r583", "r665", "r666", "r723", "r724" ], "lang": { "en-us": { "role": { "documentation": "Components, elimination, non-segment corporate-level activity and reconciling items used in consolidating a parent entity and its subsidiaries or its operating segments.", "label": "Consolidation Items [Domain]" } } }, "localname": "ConsolidationItemsDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationSelectedAssetsBySegmentDetails" ], "xbrltype": "domainItemType" }, "srt_DirectorMember": { "auth_ref": [ "r647" ], "lang": { "en-us": { "role": { "documentation": "Person serving on board of directors.", "label": "Board of Directors" } } }, "localname": "DirectorMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRelatedPartyTransactionsDetail" ], "xbrltype": "domainItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r303", "r601", "r668", "r720" ], "lang": { "en-us": { "role": { "documentation": "Information by name or description of a single external customer or a group of external customers.", "label": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationConcentrationDetails" ], "xbrltype": "stringItemType" }, "srt_MaximumMember": { "auth_ref": [ "r342", "r343", "r344", "r345", "r402", "r524", "r540", "r562", "r563", "r598", "r609", "r618", "r667", "r713", "r714", "r715", "r716", "r717", "r718" ], "lang": { "en-us": { "role": { "documentation": "Upper limit of the provided range.", "label": "Maximum" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCommitmentsAndContingenciesDetails", "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsOtherIntangiblesNetDetails", "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityDetails", "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationNonvestedDetails", "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesEquipmentAndRevenueRecognitionDetails" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r342", "r343", "r344", "r345", "r402", "r524", "r540", "r562", "r563", "r598", "r609", "r618", "r667", "r713", "r714", "r715", "r716", "r717", "r718" ], "lang": { "en-us": { "role": { "documentation": "Lower limit of the provided range.", "label": "Minimum" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCommitmentsAndContingenciesDetails", "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsOtherIntangiblesNetDetails", "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityDetails", "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesEquipmentAndRevenueRecognitionDetails" ], "xbrltype": "domainItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [ "r303", "r601", "r668", "r720" ], "lang": { "en-us": { "role": { "documentation": "Single external customer or group of external customers.", "label": "Customer [Domain]" } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationConcentrationDetails" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r342", "r343", "r344", "r345", "r390", "r402", "r433", "r434", "r435", "r523", "r524", "r540", "r562", "r563", "r598", "r609", "r618", "r661", "r667", "r714", "r715", "r716", "r717", "r718" ], "lang": { "en-us": { "role": { "documentation": "Information by statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median.", "label": "Range [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCommitmentsAndContingenciesDetails", "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsOtherIntangiblesNetDetails", "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityDetails", "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationNonvestedDetails", "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesEquipmentAndRevenueRecognitionDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r342", "r343", "r344", "r345", "r390", "r402", "r433", "r434", "r435", "r523", "r524", "r540", "r562", "r563", "r598", "r609", "r618", "r661", "r667", "r714", "r715", "r716", "r717", "r718" ], "lang": { "en-us": { "role": { "documentation": "Statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median.", "label": "Range [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCommitmentsAndContingenciesDetails", "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsOtherIntangiblesNetDetails", "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityDetails", "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationNonvestedDetails", "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesEquipmentAndRevenueRecognitionDetails" ], "xbrltype": "domainItemType" }, "srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock": { "auth_ref": [ "r232", "r574" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for valuation and qualifying accounts and reserves.", "label": "Schedule of Valuation and Qualifying Accounts Disclosure [Text Block]", "terseLabel": "Schedule II--Valuation and Qualifying Accounts" } } }, "localname": "ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureScheduleIiValuationAndQualifyingAccounts" ], "xbrltype": "textBlockItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r300", "r301", "r553", "r554", "r555", "r556", "r557", "r558", "r559", "r560", "r561", "r564", "r566", "r567", "r568", "r569", "r570", "r571", "r572", "r573", "r600", "r617", "r668" ], "lang": { "en-us": { "role": { "documentation": "Geographical area.", "label": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails", "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationAssetsDetails", "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r300", "r301", "r548", "r553", "r554", "r555", "r556", "r557", "r558", "r559", "r560", "r561", "r564", "r565", "r600", "r617", "r668" ], "lang": { "en-us": { "role": { "documentation": "Information by geographical components.", "label": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails", "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationAssetsDetails", "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "srt_TitleOfIndividualAxis": { "auth_ref": [ "r647", "r710" ], "lang": { "en-us": { "role": { "documentation": "Information by title of individual or nature of relationship to individual or group of individuals.", "label": "Title of Individual [Axis]" } } }, "localname": "TitleOfIndividualAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRelatedPartyTransactionsDetail" ], "xbrltype": "stringItemType" }, "srt_TitleOfIndividualWithRelationshipToEntityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Title of individual, or nature of relationship to individual or group of individuals.", "label": "Relationship to Entity [Domain]" } } }, "localname": "TitleOfIndividualWithRelationshipToEntityDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRelatedPartyTransactionsDetail" ], "xbrltype": "domainItemType" }, "srt_ValuationAndQualifyingAccountsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Schedule II--Valuation and Qualifying Accounts" } } }, "localname": "ValuationAndQualifyingAccountsAbstract", "nsuri": "http://fasb.org/srt/2022", "xbrltype": "stringItemType" }, "srt_ValuationAndQualifyingAccountsDisclosureLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Valuation and Qualifying Accounts Disclosure [Line Items]", "terseLabel": "Valuation and Qualifying Accounts" } } }, "localname": "ValuationAndQualifyingAccountsDisclosureLineItems", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureScheduleIiValuationAndQualifyingAccountsDetails" ], "xbrltype": "stringItemType" }, "srt_ValuationAndQualifyingAccountsDisclosureTable": { "auth_ref": [ "r226", "r227", "r228", "r230", "r231", "r574" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of valuation and qualifying accounts and reserves.", "label": "Valuation and Qualifying Accounts Disclosure [Table]" } } }, "localname": "ValuationAndQualifyingAccountsDisclosureTable", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureScheduleIiValuationAndQualifyingAccountsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Summary of Significant Accounting Policies" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent": { "auth_ref": [ "r15" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailAccountsPayableAndAccruedExpensesAndAociDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying values as of the balance sheet date of obligations incurred through that date and due within one year (or the operating cycle, if longer), including liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received, taxes, interest, rent and utilities, accrued salaries and bonuses, payroll taxes and fringe benefits.", "label": "Accounts Payable and Accrued Liabilities, Current", "terseLabel": "Accounts payable and accrued expenses", "totalLabel": "Accounts payable and accrued expenses" } } }, "localname": "AccountsPayableAndAccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailAccountsPayableAndAccruedExpensesAndAociDetails", "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accounts Payable and Accrued Liabilities, Current [Abstract]", "terseLabel": "Accounts payable and accrued expenses" } } }, "localname": "AccountsPayableAndAccruedLiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailAccountsPayableAndAccruedExpensesAndAociDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r13", "r616" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailAccountsPayableAndAccruedExpensesAndAociDetails": { "order": 2.0, "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accounts Payable, Current", "terseLabel": "Trade accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailAccountsPayableAndAccruedExpensesAndAociDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsPayableRelatedPartiesCurrentAndNoncurrent": { "auth_ref": [ "r150", "r158", "r175", "r639" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount for accounts payable to related parties.", "label": "Accounts Payable, Related Parties", "terseLabel": "Accrued referral fees" } } }, "localname": "AccountsPayableRelatedPartiesCurrentAndNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRelatedPartyTransactionsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableGrossNoncurrent": { "auth_ref": [ "r305", "r310", "r316", "r649" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as noncurrent.", "label": "Accounts Receivable, Gross, Noncurrent", "terseLabel": "Total amount due from customer" } } }, "localname": "AccountsReceivableGrossNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailAccountsReceivableLongTermNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableMember": { "auth_ref": [ "r549" ], "lang": { "en-us": { "role": { "documentation": "Due from customers or clients for goods or services that have been delivered or sold.", "label": "Net accounts receivable" } } }, "localname": "AccountsReceivableMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationConcentrationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r305", "r306" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.", "label": "Accounts Receivable, Net, Current", "verboseLabel": "Accounts receivable, net of allowance for doubtful accounts of $842 and $881, respectively" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableNetNoncurrent": { "auth_ref": [ "r305", "r530", "r535" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as noncurrent.", "label": "Accounts Receivable, Net, Noncurrent", "terseLabel": "Accounts receivable-long-term, net", "verboseLabel": "Total of accounts receivable, long term, net" } } }, "localname": "AccountsReceivableNetNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailAccountsReceivableLongTermNetDetails", "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableNetNoncurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accounts Receivable, Net, Noncurrent [Abstract]", "terseLabel": "Accounts receivable - long term" } } }, "localname": "AccountsReceivableNetNoncurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailAccountsReceivableLongTermNetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccountsReceivableRelatedParties": { "auth_ref": [ "r150", "r151", "r172", "r196", "r639" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "For an unclassified balance sheet, amount of receivables arising from transactions with related parties.", "label": "Accounts Receivable, Related Parties", "terseLabel": "Due from related party" } } }, "localname": "AccountsReceivableRelatedParties", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRelatedPartyTransactionsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r17" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailAccountsPayableAndAccruedExpensesAndAociDetails": { "order": 1.0, "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Liabilities, Current", "terseLabel": "Accrued expenses" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailAccountsPayableAndAccruedExpensesAndAociDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "auth_ref": [ "r92", "r191" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailDetails": { "order": 1.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.", "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "negatedLabel": "Less accumulated depreciation and amortization" } } }, "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r28", "r29", "r30", "r197", "r536", "r545", "r546" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Accumulated other comprehensive loss" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailAccountsPayableAndAccruedExpensesAndAociDetails", "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r27", "r30", "r139", "r517", "r541", "r542", "r631", "r632", "r633", "r640", "r641", "r642" ], "lang": { "en-us": { "role": { "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.", "label": "Accumulated Other Comprehensive (Loss) Income" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfStockholderSEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AccumulatedTranslationAdjustmentMember": { "auth_ref": [ "r26", "r30", "r139", "r209", "r210", "r499", "r500", "r501", "r502", "r503", "r631" ], "lang": { "en-us": { "role": { "documentation": "Accumulated other comprehensive income (loss) resulting from foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to the parent.", "label": "Foreign currency translation adjustments" } } }, "localname": "AccumulatedTranslationAdjustmentMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailAccountsPayableAndAccruedExpensesAndAociDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": { "auth_ref": [ "r80" ], "lang": { "en-us": { "role": { "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Acquired Finite-lived Intangible Assets, Weighted Average Useful Life", "terseLabel": "Useful life" } } }, "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails", "http://www.waysidetechnology.com/role/DisclosureAcquisitionDetails" ], "xbrltype": "durationItemType" }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "auth_ref": [ "r8" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.", "label": "Additional Paid in Capital, Common Stock", "terseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapitalCommonStock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r442", "r443", "r444", "r640", "r641", "r642", "r703" ], "lang": { "en-us": { "role": { "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.", "label": "Additional Paid-In Capital" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfStockholderSEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentForAmortization": { "auth_ref": [ "r50", "r85" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate amount of recurring noncash expense charged against earnings in the period to allocate the cost of assets over their estimated remaining economic lives.", "label": "Amortization" } } }, "localname": "AdjustmentForAmortization", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r111", "r112", "r405" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.", "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition", "terseLabel": "Share-based compensation expense" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfStockholderSEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Adjustments to reconcile net income to net cash and cash equivalents provided by operating activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r437" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.", "label": "Allocated Share-based Compensation Expense", "terseLabel": "Share-based compensation expense" } } }, "localname": "AllocatedShareBasedCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationNonvestedDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "auth_ref": [ "r198", "r309", "r314" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.", "label": "Allowance for Doubtful Accounts Receivable, Current", "terseLabel": "Accounts receivable, allowances (in dollars)" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r50", "r78", "r85" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.", "label": "Amortization of Intangible Assets", "terseLabel": "Amortization expense" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsOtherIntangiblesNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Assets": { "auth_ref": [ "r153", "r167", "r195", "r221", "r277", "r289", "r295", "r312", "r346", "r347", "r349", "r350", "r351", "r353", "r355", "r357", "r358", "r483", "r487", "r492", "r616", "r665", "r666", "r711" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets", "positiveLabel": "Identifiable Assets by Geographic Areas", "terseLabel": "Total Assets", "totalLabel": "Total assets" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationAssetsDetails", "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationSelectedAssetsBySegmentDetails", "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "ASSETS" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r186", "r201", "r221", "r312", "r346", "r347", "r349", "r350", "r351", "r353", "r355", "r357", "r358", "r483", "r487", "r492", "r616", "r665", "r666", "r711" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Current", "totalLabel": "Total current assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets:" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r408", "r409", "r410", "r412", "r413", "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427", "r428", "r429", "r432", "r433", "r434", "r435", "r436" ], "lang": { "en-us": { "role": { "documentation": "Information by type of award under share-based payment arrangement.", "label": "Award Type [Axis]" } } }, "localname": "AwardTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationNonvestedDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetRelatedDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Balance Sheet Detail" } } }, "localname": "BalanceSheetRelatedDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "auth_ref": [ "r478", "r607", "r608" ], "lang": { "en-us": { "role": { "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.", "label": "Business Acquisition, Acquiree [Domain]" } } }, "localname": "BusinessAcquisitionAcquireeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails", "http://www.waysidetechnology.com/role/DisclosureAcquisitionDetails", "http://www.waysidetechnology.com/role/DisclosureAcquisitionSupplementaryInformationDetails", "http://www.waysidetechnology.com/role/DisclosureAcquisitionTables" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r122", "r123", "r478", "r607", "r608" ], "lang": { "en-us": { "role": { "documentation": "Information by business combination or series of individually immaterial business combinations.", "label": "Business Acquisition [Axis]" } } }, "localname": "BusinessAcquisitionAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails", "http://www.waysidetechnology.com/role/DisclosureAcquisitionDetails", "http://www.waysidetechnology.com/role/DisclosureAcquisitionSupplementaryInformationDetails", "http://www.waysidetechnology.com/role/DisclosureAcquisitionTables" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Business Acquisition [Line Items]" } } }, "localname": "BusinessAcquisitionLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails", "http://www.waysidetechnology.com/role/DisclosureAcquisitionDetails", "http://www.waysidetechnology.com/role/DisclosureAcquisitionSupplementaryInformationDetails", "http://www.waysidetechnology.com/role/DisclosureAcquisitionTables" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationAcquisitionRelatedCosts": { "auth_ref": [ "r120" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails": { "order": 6.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0 }, "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings": { "order": 4.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities.", "label": "Business Combination, Acquisition Related Costs", "terseLabel": "Acquisition related costs" } } }, "localname": "BusinessCombinationAcquisitionRelatedCosts", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionDetails", "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails", "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "auth_ref": [ "r129", "r130", "r132" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.", "label": "Business Combination, Consideration Transferred", "terseLabel": "Aggregate purchase price" } } }, "localname": "BusinessCombinationConsiderationTransferred1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationConsiderationTransferredAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Acquisition of Spinnakar Limited" } } }, "localname": "BusinessCombinationConsiderationTransferredAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh": { "auth_ref": [ "r133" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "This element represents the amount of any change recognized during the period in the high-end of the estimated range of outcomes (undiscounted) of a liability assumed in a business combination arising from an item of contingent consideration.", "label": "Business Combination, Contingent Consideration Arrangements, Change in Range of Outcomes, Contingent Consideration, Liability, Value, High", "terseLabel": "Fair value of earn-out liability" } } }, "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiability": { "auth_ref": [ "r128", "r131", "r481" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liability recognized arising from contingent consideration in a business combination.", "label": "Business Combination, Contingent Consideration, Liability", "terseLabel": "Contingent earn-out" } } }, "localname": "BusinessCombinationContingentConsiderationLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionSupplementaryInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "auth_ref": [ "r134", "r479" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).", "label": "Business Combination Disclosure [Text Block]", "terseLabel": "Acquisition" } } }, "localname": "BusinessCombinationDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisition" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual": { "auth_ref": [ "r121" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "This element represents the amount of earnings or loss of the acquiree since the acquisition date included in the consolidated income statement for the reporting period.", "label": "Business Combination, Pro Forma Information, Earnings or Loss of Acquiree since Acquisition Date, Actual", "terseLabel": "Net income" } } }, "localname": "BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual": { "auth_ref": [ "r121" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "This element represents the amount of revenue of the acquiree since the acquisition date included in the consolidated income statement for the reporting period.", "label": "Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual", "terseLabel": "Revenue" } } }, "localname": "BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": { "auth_ref": [ "r124" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails": { "order": 1.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents", "terseLabel": "Cash" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther": { "auth_ref": [ "r124" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails": { "order": 2.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of other assets expected to be realized or consumed before one year or the normal operating cycle, if longer, acquired at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Other", "terseLabel": "Other current assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": { "auth_ref": [ "r124" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails": { "order": 4.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables", "terseLabel": "Trade accounts receivable" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities": { "auth_ref": [ "r124" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails": { "order": 3.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liabilities", "negatedTerseLabel": "Deferred income tax liabilities" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill": { "auth_ref": [ "r124" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails": { "order": 5.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of intangible assets, excluding goodwill, acquired at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill", "terseLabel": "Intangible assets", "verboseLabel": "Vendor relationships" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails", "http://www.waysidetechnology.com/role/DisclosureAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNetAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Net [Abstract]" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNetAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": { "auth_ref": [ "r124" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.", "label": "Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net", "totalLabel": "Net assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Acquisition" } } }, "localname": "BusinessCombinationsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationsPolicy": { "auth_ref": [ "r119" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy.", "label": "Business Combinations" } } }, "localname": "BusinessCombinationsPolicy", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock": { "auth_ref": [ "r0", "r56", "r67" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the business description and basis of presentation concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).", "label": "Business Description and Basis of Presentation [Text Block]", "terseLabel": "Description of Business" } } }, "localname": "BusinessDescriptionAndBasisOfPresentationTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureDescriptionOfBusiness" ], "xbrltype": "textBlockItemType" }, "us-gaap_CapitalizedComputerSoftwareGross": { "auth_ref": [ "r722" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated amortization of capitalized costs for computer software, including but not limited to, acquired and internally developed computer software.", "label": "Capitalized Computer Software, Gross", "terseLabel": "Software development costs, gross" } } }, "localname": "CapitalizedComputerSoftwareGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesEquipmentAndRevenueRecognitionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAcquiredFromAcquisition": { "auth_ref": [ "r41" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureAcquisitionSupplementaryInformationDetails": { "order": 1.0, "parentTag": "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow associated with the acquisition of business during the period (for example, cash that was held by the acquired business).", "label": "Cash Acquired from Acquisition", "negatedLabel": "Cash acquired in acquisition" } } }, "localname": "CashAcquiredFromAcquisition", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionSupplementaryInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r52", "r189", "r584" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsPolicyTextBlock": { "auth_ref": [ "r53" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.", "label": "Cash and Cash Equivalents, Policy [Policy Text Block]", "terseLabel": "Cash Equivalents" } } }, "localname": "CashAndCashEquivalentsPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r47", "r52", "r55" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "periodEndLabel": "Cash and cash equivalents at end of period", "periodStartLabel": "Cash and cash equivalents at beginning of period" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r47", "r145" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Net decrease in cash and cash equivalents" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommissionsExpensePolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for commissions incurred in relation to revenue generating activities or operations.", "label": "Commissions Expense, Policy [Policy Text Block]", "terseLabel": "Commissions" } } }, "localname": "CommissionsExpensePolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r22", "r159", "r174" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.", "label": "Commitments and Contingencies.", "terseLabel": "Commitments and contingencies" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies" } } }, "localname": "CommitmentsAndContingenciesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r94", "r339", "r340", "r550", "r664" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for commitments and contingencies.", "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "Commitments and Contingencies" } } }, "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCommitmentsAndContingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockDividendsPerShareCashPaid": { "auth_ref": [ "r105" ], "lang": { "en-us": { "role": { "documentation": "Aggregate dividends paid during the period for each share of common stock outstanding.", "label": "Common Stock, Dividends, Per Share, Cash Paid", "terseLabel": "Dividends paid per common share (in dollars per share)" } } }, "localname": "CommonStockDividendsPerShareCashPaid", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r640", "r641", "r703" ], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfStockholderSEquity" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r7" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common Stock, par value (in dollars per share)" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationPlansAndOptionsDetails", "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r7" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.", "label": "Common Stock, Shares Authorized", "terseLabel": "Common Stock, shares authorized" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r7" ], "lang": { "en-us": { "role": { "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.", "label": "Common Stock, Shares, Issued", "periodEndLabel": "Balance (in shares)", "periodStartLabel": "Balance (in shares)", "terseLabel": "Common Stock, shares issued" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheetsParenthetical", "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfStockholderSEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r7", "r100" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.", "label": "Common Stock, Shares, Outstanding", "terseLabel": "Common Stock, shares outstanding" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r7", "r616" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Common Stock, Value, Issued", "verboseLabel": "Common stock, $.01 par value per share; 10,000,000 shares authorized; 5,284,500 shares issued: 4,478,432 and 4,424,672 shares outstanding, respectively" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CompensationAndRetirementDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Defined Contribution Plan" } } }, "localname": "CompensationAndRetirementDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_ComponentsOfDeferredTaxAssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Components of Deferred Tax Assets [Abstract]", "terseLabel": "Deferred tax assets:" } } }, "localname": "ComponentsOfDeferredTaxAssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Components of Deferred Tax Liabilities [Abstract]", "terseLabel": "Deferred tax liabilities:" } } }, "localname": "ComponentsOfDeferredTaxLiabilitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r31", "r204", "r206", "r212", "r531", "r537" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Comprehensive income" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomePolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for comprehensive income.", "label": "Comprehensive Income, Policy [Policy Text Block]", "terseLabel": "Comprehensive Income" } } }, "localname": "ComprehensiveIncomePolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "auth_ref": [ "r61", "r62", "r142", "r143", "r303", "r549" ], "lang": { "en-us": { "role": { "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.", "label": "Concentration Risk Benchmark [Domain]" } } }, "localname": "ConcentrationRiskBenchmarkDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationConcentrationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "auth_ref": [ "r61", "r62", "r142", "r143", "r303", "r547", "r549" ], "lang": { "en-us": { "role": { "documentation": "Information by benchmark of concentration risk.", "label": "Concentration Risk Benchmark [Axis]" } } }, "localname": "ConcentrationRiskByBenchmarkAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationConcentrationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskByTypeAxis": { "auth_ref": [ "r61", "r62", "r142", "r143", "r303", "r549", "r721" ], "lang": { "en-us": { "role": { "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.", "label": "Concentration Risk Type [Axis]" } } }, "localname": "ConcentrationRiskByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationConcentrationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskCreditRisk": { "auth_ref": [ "r164", "r262" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for credit risk.", "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]", "terseLabel": "Concentration of Credit Risk" } } }, "localname": "ConcentrationRiskCreditRisk", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ConcentrationRiskLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Concentration Risk [Line Items]", "terseLabel": "Significant Customers and Vendors" } } }, "localname": "ConcentrationRiskLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationConcentrationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskPercentage1": { "auth_ref": [ "r61", "r62", "r142", "r143", "r303" ], "lang": { "en-us": { "role": { "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.", "label": "Concentration Risk, Percentage", "terseLabel": "Percentage of concentration risk" } } }, "localname": "ConcentrationRiskPercentage1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationConcentrationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ConcentrationRiskTable": { "auth_ref": [ "r59", "r61", "r62", "r63", "r142", "r144", "r549" ], "lang": { "en-us": { "role": { "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.", "label": "Concentration Risk [Table]" } } }, "localname": "ConcentrationRiskTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationConcentrationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskTypeDomain": { "auth_ref": [ "r61", "r62", "r142", "r143", "r303", "r549" ], "lang": { "en-us": { "role": { "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.", "label": "Concentration Risk Type [Domain]" } } }, "localname": "ConcentrationRiskTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationConcentrationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConsolidationPolicyTextBlock": { "auth_ref": [ "r137", "r586" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.", "label": "Consolidation, Policy [Policy Text Block]", "terseLabel": "Principles of Consolidation and Operations" } } }, "localname": "ConsolidationPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ContractWithCustomerSalesChannelAxis": { "auth_ref": [ "r605", "r668" ], "lang": { "en-us": { "role": { "documentation": "Information by sales channel for delivery of good or service in contract with customer.", "label": "Contract with Customer, Sales Channel [Axis]" } } }, "localname": "ContractWithCustomerSalesChannelAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ContractWithCustomerSalesChannelDomain": { "auth_ref": [ "r605", "r668" ], "lang": { "en-us": { "role": { "documentation": "Sales channel for delivery of good or service in contract with customer. Includes, but is not limited to, directly to consumer and through intermediary.", "label": "Contract with Customer, Sales Channel [Domain]" } } }, "localname": "ContractWithCustomerSalesChannelDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CorporateNonSegmentMember": { "auth_ref": [ "r71", "r288", "r289", "r290", "r291", "r297", "r646" ], "lang": { "en-us": { "role": { "documentation": "Corporate headquarters or functional department that may not earn revenues or may earn revenues that are only incidental to the activities of the entity and is not considered an operating segment.", "label": "Corporate Assets" } } }, "localname": "CorporateNonSegmentMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationSelectedAssetsBySegmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r38", "r526" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.", "label": "Cost of Goods and Services Sold", "terseLabel": "Cost of sales" } } }, "localname": "CostOfGoodsAndServicesSold", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfSalesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing cost of sales.", "label": "Purchases" } } }, "localname": "CostOfSalesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationConcentrationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CreditFacilityAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.", "label": "Credit Facility [Axis]" } } }, "localname": "CreditFacilityAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CreditFacilityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.", "label": "Credit Facility [Domain]" } } }, "localname": "CreditFacilityDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CurrentFederalTaxExpenseBenefit": { "auth_ref": [ "r638", "r700", "r702" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": { "order": 1.0, "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction.", "label": "Current Federal Tax Expense (Benefit)", "terseLabel": "Federal" } } }, "localname": "CurrentFederalTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentForeignTaxExpenseBenefit": { "auth_ref": [ "r638", "r700" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": { "order": 3.0, "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Current Foreign Tax Expense (Benefit)", "terseLabel": "Foreign" } } }, "localname": "CurrentForeignTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentIncomeTaxExpenseBenefit": { "auth_ref": [ "r118", "r463", "r471", "r638" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": { "order": 1.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.", "label": "Current Income Tax Expense (Benefit)", "totalLabel": "Total current income tax" } } }, "localname": "CurrentIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Current Income Tax Expense (Benefit), Continuing Operations [Abstract]", "terseLabel": "Current:" } } }, "localname": "CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": { "auth_ref": [ "r638", "r700", "r702" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": { "order": 2.0, "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.", "label": "Current State and Local Tax Expense (Benefit)", "terseLabel": "State" } } }, "localname": "CurrentStateAndLocalTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CustomerConcentrationRiskMember": { "auth_ref": [ "r60", "r303" ], "lang": { "en-us": { "role": { "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.", "label": "Customer concentration risk" } } }, "localname": "CustomerConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationConcentrationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerRelationshipsMember": { "auth_ref": [ "r127" ], "lang": { "en-us": { "role": { "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.", "label": "Customer relationships" } } }, "localname": "CustomerRelationshipsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsOtherIntangiblesNetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Credit Facility." } } }, "localname": "DebtDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentAxis": { "auth_ref": [ "r1", "r2", "r3", "r154", "r156", "r166", "r225", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r506", "r593", "r594", "r595", "r596", "r597", "r636" ], "lang": { "en-us": { "role": { "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.", "label": "Debt Instrument [Axis]" } } }, "localname": "DebtInstrumentAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.", "label": "Debt Instrument, Basis Spread on Variable Rate", "terseLabel": "Interest rate margin (as a percent)" } } }, "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentCarryingAmount": { "auth_ref": [ "r3", "r156", "r166", "r376" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureCreditFacilityFuturePrincipalPaymentsUnderTermLoanDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Long-Term Debt, Gross", "totalLabel": "Total" } } }, "localname": "DebtInstrumentCarryingAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityFuturePrincipalPaymentsUnderTermLoanDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtInstrumentFaceAmount": { "auth_ref": [ "r147", "r149", "r359", "r506", "r594", "r595" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Face (par) amount of debt instrument at time of issuance.", "label": "Debt Instrument, Face Amount" } } }, "localname": "DebtInstrumentFaceAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtInstrumentInterestRateStatedPercentage": { "auth_ref": [ "r19", "r360" ], "lang": { "en-us": { "role": { "documentation": "Contractual interest rate for funds borrowed, under the debt agreement.", "label": "Debt Instrument, Interest Rate, Stated Percentage", "terseLabel": "Interest rate" } } }, "localname": "DebtInstrumentInterestRateStatedPercentage", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Debt Instrument [Line Items]", "terseLabel": "Principal Payments Under The Term Loan" } } }, "localname": "DebtInstrumentLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityFuturePrincipalPaymentsUnderTermLoanDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentNameDomain": { "auth_ref": [ "r20", "r225", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r506", "r593", "r594", "r595", "r596", "r597", "r636" ], "lang": { "en-us": { "role": { "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities.", "label": "Debt Instrument, Name [Domain]" } } }, "localname": "DebtInstrumentNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtInstrumentTable": { "auth_ref": [ "r20", "r101", "r102", "r103", "r104", "r146", "r147", "r149", "r163", "r225", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r506", "r593", "r594", "r595", "r596", "r597", "r636" ], "lang": { "en-us": { "role": { "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.", "label": "Schedule of Long-Term Debt Instruments [Table]" } } }, "localname": "DebtInstrumentTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityFuturePrincipalPaymentsUnderTermLoanDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentTerm": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Debt Instrument, Term" } } }, "localname": "DebtInstrumentTerm", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": { "auth_ref": [ "r638", "r701", "r702" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": { "order": 1.0, "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction.", "label": "Deferred Federal Income Tax Expense (Benefit)", "terseLabel": "Federal" } } }, "localname": "DeferredFederalIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredForeignIncomeTaxExpenseBenefit": { "auth_ref": [ "r118", "r638", "r701" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": { "order": 3.0, "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Foreign" } } }, "localname": "DeferredForeignIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r450", "r451" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 8.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.", "label": "Deferred Income Tax Assets, Net", "terseLabel": "Deferred income tax assets" } } }, "localname": "DeferredIncomeTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "auth_ref": [ "r50", "r118", "r464", "r470", "r471", "r638" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": { "order": 2.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 }, "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Deferred Income Tax Expense (Benefit)", "terseLabel": "Deferred income tax (benefit) expense", "totalLabel": "Total deferred income tax" } } }, "localname": "DeferredIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails", "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]", "terseLabel": "Deferred:" } } }, "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DeferredIncomeTaxLiabilities": { "auth_ref": [ "r4", "r5", "r155", "r165", "r460" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails": { "order": 1.0, "parentTag": "us-gaap_DeferredTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences.", "label": "Deferred Tax Liabilities, Gross", "negatedTotalLabel": "Total deferred tax liabilities" } } }, "localname": "DeferredIncomeTaxLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "auth_ref": [ "r450", "r451" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.", "label": "Deferred Income Tax Liabilities, Net", "terseLabel": "Deferred income tax liabilities" } } }, "localname": "DeferredIncomeTaxLiabilitiesNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": { "auth_ref": [ "r638", "r701", "r702" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": { "order": 2.0, "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.", "label": "Deferred State and Local Income Tax Expense (Benefit)", "terseLabel": "State" } } }, "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsNet": { "auth_ref": [ "r698" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails": { "order": 2.0, "parentTag": "us-gaap_DeferredTaxLiabilities", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.", "label": "Deferred Tax Assets, Net of Valuation Allowance", "totalLabel": "Total deferred tax assets" } } }, "localname": "DeferredTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment": { "auth_ref": [], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails": { "order": 1.0, "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from property, plant, and equipment.", "label": "Depreciation and amortization" } } }, "localname": "DeferredTaxAssetsPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals": { "auth_ref": [ "r116", "r699" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails": { "order": 3.0, "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from reserves and accruals.", "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals", "terseLabel": "Accruals and reserves" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent": { "auth_ref": [ "r116", "r699" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails": { "order": 2.0, "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from deferred rent.", "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Deferred Rent", "terseLabel": "Deferred rent credit" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilities": { "auth_ref": [ "r113", "r698" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.", "label": "Deferred Tax Liabilities, Net", "negatedTotalLabel": "Net deferred tax liabilities" } } }, "localname": "DeferredTaxLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilitiesDeferredExpenseReservesAndAccruals": { "auth_ref": [], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails": { "order": 2.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from reserves and accruals.", "label": "Accruals and reserves", "negatedLabel": "Accruals and reserves" } } }, "localname": "DeferredTaxLiabilitiesDeferredExpenseReservesAndAccruals", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": { "auth_ref": [ "r116", "r699" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails": { "order": 1.0, "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.", "label": "Deferred Tax Liabilities, Property, Plant and Equipment", "negatedLabel": "Depreciation and amortization" } } }, "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DefinedContributionPlanCostRecognized": { "auth_ref": [ "r401" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost for defined contribution plan.", "label": "Defined Contribution Plan, Cost Recognized", "terseLabel": "Amount expensed" } } }, "localname": "DefinedContributionPlanCostRecognized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureDefinedContributionPlanDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage of employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan.", "label": "Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay", "terseLabel": "Company's matching contributions equal to each employee's contribution (as a percent)" } } }, "localname": "DefinedContributionPlanEmployerMatchingContributionPercent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureDefinedContributionPlanDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Maximum percentage of employee gross pay the employee may contribute to a defined contribution plan.", "label": "Defined Contribution Plan, Maximum Annual Contributions Per Employee, Percent", "terseLabel": "Maximum contribution of employees as a percentage of their compensation" } } }, "localname": "DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureDefinedContributionPlanDetails" ], "xbrltype": "percentItemType" }, "us-gaap_Depreciation": { "auth_ref": [ "r50", "r90" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.", "label": "Depreciation" } } }, "localname": "Depreciation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationAndAmortization": { "auth_ref": [ "r50", "r90" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails": { "order": 4.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0 }, "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings": { "order": 3.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Depreciation, Depletion and Amortization, Nonproduction", "terseLabel": "Amortization and depreciation expense" } } }, "localname": "DepreciationAndAmortization", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails", "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationDepletionAndAmortization": { "auth_ref": [ "r50", "r272" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.", "label": "Depreciation, Depletion and Amortization", "terseLabel": "Depreciation and amortization expense" } } }, "localname": "DepreciationDepletionAndAmortization", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DirectOperatingCosts": { "auth_ref": [ "r39" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails": { "order": 2.0, "parentTag": "clmb_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsGeneralAndAdministrative", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate direct operating costs incurred during the reporting period.", "label": "Direct Operating Costs", "terseLabel": "Direct Costs" } } }, "localname": "DirectOperatingCosts", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DisaggregationOfRevenueLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Disaggregation of Revenue [Line Items]" } } }, "localname": "DisaggregationOfRevenueLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r388", "r599", "r600", "r601", "r602", "r603", "r604", "r605" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table]" } } }, "localname": "DisaggregationOfRevenueTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "auth_ref": [ "r407", "r438", "r439", "r441", "r446", "r610" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for share-based payment arrangement.", "label": "Disclosure of Compensation Related Costs, Share-based Payments [Text Block]", "terseLabel": "Stockholders' Equity and Stock Based Compensation" } } }, "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensation" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders' Equity and Stock Based Compensation" } } }, "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_DividendsCommonStockCash": { "auth_ref": [ "r105" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of paid and unpaid common stock dividends declared with the form of settlement in cash.", "label": "Dividends, Common Stock, Cash", "negatedLabel": "Dividends paid" } } }, "localname": "DividendsCommonStockCash", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfStockholderSEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share", "terseLabel": "Net Income Per Common Share" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesNetIncomePerCommonShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r213", "r238", "r239", "r240", "r241", "r242", "r246", "r249", "r253", "r255", "r256", "r257", "r490", "r491", "r532", "r538", "r589" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.", "label": "Earnings Per Share, Basic", "positiveLabel": "Basic net income per share (in dollars per share)", "terseLabel": "Income per common share-Basic" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesNetIncomePerCommonShareDetails", "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r213", "r238", "r239", "r240", "r241", "r242", "r249", "r253", "r255", "r256", "r257", "r490", "r491", "r532", "r538", "r589" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.", "label": "Earnings Per Share, Diluted", "positiveLabel": "Diluted net income per share (in dollars per share)", "terseLabel": "Income per common share-Diluted" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesNetIncomePerCommonShareDetails", "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerSharePolicyTextBlock": { "auth_ref": [ "r57", "r58" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.", "label": "Earnings Per Share, Policy [Policy Text Block]", "terseLabel": "Net Income Per Common Share" } } }, "localname": "EarningsPerSharePolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r497" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "terseLabel": "Effect of foreign exchange rate on cash and cash equivalents" } } }, "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r453" ], "lang": { "en-us": { "role": { "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Effective Income Tax Rate Reconciliation, Percent", "terseLabel": "Effective tax rate (as a percent)" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "auth_ref": [ "r440" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition", "terseLabel": "Weighted average period for recognition of unrecognized compensation cost" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationNonvestedDetails" ], "xbrltype": "durationItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": { "auth_ref": [ "r695" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Share-based Awards Other than Options", "terseLabel": "Unrecognized compensation cost (in dollars)" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationNonvestedDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tangible personal property used to produce goods and services.", "label": "Equipment" } } }, "localname": "EquipmentMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesEquipmentAndRevenueRecognitionDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r100", "r183", "r208", "r209", "r210", "r233", "r234", "r235", "r237", "r243", "r245", "r259", "r313", "r378", "r442", "r443", "r444", "r466", "r467", "r489", "r498", "r499", "r500", "r501", "r502", "r503", "r517", "r541", "r542", "r543" ], "lang": { "en-us": { "role": { "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.", "label": "Equity Component [Domain]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailAccountsPayableAndAccruedExpensesAndAociDetails", "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfStockholderSEquity" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueOfFinancialInstrumentsPolicy": { "auth_ref": [ "r140", "r141" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments.", "label": "Fair Value of Financial Instruments, Policy [Policy Text Block]", "terseLabel": "Financial Instruments" } } }, "localname": "FairValueOfFinancialInstrumentsPolicy", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Finite-Lived Intangible Asset, Useful Life", "terseLabel": "Amortization period" } } }, "localname": "FiniteLivedIntangibleAssetUsefulLife", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsOtherIntangiblesNetDetails", "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesEquipmentAndRevenueRecognitionDetails" ], "xbrltype": "durationItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r193", "r332" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsOtherIntangiblesNetDetails": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "terseLabel": "Accumulated Amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsOtherIntangiblesNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": { "auth_ref": [], "calculation": { "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsFutureAmortizationExpenseDetails": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Assets, Amortization Expense, after Year Five", "terseLabel": "Thereafter" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsFutureAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "auth_ref": [ "r86" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsFutureAmortizationExpenseDetails": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months", "terseLabel": "2023" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsFutureAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "auth_ref": [ "r86" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsFutureAmortizationExpenseDetails": { "order": 3.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Five", "terseLabel": "2027" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsFutureAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r86" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsFutureAmortizationExpenseDetails": { "order": 4.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four", "terseLabel": "2026" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsFutureAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "auth_ref": [ "r86" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsFutureAmortizationExpenseDetails": { "order": 5.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Three", "terseLabel": "2025" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsFutureAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "auth_ref": [ "r86" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsFutureAmortizationExpenseDetails": { "order": 6.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Two", "terseLabel": "2024" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsFutureAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r330", "r331", "r332", "r333", "r527", "r528" ], "lang": { "en-us": { "role": { "documentation": "Information by major type or class of finite-lived intangible assets.", "label": "Finite-Lived Intangible Assets by Major Class [Axis]" } } }, "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails", "http://www.waysidetechnology.com/role/DisclosureAcquisitionDetails", "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsOtherIntangiblesNetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]" } } }, "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsFutureAmortizationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r84", "r528" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsOtherIntangiblesNetDetails": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Gross Carrying Amount" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsOtherIntangiblesNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Finite-Lived Intangible Assets [Line Items]" } } }, "localname": "FiniteLivedIntangibleAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsOtherIntangiblesNetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r79", "r83" ], "lang": { "en-us": { "role": { "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]" } } }, "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails", "http://www.waysidetechnology.com/role/DisclosureAcquisitionDetails", "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsOtherIntangiblesNetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r84", "r527" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsFutureAmortizationExpenseDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsOtherIntangiblesNetDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Net", "totalLabel": "Total" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsFutureAmortizationExpenseDetails", "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsOtherIntangiblesNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": { "auth_ref": [ "r493", "r494", "r495", "r496" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails": { "order": 5.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 }, "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount before tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.", "label": "Foreign Currency Transaction Gain (Loss), before Tax", "terseLabel": "Foreign currency transaction loss" } } }, "localname": "ForeignCurrencyTransactionGainLossBeforeTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails", "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": { "auth_ref": [ "r504" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.", "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]", "terseLabel": "Foreign Currency Translation" } } }, "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_GeneralAndAdministrativeExpense": { "auth_ref": [ "r40" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.", "label": "General and Administrative Expense.", "terseLabel": "General and administrative" } } }, "localname": "GeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r192", "r320", "r529", "r592", "r616", "r650", "r657" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails": { "order": 6.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0 }, "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill", "periodEndLabel": "Ending Balance", "periodStartLabel": "Beginning Balance", "terseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails", "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfGoodwillDetails", "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAcquiredDuringPeriod": { "auth_ref": [ "r322", "r592" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.", "label": "Goodwill, Acquired During Period", "terseLabel": "Goodwill acquired" } } }, "localname": "GoodwillAcquiredDuringPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Goodwill and Other Intangible Assets" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r89" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for goodwill and intangible assets.", "label": "Goodwill and Intangible Assets Disclosure [Text Block]", "terseLabel": "Goodwill and Other Intangible Assets" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssets" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock": { "auth_ref": [ "r76", "r81" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets.", "label": "Goodwill and Intangible Assets, Policy [Policy Text Block]", "terseLabel": "Goodwill & Intangible Assets" } } }, "localname": "GoodwillAndIntangibleAssetsPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": { "auth_ref": [ "r326" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill, Foreign Currency Translation Gain (Loss)", "terseLabel": "Translation adjustments" } } }, "localname": "GoodwillForeignCurrencyTranslationGainLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Goodwill [Roll Forward]" } } }, "localname": "GoodwillRollForward", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsSummaryOfGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r37", "r221", "r277", "r288", "r294", "r297", "r312", "r346", "r347", "r349", "r350", "r351", "r353", "r355", "r357", "r358", "r492", "r591", "r665" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails": { "order": 1.0, "parentTag": "clmb_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsGeneralAndAdministrative", "weight": 1.0 }, "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.", "label": "Gross Profit", "terseLabel": "Gross profit", "totalLabel": "Gross profit" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails", "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": { "auth_ref": [ "r222", "r472" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations.", "label": "Income (Loss) from Continuing Operations before Income Taxes, Domestic", "terseLabel": "United States" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r33", "r152", "r160", "r177", "r277", "r288", "r294", "r297", "r533", "r591" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.", "label": "Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, Noncontrolling Interest", "totalLabel": "Income before provision for income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails", "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails", "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": { "auth_ref": [ "r222", "r472" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile.", "label": "Income (Loss) from Continuing Operations before Income Taxes, Foreign", "terseLabel": "Foreign" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Extraordinary Items, Noncontrolling Interest [Abstract]", "terseLabel": "Components of income before income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Consolidated Statements of Earnings" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r334", "r336" ], "lang": { "en-us": { "role": { "documentation": "Information by location in the income statement.", "label": "Income Statement Location [Axis]" } } }, "localname": "IncomeStatementLocationAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationNonvestedDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [ "r336" ], "lang": { "en-us": { "role": { "documentation": "Location in the income statement.", "label": "Income Statement Location [Domain]" } } }, "localname": "IncomeStatementLocationDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationNonvestedDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Taxes" } } }, "localname": "IncomeTaxDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r223", "r454", "r458", "r462", "r468", "r473", "r475", "r476", "r477" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.", "label": "Income Tax Disclosure [Text Block]", "terseLabel": "Income Taxes" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r224", "r244", "r245", "r275", "r452", "r469", "r474", "r539" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings": { "order": 2.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Income Tax Expense (Benefit)", "terseLabel": "Provision for income taxes", "totalLabel": "Income tax expense" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails", "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails", "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Amount [Abstract]", "terseLabel": "Reconciliation of difference between total tax expense and the amount computed by applying the U.S. statutory federal income tax rate to income before income taxes" } } }, "localname": "IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxPolicyTextBlock": { "auth_ref": [ "r207", "r448", "r449", "r458", "r459", "r461", "r465" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.", "label": "Income Tax, Policy [Policy Text Block]", "terseLabel": "Income Taxes" } } }, "localname": "IncomeTaxPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxReconciliationDeductionsDividends": { "auth_ref": [ "r696" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails": { "order": 2.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to deduction for dividend.", "label": "Effective Income Tax Rate Reconciliation, Deduction, Dividends, Amount", "negatedTerseLabel": "Dividends" } } }, "localname": "IncomeTaxReconciliationDeductionsDividends", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential": { "auth_ref": [ "r696" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails": { "order": 8.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to foreign income tax expense (benefit).", "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Amount", "terseLabel": "Adjustment for foreign rate change" } } }, "localname": "IncomeTaxReconciliationForeignIncomeTaxRateDifferential", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": { "auth_ref": [ "r453" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails": { "order": 4.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations.", "label": "Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount", "terseLabel": "Statutory rate applied to pretax income" } } }, "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost": { "auth_ref": [ "r696" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails": { "order": 1.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of reported income tax expense (benefit) in excess of (less than) 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 award under share-based payment arrangement. Includes, but is not limited to, expense determined to be nondeductible upon grant or after for award under share-based payment arrangement.", "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-based Payment Arrangement, Amount", "terseLabel": "Stock compensation" } } }, "localname": "IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationOtherReconcilingItems": { "auth_ref": [ "r696" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails": { "order": 5.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax exempt income, equity in earnings (loss) of an unconsolidated subsidiary, minority noncontrolling interest income (loss), tax holiday, disposition of a business, disposition of an asset, repatriation of foreign earnings, repatriation of foreign earnings jobs creation act of 2004, increase (decrease) in enacted tax rate, prior year income taxes, increase (decrease) in deferred tax asset valuation allowance, and other adjustments.", "label": "Effective Income Tax Rate Reconciliation, Other Reconciling Items, Amount", "terseLabel": "Other items" } } }, "localname": "IncomeTaxReconciliationOtherReconcilingItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationRepatriationOfForeignEarnings": { "auth_ref": [ "r696" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to repatriation of foreign earnings.", "label": "Effective Income Tax Rate Reconciliation, Repatriation of Foreign Earnings, Amount", "terseLabel": "Withholding taxes related to repatriation" } } }, "localname": "IncomeTaxReconciliationRepatriationOfForeignEarnings", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": { "auth_ref": [ "r696" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails": { "order": 9.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit).", "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount", "terseLabel": "State income taxes, net of federal income tax benefit" } } }, "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationTaxCreditsForeign": { "auth_ref": [ "r696" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails": { "order": 7.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to foreign tax credit.", "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Foreign, Amount", "negatedLabel": "GILTI, net of foreign tax credits" } } }, "localname": "IncomeTaxReconciliationTaxCreditsForeign", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesReconciliationsAndComponentsOfIncomeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesPaidNet": { "auth_ref": [ "r54" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.", "label": "Income Taxes Paid, Net", "terseLabel": "Income taxes paid" } } }, "localname": "IncomeTaxesPaidNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": { "auth_ref": [ "r49" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid.", "label": "Increase (Decrease) in Accounts Payable and Accrued Liabilities", "terseLabel": "Accounts payable and accrued expenses" } } }, "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r49" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.", "label": "Increase (Decrease) in Accounts Receivable", "negatedLabel": "Accounts receivable" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r49" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.", "label": "Increase (Decrease) in Inventories", "negatedLabel": "Inventory" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in operating assets and liabilities, net of acquisitions:" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": { "auth_ref": [ "r634", "r708" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in obligation for operating lease.", "label": "Increase (Decrease) in Lease Liability", "terseLabel": "Lease liability, net" } } }, "localname": "IncreaseDecreaseInOperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet": { "auth_ref": [ "r49" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in operating assets after deduction of operating liabilities classified as other.", "label": "Increase (Decrease) in Other Operating Assets and Liabilities, Net", "negatedLabel": "Other assets and liabilities" } } }, "localname": "IncreaseDecreaseInOtherOperatingCapitalNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r49" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedLabel": "Prepaid expenses and other current assets" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "terseLabel": "Increase (Decrease) in Stockholders' Equity" } } }, "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfStockholderSEquity" ], "xbrltype": "stringItemType" }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "auth_ref": [ "r77", "r82" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Other Intangible Assets, Net", "terseLabel": "Other intangibles, net" } } }, "localname": "IntangibleAssetsNetExcludingGoodwill", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestExpense": { "auth_ref": [ "r148", "r162", "r211", "r271", "r505" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.", "label": "Interest Expense", "terseLabel": "Interest expense" } } }, "localname": "InterestExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestIncomeExpenseNonoperatingNet": { "auth_ref": [], "calculation": { "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails": { "order": 3.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 }, "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings": { "order": 3.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net amount of nonoperating interest income (expense).", "label": "Interest Income (Expense), Nonoperating, Net", "verboseLabel": "Interest, net" } } }, "localname": "InterestIncomeExpenseNonoperatingNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails", "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestPaidNet": { "auth_ref": [ "r215", "r218", "r219" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.", "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities", "terseLabel": "Interest paid" } } }, "localname": "InterestPaidNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r200", "r585", "r616" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventory, Net", "terseLabel": "Inventory, net" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryPolicyTextBlock": { "auth_ref": [ "r188", "r199", "r258", "r317", "r318", "r319", "r525", "r587" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.", "label": "Inventory, Policy [Policy Text Block]", "terseLabel": "Inventory" } } }, "localname": "InventoryPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeaseholdImprovementsMember": { "auth_ref": [ "r91" ], "lang": { "en-us": { "role": { "documentation": "Additions or improvements to assets held under a lease arrangement.", "label": "Leasehold improvements" } } }, "localname": "LeaseholdImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LeasesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Right-of-use Asset and Lease Liability" } } }, "localname": "LeasesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_LesseeLeaseDescriptionLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Lessee, Lease, Description [Line Items]", "terseLabel": "Right-of-use Asset and Lease Liability" } } }, "localname": "LesseeLeaseDescriptionLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LesseeLeaseDescriptionTable": { "auth_ref": [ "r510" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about lessee's leases.", "label": "Lessee, Lease, Description [Table]" } } }, "localname": "LesseeLeaseDescriptionTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r709" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.", "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]", "terseLabel": "Schedule of maturities of lease liabilities" } } }, "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r515" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityMaturitiesOfLeaseLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityMaturitiesOfLeaseLiabilitiesDetailsCalc2": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.", "label": "Lessee, Operating Lease, Liability, Payments, Due", "totalLabel": "Total" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r515" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityMaturitiesOfLeaseLiabilitiesDetails": { "order": 5.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, Payments, Due Next Twelve Months", "terseLabel": "2023" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "auth_ref": [ "r515" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityMaturitiesOfLeaseLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five", "terseLabel": "2027" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r515" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityMaturitiesOfLeaseLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Four", "terseLabel": "2026" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r515" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityMaturitiesOfLeaseLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Three", "terseLabel": "2025" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r515" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityMaturitiesOfLeaseLiabilitiesDetails": { "order": 4.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Two", "terseLabel": "2024" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r515" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityMaturitiesOfLeaseLiabilitiesDetailsCalc2": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.", "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "negatedLabel": "Less: imputed interest" } } }, "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseTermOfContract": { "auth_ref": [ "r707" ], "lang": { "en-us": { "role": { "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessee, Operating Lease, Term of Contract", "terseLabel": "Lease term" } } }, "localname": "LesseeOperatingLeaseTermOfContract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_LesseeOperatingLeasesTextBlock": { "auth_ref": [ "r516" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.", "label": "Lessee, Operating Leases [Text Block]", "terseLabel": "Right-of-use Asset and Lease Liability" } } }, "localname": "LesseeOperatingLeasesTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiability" ], "xbrltype": "textBlockItemType" }, "us-gaap_LettersOfCreditOutstandingAmount": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The total amount of the contingent obligation under letters of credit outstanding as of the reporting date.", "label": "Letters of Credit Outstanding, Amount", "terseLabel": "Standby letters of credit" } } }, "localname": "LettersOfCreditOutstandingAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r16", "r221", "r312", "r346", "r347", "r349", "r350", "r351", "r353", "r355", "r357", "r358", "r484", "r487", "r488", "r492", "r590", "r665", "r711", "r712" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.", "label": "Liabilities", "totalLabel": "Total liabilities" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r12", "r157", "r171", "r616", "r637", "r648", "r704" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "Liabilities and Equity", "totalLabel": "Total liabilities and stockholders' equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "LIABILITIES AND STOCKHOLDERS' EQUITY" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r18", "r187", "r221", "r312", "r346", "r347", "r349", "r350", "r351", "r353", "r355", "r357", "r358", "r484", "r487", "r488", "r492", "r616", "r665", "r711", "r712" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.", "label": "Liabilities, Current", "totalLabel": "Total current liabilities" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities:" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCredit": { "auth_ref": [ "r3", "r156", "r166" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.", "label": "Long-term Line of Credit", "terseLabel": "Borrowings outstanding" } } }, "localname": "LineOfCredit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Line of Credit Facility [Line Items]", "terseLabel": "Credit Facility" } } }, "localname": "LineOfCreditFacilityLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "auth_ref": [ "r14" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.", "label": "Line of Credit Facility, Maximum Borrowing Capacity", "terseLabel": "Maximum borrowing capacity" } } }, "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityTable": { "auth_ref": [ "r14", "r636" ], "lang": { "en-us": { "role": { "documentation": "A table or schedule providing information pertaining to short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line.", "label": "Line of Credit Facility [Table]" } } }, "localname": "LineOfCreditFacilityTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LondonInterbankOfferedRateLIBORMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Interest rate at which a bank borrows funds from other banks in the London interbank market.", "label": "Index" } } }, "localname": "LondonInterbankOfferedRateLIBORMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock": { "auth_ref": [ "r72" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of long-lived assets, excluding financial instruments, long-term customer relationships of a financial institution, mortgage rights, deferred policy acquisition costs, and deferred tax assets, by geographic areas located in the entity's country of domicile and foreign countries in which the entity holds assets.", "label": "Long-lived Assets by Geographic Areas [Table Text Block]", "terseLabel": "Summary of identifiable assets by geographic area" } } }, "localname": "LongLivedAssetsByGeographicAreasTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LongTermDebt": { "auth_ref": [ "r3", "r156", "r169", "r366", "r377", "r594", "r595" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.", "label": "Long-term Debt" } } }, "localname": "LongTermDebt", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths": { "auth_ref": [ "r97", "r225", "r370" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureCreditFacilityFuturePrincipalPaymentsUnderTermLoanDetails": { "order": 1.0, "parentTag": "us-gaap_DebtInstrumentCarryingAmount", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Long-Term Debt, Maturity, Year One", "terseLabel": "2023" } } }, "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityFuturePrincipalPaymentsUnderTermLoanDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour": { "auth_ref": [ "r97", "r225", "r370" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureCreditFacilityFuturePrincipalPaymentsUnderTermLoanDetails": { "order": 4.0, "parentTag": "us-gaap_DebtInstrumentCarryingAmount", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Long-Term Debt, Maturity, Year Four", "terseLabel": "2027" } } }, "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityFuturePrincipalPaymentsUnderTermLoanDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree": { "auth_ref": [ "r97", "r225", "r370" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureCreditFacilityFuturePrincipalPaymentsUnderTermLoanDetails": { "order": 3.0, "parentTag": "us-gaap_DebtInstrumentCarryingAmount", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Long-Term Debt, Maturity, Year Three", "terseLabel": "2025" } } }, "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityFuturePrincipalPaymentsUnderTermLoanDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo": { "auth_ref": [ "r97", "r225", "r370" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureCreditFacilityFuturePrincipalPaymentsUnderTermLoanDetails": { "order": 2.0, "parentTag": "us-gaap_DebtInstrumentCarryingAmount", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Long-Term Debt, Maturity, Year Two", "terseLabel": "2024" } } }, "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityFuturePrincipalPaymentsUnderTermLoanDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtTextBlock": { "auth_ref": [ "r99" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for long-term debt.", "label": "Long-term Debt [Text Block]", "terseLabel": "Credit Facility" } } }, "localname": "LongTermDebtTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacility" ], "xbrltype": "textBlockItemType" }, "us-gaap_LongtermDebtTypeAxis": { "auth_ref": [ "r20" ], "lang": { "en-us": { "role": { "documentation": "Information by type of long-term debt.", "label": "Long-Term Debt, Type [Axis]" } } }, "localname": "LongtermDebtTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityFuturePrincipalPaymentsUnderTermLoanDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LongtermDebtTypeDomain": { "auth_ref": [ "r20", "r98" ], "lang": { "en-us": { "role": { "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.", "label": "Long-Term Debt, Type [Domain]" } } }, "localname": "LongtermDebtTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityFuturePrincipalPaymentsUnderTermLoanDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LossContingenciesLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Loss Contingencies [Line Items]", "terseLabel": "Contingencies" } } }, "localname": "LossContingenciesLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LossContingenciesTable": { "auth_ref": [ "r95", "r96", "r341", "r342", "r343", "r662", "r663" ], "lang": { "en-us": { "role": { "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.", "label": "Loss Contingencies [Table]" } } }, "localname": "LossContingenciesTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_MovementInValuationAllowancesAndReservesRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Movement in Valuation Allowances and Reserves [Roll Forward]", "terseLabel": "Valuation and qualifying accounts" } } }, "localname": "MovementInValuationAllowancesAndReservesRollForward", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureScheduleIiValuationAndQualifyingAccountsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r217" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.", "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations", "totalLabel": "Net cash and cash equivalents used in financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract]", "verboseLabel": "Cash flows from financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r217" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.", "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations", "totalLabel": "Net cash and cash equivalents used in investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]", "terseLabel": "Cash flows from investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r47", "r48", "r51" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.", "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations", "totalLabel": "Net cash and cash equivalents provided by operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]", "terseLabel": "Cash flows from operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r34", "r51", "r161", "r176", "r185", "r202", "r205", "r210", "r221", "r236", "r238", "r239", "r240", "r241", "r244", "r245", "r250", "r277", "r288", "r294", "r297", "r312", "r346", "r347", "r349", "r350", "r351", "r353", "r355", "r357", "r358", "r491", "r492", "r591", "r665" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesNetIncomePerCommonShareDetails": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic", "weight": 1.0 }, "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 }, "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net Income (Loss) Attributable to Parent", "totalLabel": "Net income", "verboseLabel": "Net income" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesNetIncomePerCommonShareDetails", "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfComprehensiveIncome", "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings", "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfStockholderSEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic": { "auth_ref": [ "r238", "r239", "r240", "r241", "r246", "r247", "r252", "r256", "r277", "r288", "r294", "r297", "r591" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesNetIncomePerCommonShareDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.", "label": "Net Income (Loss) Available to Common Stockholders, Basic", "totalLabel": "Net income attributable to common shareholders" } } }, "localname": "NetIncomeLossAvailableToCommonStockholdersBasic", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesNetIncomePerCommonShareDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Available to Common Stockholders, Basic [Abstract]", "terseLabel": "Numerator:" } } }, "localname": "NetIncomeLossAvailableToCommonStockholdersBasicAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesNetIncomePerCommonShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "Recently Issued Accounting Pronouncements" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NonoperatingIncomeExpenseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Nonoperating Income (Expense) [Abstract]", "terseLabel": "Other income:" } } }, "localname": "NonoperatingIncomeExpenseAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings" ], "xbrltype": "stringItemType" }, "us-gaap_NumberOfReportableSegments": { "auth_ref": [ "r645" ], "lang": { "en-us": { "role": { "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.", "label": "Number of Reportable Segments", "terseLabel": "Number of reportable operating segments" } } }, "localname": "NumberOfReportableSegments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureDescriptionOfBusinessDetails", "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails", "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesEquipmentAndRevenueRecognitionDetails" ], "xbrltype": "integerItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r277", "r288", "r294", "r297", "r591" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net result for the period of deducting operating expenses from operating revenues.", "label": "Operating Income (Loss)", "totalLabel": "Income from operations" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Maturities of lease liabilities", "terseLabel": "Maturities of lease liabilities" } } }, "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r508" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityMaturitiesOfLeaseLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityMaturitiesOfLeaseLiabilitiesDetailsCalc2": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.", "label": "Operating Lease, Liability", "totalLabel": "Total lease liabilities" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r508" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityMaturitiesOfLeaseLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0 }, "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.", "label": "Operating Lease, Liability, Current", "terseLabel": "Lease liability, current portion" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityMaturitiesOfLeaseLiabilitiesDetails", "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r508" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityMaturitiesOfLeaseLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0 }, "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Lease liability, net of current portion" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityMaturitiesOfLeaseLiabilitiesDetails", "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r509", "r511" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.", "label": "Operating Lease, Payments", "terseLabel": "Cash paid for operating lease liabilities" } } }, "localname": "OperatingLeasePayments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityOperatingLeaseInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r507" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Right-of-use assets, net" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": { "auth_ref": [ "r635" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 14.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization expense for right-of-use asset from operating lease.", "label": "Operating Lease, Right-of-Use Asset, Amortization Expense", "terseLabel": "Amortization of right-of-use assets" } } }, "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r514", "r615" ], "lang": { "en-us": { "role": { "documentation": "Weighted average discount rate for operating lease calculated at point in time.", "label": "Operating Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Weighted-average discount rate" } } }, "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityOperatingLeaseInformationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r513", "r615" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Operating Lease, Weighted Average Remaining Lease Term", "terseLabel": "Weighted-average remaining lease term" } } }, "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityOperatingLeaseInformationDetails" ], "xbrltype": "durationItemType" }, "us-gaap_OperatingSegmentsMember": { "auth_ref": [ "r287", "r288", "r289", "r290", "r291", "r297" ], "lang": { "en-us": { "role": { "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Segment Total" } } }, "localname": "OperatingSegmentsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationSelectedAssetsBySegmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r194" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 7.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other Assets, Noncurrent", "terseLabel": "Other assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherCommitmentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Other Commitments [Abstract]", "terseLabel": "Other" } } }, "localname": "OtherCommitmentsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r135", "r136", "r138" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity.", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent", "terseLabel": "Foreign currency translation adjustments", "verboseLabel": "Translation adjustment" } } }, "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfComprehensiveIncome", "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfStockholderSEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r135", "r136", "r138", "r203", "r206" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": { "order": 2.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity.", "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent", "totalLabel": "Other comprehensive (loss) income" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]", "terseLabel": "Other comprehensive (loss) income:" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "stringItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r21" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.", "label": "Liabilities, Noncurrent", "terseLabel": "Non-current liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic": { "auth_ref": [ "r252", "r628" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesNetIncomePerCommonShareDetails": { "order": 2.0, "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of earnings (loss) distributed and earnings (loss) allocated to participating securities for the basic earnings (loss) per share or per unit calculation under the two-class method.", "label": "Participating Securities, Distributed and Undistributed Earnings (Loss), Basic", "terseLabel": "Less distributed and undistributed income allocated to participating securities" } } }, "localname": "ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesNetIncomePerCommonShareDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities": { "auth_ref": [ "r46" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition date.", "label": "Payment for Contingent Consideration Liability, Financing Activities", "negatedLabel": "Contingent consideration" } } }, "localname": "PaymentForContingentConsiderationLiabilityFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsForProceedsFromProductiveAssets": { "auth_ref": [], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net cash outflow or inflow from purchases, sales and disposals of property, plant and equipment and other productive assets, including intangibles.", "label": "Payments for (Proceeds from) Productive Assets", "negatedTerseLabel": "Purchase of equipment and leasehold improvements" } } }, "localname": "PaymentsForProceedsFromProductiveAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "auth_ref": [ "r44" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow to reacquire common stock during the period.", "label": "Payments for Repurchase of Common Stock", "negatedLabel": "Purchase of treasury stock" } } }, "localname": "PaymentsForRepurchaseOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsOfDividendsCommonStock": { "auth_ref": [ "r44" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity.", "label": "Payments of Ordinary Dividends, Common Stock", "negatedLabel": "Dividends paid" } } }, "localname": "PaymentsOfDividendsCommonStock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates": { "auth_ref": [ "r42" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of a controlling interest in another entity or an entity that is related to it but not strictly controlled (for example, an unconsolidated subsidiary, affiliate, joint venture or equity method investment).", "label": "Payments to Acquire Businesses and Interest in Affiliates", "negatedLabel": "Payment for acquisitions, net of cash acquired" } } }, "localname": "PaymentsToAcquireBusinessesAndInterestInAffiliates", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesGross": { "auth_ref": [ "r42", "r480" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureAcquisitionSupplementaryInformationDetails": { "order": 2.0, "parentTag": "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.", "label": "Payments to Acquire Businesses, Gross", "terseLabel": "Cash paid to sellers" } } }, "localname": "PaymentsToAcquireBusinessesGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionSupplementaryInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "auth_ref": [ "r42" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureAcquisitionSupplementaryInformationDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.", "label": "Payments to Acquire Businesses, Net of Cash Acquired", "totalLabel": "Net cash paid for acquisition" } } }, "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionSupplementaryInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": { "auth_ref": [ "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r403", "r606" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for retirement benefits.", "label": "Pension and Other Postretirement Benefits Disclosure [Text Block]", "terseLabel": "Defined Contribution Plan" } } }, "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureDefinedContributionPlan" ], "xbrltype": "textBlockItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r669", "r670", "r671", "r672", "r673", "r674", "r675", "r676", "r677", "r678", "r679", "r680", "r681", "r682", "r683", "r684", "r685", "r686", "r687", "r688", "r689", "r690", "r691", "r692", "r693", "r694" ], "lang": { "en-us": { "role": { "documentation": "Information by plan name for share-based payment arrangement.", "label": "Plan Name [Axis]" } } }, "localname": "PlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationPlansAndOptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PlanNameDomain": { "auth_ref": [ "r669", "r670", "r671", "r672", "r673", "r674", "r675", "r676", "r677", "r678", "r679", "r680", "r681", "r682", "r683", "r684", "r685", "r686", "r687", "r688", "r689", "r690", "r691", "r692", "r693", "r694" ], "lang": { "en-us": { "role": { "documentation": "Plan name for share-based payment arrangement.", "label": "Plan Name [Domain]" } } }, "localname": "PlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationPlansAndOptionsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r629" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.", "label": "Prepaid Expense and Other Assets, Current", "terseLabel": "Prepaid expenses and other current assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromIssuanceOfSecuredDebt": { "auth_ref": [ "r43" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from amounts received from issuance of long-term debt that is wholly or partially secured by collateral. Excludes proceeds from tax exempt secured debt.", "label": "Proceeds from Issuance of Secured Debt", "terseLabel": "Borrowings under term loan" } } }, "localname": "ProceedsFromIssuanceOfSecuredDebt", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProfitLoss": { "auth_ref": [ "r185", "r202", "r205", "r216", "r221", "r236", "r244", "r245", "r277", "r288", "r294", "r297", "r312", "r346", "r347", "r349", "r350", "r351", "r353", "r355", "r357", "r358", "r482", "r485", "r486", "r491", "r492", "r533", "r591", "r613", "r614", "r633", "r665" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.", "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "terseLabel": "Net income" } } }, "localname": "ProfitLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "auth_ref": [ "r93" ], "lang": { "en-us": { "role": { "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.", "label": "Property, Plant and Equipment, Type [Axis]" } } }, "localname": "PropertyPlantAndEquipmentByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailDetails", "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesEquipmentAndRevenueRecognitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r91", "r190" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailDetails": { "order": 2.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Gross", "terseLabel": "Equipment and leasehold improvements, gross" } } }, "localname": "PropertyPlantAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Property, Plant and Equipment [Line Items]", "terseLabel": "Equipment and leasehold improvements" } } }, "localname": "PropertyPlantAndEquipmentLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesEquipmentAndRevenueRecognitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r93", "r173", "r534", "r616" ], "calculation": { "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Net", "terseLabel": "Equipment and leasehold improvements, net", "totalLabel": "Equipment and leasehold improvements, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailDetails", "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentNetAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Net [Abstract]", "terseLabel": "Equipment and leasehold improvements" } } }, "localname": "PropertyPlantAndEquipmentNetAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": { "auth_ref": [ "r93", "r551", "r552" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.", "label": "Property, Plant and Equipment, Policy [Policy Text Block]", "terseLabel": "Equipment and Leasehold Improvements" } } }, "localname": "PropertyPlantAndEquipmentPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "auth_ref": [ "r93" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table Text Block]", "terseLabel": "Schedule of equipment and leasehold improvements" } } }, "localname": "PropertyPlantAndEquipmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "auth_ref": [ "r91" ], "lang": { "en-us": { "role": { "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.", "label": "Property, Plant and Equipment, Type [Domain]" } } }, "localname": "PropertyPlantAndEquipmentTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailDetails", "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesEquipmentAndRevenueRecognitionDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PropertyPlantAndEquipmentUsefulLife": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.", "label": "Property, Plant and Equipment, Useful Life", "terseLabel": "Useful lives of assets" } } }, "localname": "PropertyPlantAndEquipmentUsefulLife", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesEquipmentAndRevenueRecognitionDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ProvisionForDoubtfulAccounts": { "auth_ref": [ "r214", "r315" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.", "label": "Provision for Doubtful Accounts", "terseLabel": "Provision for doubtful accounts" } } }, "localname": "ProvisionForDoubtfulAccounts", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy": { "auth_ref": [ "r74" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for determining the allowance for doubtful accounts for trade and other accounts receivable balances, and when impairments, charge-offs or recoveries are recognized.", "label": "Receivables, Trade and Other Accounts Receivable, Allowance for Doubtful Accounts, Policy [Policy Text Block]", "terseLabel": "Allowances for Accounts Receivable" } } }, "localname": "ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]", "terseLabel": "Reconciliation of unrecognized tax benefits" } } }, "localname": "ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RelatedPartyTransactionsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Related Party Transactions" } } }, "localname": "RelatedPartyTransactionsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": { "auth_ref": [ "r518", "r519", "r520", "r521", "r522" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.", "label": "Related Party Transactions Disclosure [Text Block]", "verboseLabel": "Related Party Transactions" } } }, "localname": "RelatedPartyTransactionsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRelatedPartyTransactions" ], "xbrltype": "textBlockItemType" }, "us-gaap_RepaymentsOfSecuredDebt": { "auth_ref": [ "r45" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow to repay long-term debt that is wholly or partially secured by collateral. Excludes repayments of tax exempt secured debt.", "label": "Repayments of Secured Debt", "negatedLabel": "Repayments of borrowings under term loan" } } }, "localname": "RepaymentsOfSecuredDebt", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock": { "auth_ref": [ "r87", "r88", "r179" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for its research and development and computer software activities including the accounting treatment for costs incurred for (1) research and development activities, (2) development of computer software for internal use, (3) computer software to be sold, leased or otherwise marketed as a separate product or as part of a product or process and (4) in-process research and development acquired in a purchase business combination.", "label": "Research, Development, and Computer Software, Policy [Policy Text Block]", "terseLabel": "Software Development Costs" } } }, "localname": "ResearchDevelopmentAndComputerSoftwarePolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RestrictedStockMember": { "auth_ref": [ "r57" ], "lang": { "en-us": { "role": { "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met.", "label": "Restricted stock" } } }, "localname": "RestrictedStockMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationNonvestedDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r9", "r105", "r170", "r544", "r546", "r616" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Retained earnings" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r183", "r233", "r234", "r235", "r237", "r243", "r245", "r313", "r442", "r443", "r444", "r466", "r467", "r489", "r541", "r543" ], "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfStockholderSEquity" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r268", "r269", "r287", "r292", "r293", "r299", "r300", "r303", "r387", "r388", "r526" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings": { "order": 2.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "positiveLabel": "Revenue", "terseLabel": "Net sales" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails", "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDisaggregationOfRevenueDetails", "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerMember": { "auth_ref": [ "r303", "r644" ], "lang": { "en-us": { "role": { "documentation": "Revenue from satisfaction of performance obligation by transferring promised product and service to customer, when it serves as benchmark in concentration of risk calculation.", "label": "Net sales" } } }, "localname": "RevenueFromContractWithCustomerMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationConcentrationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": { "auth_ref": [ "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r389", "r588" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for revenue from contract with customer.", "label": "Revenue from Contract with Customer [Policy Text Block]", "terseLabel": "Revenue Recognition" } } }, "localname": "RevenueFromContractWithCustomerPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueFromRelatedParties": { "auth_ref": [ "r35", "r178", "r348", "r349", "r350", "r356", "r357", "r358" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue, fees and commissions earned from transactions between (a) a parent company and its subsidiaries; (b) subsidiaries of a common parent; (c) an entity and trusts for the benefit of employees, for example, but not limited to, pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; (d) an entity and its principal, owners, management, or members of their immediate families; and (e) affiliates.", "label": "Revenue from Related Parties", "terseLabel": "Sales to related party" } } }, "localname": "RevenueFromRelatedParties", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRelatedPartyTransactionsDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Revenues from External Customers and Long-Lived Assets [Line Items]", "terseLabel": "Net sales to unaffiliated customers and identifiable assets by geographic areas" } } }, "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevolvingCreditFacilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.", "label": "Credit Facility" } } }, "localname": "RevolvingCreditFacilityMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "auth_ref": [ "r512", "r615" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.", "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "terseLabel": "Right-of-use assets obtained in exchange for new operating lease obligations" } } }, "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureRightOfUseAssetAndLeaseLiabilityOperatingLeaseInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SalesChannelDirectlyToConsumerMember": { "auth_ref": [ "r605" ], "lang": { "en-us": { "role": { "documentation": "Contract with customer in which good or service is transferred directly to consumer.", "label": "Company As Principal" } } }, "localname": "SalesChannelDirectlyToConsumerMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SalesChannelThroughIntermediaryMember": { "auth_ref": [ "r605" ], "lang": { "en-us": { "role": { "documentation": "Contract with customer in which good or service is transferred through intermediary.", "label": "Company As Agent" } } }, "localname": "SalesChannelThroughIntermediaryMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": { "auth_ref": [ "r24" ], "lang": { "en-us": { "role": { "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.", "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]", "terseLabel": "Schedule of accounts receivable - long term, net" } } }, "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the (a) 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 (accounts payable); (b) other payables; and (c) accrued liabilities. 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). An alternative caption includes accrued expenses.", "label": "Schedule of Accounts Payable and Accrued Liabilities [Table Text Block]", "terseLabel": "Schedule of accounts payable and accrued expenses" } } }, "localname": "ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock": { "auth_ref": [ "r30", "r705", "r706" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of accumulated other comprehensive income (loss).", "label": "Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]", "terseLabel": "Schedule of accumulated other comprehensive loss" } } }, "localname": "ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "auth_ref": [ "r122", "r123", "r478" ], "lang": { "en-us": { "role": { "documentation": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities.", "label": "Schedule of Business Acquisitions, by Acquisition [Table]" } } }, "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionCashConsiderationDetails", "http://www.waysidetechnology.com/role/DisclosureAcquisitionDetails", "http://www.waysidetechnology.com/role/DisclosureAcquisitionSupplementaryInformationDetails", "http://www.waysidetechnology.com/role/DisclosureAcquisitionTables" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": { "auth_ref": [ "r117" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.", "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]", "terseLabel": "Schedule of provision (benefit) for income taxes" } } }, "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": { "auth_ref": [ "r115" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.", "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]", "terseLabel": "Schedule of deferred tax assets and liabilities" } } }, "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "auth_ref": [ "r643" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Schedule of reconciliation of the numerators and denominators of the basic and diluted per share computations" } } }, "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": { "auth_ref": [ "r114" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.", "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]", "terseLabel": "Schedule of difference between total tax expense and the amount computed by applying the U.S. statutory federal income tax rate to income before income taxes" } } }, "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "auth_ref": [ "r79", "r83", "r527" ], "lang": { "en-us": { "role": { "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Schedule of Finite-Lived Intangible Assets [Table]" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsOtherIntangiblesNetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r79", "r83" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "terseLabel": "Summary of other intangibles, net" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfGoodwillTextBlock": { "auth_ref": [ "r592", "r650", "r651", "r652", "r653", "r654", "r655", "r656", "r657", "r658", "r659", "r660" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.", "label": "Schedule of Goodwill [Table Text Block]", "terseLabel": "Summary of goodwill" } } }, "localname": "ScheduleOfGoodwillTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": { "auth_ref": [ "r638" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions.", "label": "Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]", "terseLabel": "Schedule of components of income before income taxes" } } }, "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock": { "auth_ref": [ "r97" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of maturity and sinking fund requirement for long-term debt.", "label": "Schedule of Maturities of Long-Term Debt [Table Text Block]", "terseLabel": "Schedule of future principal payments under the term loan" } } }, "localname": "ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfNonvestedShareActivityTableTextBlock": { "auth_ref": [ "r109" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the changes in outstanding nonvested shares.", "label": "Schedule of Nonvested Share Activity [Table Text Block]", "terseLabel": "Summary of nonvested shares of Restricted Stock awards outstanding and the changes during the period" } } }, "localname": "ScheduleOfNonvestedShareActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "auth_ref": [ "r93" ], "lang": { "en-us": { "role": { "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.", "label": "Property, Plant and Equipment [Table]" } } }, "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesEquipmentAndRevenueRecognitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": { "auth_ref": [ "r125" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amounts recognized as of the acquisition date for each major class of assets acquired and liabilities assumed. May include but not limited to the following: (a) acquired receivables; (b) contingencies recognized at the acquisition date; and (c) the fair value of noncontrolling interests in the acquiree.", "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]", "terseLabel": "Summary of purchase price allocations" } } }, "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureAcquisitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock": { "auth_ref": [ "r36", "r73" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of information concerning material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries.", "label": "Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas [Table Text Block]", "verboseLabel": "Schedule of net sales to identifiable assets by geographic areas" } } }, "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": { "auth_ref": [ "r32", "r73" ], "lang": { "en-us": { "role": { "documentation": "Schedule of material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries.", "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]" } } }, "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "auth_ref": [ "r68", "r69", "r70", "r76" ], "lang": { "en-us": { "role": { "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.", "label": "Schedule of Segment Reporting Information, by Segment [Table]" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails", "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationSelectedAssetsBySegmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "auth_ref": [ "r68", "r69", "r70", "r76" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. 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.", "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "terseLabel": "Schedule of segment reporting information" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "auth_ref": [ "r404", "r406", "r408", "r409", "r410", "r412", "r413", "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427", "r428", "r429", "r432", "r433", "r434", "r435", "r436" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about share-based payment arrangement.", "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]" } } }, "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationNonvestedDetails", "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationPlansAndOptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": { "auth_ref": [ "r612", "r697" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the change in unrecognized tax benefits.", "label": "Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]", "terseLabel": "Schedule of activity related to unrecognized tax benefits" } } }, "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "auth_ref": [ "r83" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.", "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]", "terseLabel": "Schedule of estimated future amortization expense of other intangible assets" } } }, "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SecuredDebtCurrent": { "auth_ref": [ "r1", "r154", "r168" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of the portion of long-term, collateralized debt obligations due within one year or the operating cycle, if longer. Such obligations include mortgage loans, chattel loans, and any other borrowings secured by assets of the borrower.", "label": "Secured Debt, Current", "terseLabel": "Term loan, current portion" } } }, "localname": "SecuredDebtCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_SecuredLongTermDebt": { "auth_ref": [ "r20" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Secured Long-term Debt, Noncurrent", "terseLabel": "Term loan, net of current portion" } } }, "localname": "SecuredLongTermDebt", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_SegmentDomain": { "auth_ref": [ "r265", "r268", "r269", "r270", "r271", "r272", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r297", "r303", "r321", "r322", "r323", "r324", "r325", "r326", "r327", "r328", "r329", "r337", "r338", "r592", "r719" ], "lang": { "en-us": { "role": { "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Segments [Domain]" } } }, "localname": "SegmentDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails", "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDisaggregationOfRevenueDetails", "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationSelectedAssetsBySegmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SegmentReportingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Industry, Segment and Geographic Financial Information" } } }, "localname": "SegmentReportingAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_SegmentReportingDisclosureTextBlock": { "auth_ref": [ "r265", "r266", "r267", "r277", "r280", "r291", "r295", "r296", "r297", "r298", "r299", "r302", "r303", "r304" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.", "label": "Segment Reporting Disclosure [Text Block]", "terseLabel": "Segment Information" } } }, "localname": "SegmentReportingDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformation" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentReportingInformationLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Segment Reporting Information [Line Items]", "terseLabel": "Segment reporting information" } } }, "localname": "SegmentReportingInformationLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails", "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationSelectedAssetsBySegmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SegmentReportingPolicyPolicyTextBlock": { "auth_ref": [ "r281", "r282", "r283", "r284", "r285", "r286", "r300" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for segment reporting.", "label": "Operating Segments" } } }, "localname": "SegmentReportingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "auth_ref": [ "r40" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings": { "order": 2.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.", "label": "Selling, General and Administrative Expense", "terseLabel": "Selling, general, and administrative expenses" } } }, "localname": "SellingGeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings" ], "xbrltype": "monetaryItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpensesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing selling, general and administrative expense.", "label": "Selling, general and administrative expenses" } } }, "localname": "SellingGeneralAndAdministrativeExpensesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationNonvestedDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r49" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement.", "label": "Share-based Compensation", "terseLabel": "Share-based compensation expense" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "auth_ref": [ "r425" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "negatedLabel": "Forfeited (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationNonvestedDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "auth_ref": [ "r425" ], "lang": { "en-us": { "role": { "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value", "terseLabel": "Forfeited (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationNonvestedDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "auth_ref": [ "r423" ], "lang": { "en-us": { "role": { "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period", "terseLabel": "Granted (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationNonvestedDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r423" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "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 share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationNonvestedDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "auth_ref": [ "r420", "r421" ], "lang": { "en-us": { "role": { "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "periodEndLabel": "Nonvested shares at the end of the period", "periodStartLabel": "Nonvested shares at the beginning of the period" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationNonvestedDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]", "terseLabel": "Shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationNonvestedDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "auth_ref": [ "r420", "r421" ], "lang": { "en-us": { "role": { "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "periodEndLabel": "Nonvested shares at the end of period (in dollars per share)", "periodStartLabel": "Nonvested shares at the beginning of period (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationNonvestedDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": { "auth_ref": [], "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 [Abstract]", "terseLabel": "Weighted Average Grant Date Fair Value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationNonvestedDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "auth_ref": [ "r424" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period", "negatedLabel": "Vested (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationNonvestedDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r424" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Vested (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationNonvestedDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]", "terseLabel": "Stock-based compensation" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationNonvestedDetails", "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationPlansAndOptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "auth_ref": [ "r611" ], "lang": { "en-us": { "role": { "documentation": "Number of shares authorized for issuance under share-based payment arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized", "terseLabel": "Number of shares of common stock initially available for award" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationPlansAndOptionsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "auth_ref": [ "r110" ], "lang": { "en-us": { "role": { "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant", "verboseLabel": "Options reserved for future issuance (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationPlansAndOptionsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "auth_ref": [ "r414" ], "lang": { "en-us": { "role": { "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number", "terseLabel": "Options exercisable" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationPlansAndOptionsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r412", "r413" ], "lang": { "en-us": { "role": { "documentation": "Number of options outstanding, including both vested and non-vested options.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number", "terseLabel": "Options outstanding" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationPlansAndOptionsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r408", "r409", "r410", "r412", "r413", "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427", "r428", "r429", "r432", "r433", "r434", "r435", "r436" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "Equity Award [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureStockholdersEquityAndStockBasedCompensationNonvestedDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": { "auth_ref": [ "r411", "r430", "r431", "r432", "r433", "r436", "r445", "r446" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.", "label": "Share-based Compensation, Option and Incentive Plans Policy [Policy Text Block]", "terseLabel": "Stock-Based Compensation" } } }, "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by supplier.", "label": "Supplier [Axis]" } } }, "localname": "ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationConcentrationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Specific identification or general nature of (for example, a construction contractor, a consulting firm) the party from whom the goods or services were or are to be received.", "label": "Share-based Goods and Nonemployee Services Transaction, Supplier [Domain]" } } }, "localname": "ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationConcentrationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r56", "r220" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.", "label": "Significant Accounting Policies [Text Block]", "terseLabel": "Summary of Significant Accounting Policies" } } }, "localname": "SignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_SoftwareDevelopmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Internally developed software for sale, licensing or long-term internal use.", "label": "Capitalized software" } } }, "localname": "SoftwareDevelopmentMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailDetails", "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesEquipmentAndRevenueRecognitionDetails" ], "xbrltype": "domainItemType" }, "us-gaap_StatementBusinessSegmentsAxis": { "auth_ref": [ "r184", "r265", "r268", "r269", "r270", "r271", "r272", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r297", "r303", "r321", "r322", "r323", "r324", "r325", "r326", "r327", "r328", "r329", "r335", "r337", "r338", "r592", "r719" ], "lang": { "en-us": { "role": { "documentation": "Information by business segments.", "label": "Segments [Axis]" } } }, "localname": "StatementBusinessSegmentsAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDetails", "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDisaggregationOfRevenueDetails", "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationSelectedAssetsBySegmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r23", "r100", "r183", "r208", "r209", "r210", "r233", "r234", "r235", "r237", "r243", "r245", "r259", "r313", "r378", "r442", "r443", "r444", "r466", "r467", "r489", "r498", "r499", "r500", "r501", "r502", "r503", "r517", "r541", "r542", "r543" ], "lang": { "en-us": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailAccountsPayableAndAccruedExpensesAndAociDetails", "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfStockholderSEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Statement [Line Items]", "terseLabel": "Statement" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailAccountsPayableAndAccruedExpensesAndAociDetails", "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailDetails", "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails", "http://www.waysidetechnology.com/role/DisclosureRelatedPartyTransactionsDetail", "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfStockholderSEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Consolidated Statements of Cash Flows" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Consolidated Balance Sheets" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Consolidated Statements of Comprehensive Income" } } }, "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Consolidated Statements of Stockholders' Equity" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r233", "r234", "r235", "r259", "r526" ], "lang": { "en-us": { "role": { "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.", "label": "Statement [Table]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailAccountsPayableAndAccruedExpensesAndAociDetails", "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetailDetails", "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails", "http://www.waysidetechnology.com/role/DisclosureRelatedPartyTransactionsDetail", "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfStockholderSEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures": { "auth_ref": [ "r6", "r7", "r100", "r105" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued during the period related to Restricted Stock Awards, net of any shares forfeited.", "label": "Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures", "negatedLabel": "Restricted stock grants (net of forfeitures) (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfStockholderSEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures": { "auth_ref": [ "r100", "r105" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited.", "label": "Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures", "terseLabel": "Restricted stock grants (net of forfeitures)" } } }, "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfStockholderSEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r7", "r10", "r11", "r75", "r616", "r637", "r648", "r704" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.", "label": "Stockholders' Equity Attributable to Parent", "periodEndLabel": "Balance", "periodStartLabel": "Balance", "totalLabel": "Total stockholders' equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets", "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfStockholderSEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent [Abstract]", "terseLabel": "Stockholders' equity:" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": { "auth_ref": [ "r630" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity.", "label": "Supplemental Balance Sheet Disclosures [Text Block]", "terseLabel": "Balance Sheet Detail" } } }, "localname": "SupplementalBalanceSheetDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureBalanceSheetDetail" ], "xbrltype": "textBlockItemType" }, "us-gaap_SupplementalCashFlowInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "Supplementary disclosure of cash flow information:" } } }, "localname": "SupplementalCashFlowInformationAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_SupplierConcentrationRiskMember": { "auth_ref": [ "r60" ], "lang": { "en-us": { "role": { "documentation": "Reflects the percentage that purchases in the period from one or more significant suppliers is to cost of goods or services, as defined by the entity, such as total cost of sales or services, product line cost of sales or services, segment cost of sales or services. Risk is the materially adverse effects of loss of a material supplier or a supplier of critically needed goods or services.", "label": "Vendor concentration risk" } } }, "localname": "SupplierConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationConcentrationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TimingOfTransferOfGoodOrServiceAxis": { "auth_ref": [ "r604", "r668" ], "lang": { "en-us": { "role": { "documentation": "Information by timing of transfer of good or service to customer.", "label": "Timing of Transfer of Good or Service [Axis]" } } }, "localname": "TimingOfTransferOfGoodOrServiceAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_TimingOfTransferOfGoodOrServiceDomain": { "auth_ref": [ "r604", "r668" ], "lang": { "en-us": { "role": { "documentation": "Timing of transfer of good or service to customer. Includes, but is not limited to, at point in time or over time.", "label": "Timing of Transfer of Good or Service [Domain]" } } }, "localname": "TimingOfTransferOfGoodOrServiceDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TradeAndOtherAccountsReceivablePolicy": { "auth_ref": [ "r180", "r181", "r182", "r307", "r308", "r311" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for accounts receivable.", "label": "Trade and Other Accounts Receivable, Policy [Policy Text Block]", "terseLabel": "Accounts Receivable" } } }, "localname": "TradeAndOtherAccountsReceivablePolicy", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_TradeNamesMember": { "auth_ref": [ "r126" ], "lang": { "en-us": { "role": { "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof.", "label": "Trade name" } } }, "localname": "TradeNamesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureGoodwillAndOtherIntangibleAssetsOtherIntangiblesNetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TransferredAtPointInTimeMember": { "auth_ref": [ "r604" ], "lang": { "en-us": { "role": { "documentation": "Contract with customer in which good or service is transferred at point in time.", "label": "Transferred at Point in Time" } } }, "localname": "TransferredAtPointInTimeMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIndustrySegmentAndGeographicFinancialInformationDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TreasuryStockCommonMember": { "auth_ref": [ "r106" ], "lang": { "en-us": { "role": { "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury.", "label": "Treasury" } } }, "localname": "TreasuryStockCommonMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfStockholderSEquity" ], "xbrltype": "domainItemType" }, "us-gaap_TreasuryStockCommonShares": { "auth_ref": [ "r106" ], "lang": { "en-us": { "role": { "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury.", "label": "Treasury Stock, Shares", "periodEndLabel": "Treasury Stock, balance (in shares)", "periodStartLabel": "Treasury Stock, balance (in shares)", "terseLabel": "Treasury stock, shares" } } }, "localname": "TreasuryStockCommonShares", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheetsParenthetical", "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfStockholderSEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_TreasuryStockCommonValue": { "auth_ref": [ "r25", "r106", "r107" ], "calculation": { "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury.", "label": "Treasury Stock, Value", "negatedLabel": "Treasury stock, at cost, 806,068 and 859,828 shares, respectively" } } }, "localname": "TreasuryStockCommonValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_TreasuryStockSharesAcquired": { "auth_ref": [ "r7", "r100", "r105" ], "lang": { "en-us": { "role": { "documentation": "Number of shares that have been repurchased during the period and are being held in treasury.", "label": "Treasury Stock, Shares, Acquired", "verboseLabel": "Treasury shares repurchased (in shares)" } } }, "localname": "TreasuryStockSharesAcquired", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfStockholderSEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_TreasuryStockTextBlock": { "auth_ref": [ "r108" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for treasury stock, including, but not limited to, average cost per share, description of share repurchase program, shares repurchased, shares held for each class of treasury stock.", "label": "Treasury Stock [Text Block]", "terseLabel": "Treasury Stock" } } }, "localname": "TreasuryStockTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_TreasuryStockValueAcquiredCostMethod": { "auth_ref": [ "r100", "r105", "r106" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method.", "label": "Treasury Stock, Value, Acquired, Cost Method", "negatedTerseLabel": "Treasury shares repurchased" } } }, "localname": "TreasuryStockValueAcquiredCostMethod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfStockholderSEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_UndistributedEarnings": { "auth_ref": [ "r251", "r254" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The earnings that is allocated to common stock and participating securities to the extent that each security may share in earnings as if all of the earnings for the period had been distributed.", "label": "Undistributed Earnings, Basic", "terseLabel": "Undistributed earnings" } } }, "localname": "UndistributedEarnings", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefits": { "auth_ref": [ "r447", "r456" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of unrecognized tax benefits.", "label": "Unrecognized Tax Benefits", "periodEndLabel": "Balance", "periodStartLabel": "Balance" } } }, "localname": "UnrecognizedTaxBenefits", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities": { "auth_ref": [ "r457" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease in unrecognized tax benefits resulting from settlements with taxing authorities.", "label": "Unrecognized Tax Benefits, Decrease Resulting from Settlements with Taxing Authorities", "negatedLabel": "Reductions related to settlements with tax authorities" } } }, "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense": { "auth_ref": [ "r455" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.", "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Expense", "terseLabel": "Interest and penalties related to uncertain tax positions" } } }, "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r64", "r65", "r66", "r260", "r261", "r263", "r264" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.", "label": "Use of Estimates, Policy [Policy Text Block]", "terseLabel": "Use of Estimates" } } }, "localname": "UseOfEstimates", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ValuationAllowancesAndReservesBalance": { "auth_ref": [ "r226", "r231" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of valuation and qualifying accounts and reserves.", "label": "Valuation Allowances and Reserves, Balance", "periodEndLabel": "Ending Balance", "periodStartLabel": "Beginning Balance" } } }, "localname": "ValuationAllowancesAndReservesBalance", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureScheduleIiValuationAndQualifyingAccountsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense": { "auth_ref": [ "r229" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense.", "label": "Valuation Allowances and Reserves, Charged to Cost and Expense", "terseLabel": "Charged to Cost and Expense" } } }, "localname": "ValuationAllowancesAndReservesChargedToCostAndExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureScheduleIiValuationAndQualifyingAccountsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ValuationAllowancesAndReservesDeductions": { "auth_ref": [ "r230" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease in valuation and qualifying accounts and reserves.", "label": "Valuation Allowances and Reserves, Deductions", "terseLabel": "Deductions" } } }, "localname": "ValuationAllowancesAndReservesDeductions", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureScheduleIiValuationAndQualifyingAccountsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ValuationAllowancesAndReservesDomain": { "auth_ref": [ "r226", "r227", "r228", "r230", "r231" ], "lang": { "en-us": { "role": { "documentation": "Valuation and qualifying accounts and reserves.", "label": "Valuation Allowances and Reserves [Domain]" } } }, "localname": "ValuationAllowancesAndReservesDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureScheduleIiValuationAndQualifyingAccountsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ValuationAllowancesAndReservesTypeAxis": { "auth_ref": [ "r226", "r227", "r228", "r230", "r231" ], "lang": { "en-us": { "role": { "documentation": "Information by valuation and qualifying accounts and reserves.", "label": "Valuation Allowances and Reserves Type [Axis]" } } }, "localname": "ValuationAllowancesAndReservesTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureScheduleIiValuationAndQualifyingAccountsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_VariableRateAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of variable rate.", "label": "Variable Rate [Axis]" } } }, "localname": "VariableRateAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_VariableRateDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.", "label": "Variable Rate [Domain]" } } }, "localname": "VariableRateDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureCreditFacilityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r248", "r256" ], "lang": { "en-us": { "role": { "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.", "label": "Weighted Average Number of Shares Outstanding, Diluted", "terseLabel": "Weighted average common shares outstanding - Diluted (in shares)", "verboseLabel": "Weighted average common shares including assumed conversions (Diluted)" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesNetIncomePerCommonShareDetails", "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]", "terseLabel": "Denominator:" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesNetIncomePerCommonShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r246", "r256" ], "lang": { "en-us": { "role": { "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.", "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Weighted average common shares outstanding - Basic (in shares)", "verboseLabel": "Weighted average common shares (Basic)" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.waysidetechnology.com/role/DisclosureSummaryOfSignificantAccountingPoliciesNetIncomePerCommonShareDetails", "http://www.waysidetechnology.com/role/StatementConsolidatedStatementsOfEarnings" ], "xbrltype": "sharesItemType" } }, "unitCount": 10 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "205", "URI": "https://asc.fasb.org/topic&trid=2122149", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(19))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r101": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21475-112644", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21506-112644", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21521-112644", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21538-112644", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r108": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "30", "Topic": "505", "URI": "https://asc.fasb.org/subtopic&trid=2208821", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(31))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11149-113907", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11178-113907", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32632-109319", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.7)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "05", "SubTopic": "10", "Subparagraph": "(a)-(d)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=6909625&loc=d3e227-128457", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(32))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=123586518&loc=d3e1043-128460", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4845-128472", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4845-128472", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5333-128473", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "25", "SubTopic": "30", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=6911189&loc=d3e6408-128476", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "30", "SubTopic": "30", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126966197&loc=d3e6578-128477", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "30", "SubTopic": "30", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126966197&loc=d3e6613-128477", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126966325&loc=d3e6819-128478", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(2)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e7008-128479", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r134": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "805", "URI": "https://asc.fasb.org/topic&trid=2303972", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569616-111683", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569643-111683", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=d3e5614-111684", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(3)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c),(3)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "60", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=7493716&loc=d3e21868-110260", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13279-108611", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13531-108611", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28541-108399", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28551-108399", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28555-108399", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19,20)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39603-107864", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "940", "URI": "https://asc.fasb.org/extlink&oid=126941158&loc=d3e41242-110953", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(11))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(13))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(15)(2))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(16))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(23))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.15(5))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.17)", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19-26)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(15))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04.9)", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "470", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=123599511&loc=d3e64711-112823", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126941378&loc=d3e61044-112788", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(15)(b)(2))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(16))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(12))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(16)(a)(1))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(16))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.20)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(25))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(3))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03.(a),19)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03.17)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(8))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07.1(c))", "Topic": "946", "URI": "https://asc.fasb.org/extlink&oid=120401555&loc=SL114874292-224272", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "985", "URI": "https://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.21)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "11B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=SL6953423-111524", "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5212-111524", "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5093-111524", "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "105", "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "205", "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(13))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(14))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(15))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(16))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(17))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(18))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3)(b))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(4))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(b))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(20))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(9))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL116659661-227067", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.24)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(210.5-03(11))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(24))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(25))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(5))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3367-108585", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3000-108585", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.25)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18726-107790", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(1))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(2))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-04(a))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column B))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column C(1)))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column C(2)))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column C)(1))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-31)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column D))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column E))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09)", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.3,4)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1448-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1377-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1505-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1252-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.30)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "66", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e2814-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1337-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e3842-109258", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "270", "URI": "https://asc.fasb.org/extlink&oid=126900757&loc=d3e543-108305", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a),(b),(c)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8657-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(j)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e637-108580", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "26", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8844-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e681-108580", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "34", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8981-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9031-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(22))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669686-108580", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9054-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r304": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "280", "URI": "https://asc.fasb.org/topic&trid=2134510", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e4975-111524", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5033-111524", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e557-108580", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=SL6953401-111524", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=84159169&loc=d3e10133-111534", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919253-210447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "330", "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4492-108314", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "330", "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4556-108314", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r319": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "330", "URI": "https://asc.fasb.org/topic&trid=2126998", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(1))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(10))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(d))", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "440", "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "440", "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r345": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1(e))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r351": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r352": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r354": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r355": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r357": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r363": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r364": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1,2)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r370": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r371": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r372": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466204&loc=SL6031897-161870", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466204&loc=SL6031897-161870", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130561-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130563-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130563-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130564-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r385": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130543-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r388": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r389": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "https://asc.fasb.org/topic&trid=49130388", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r390": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r391": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iii)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r392": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(03)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r393": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(l)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r394": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(o)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(p)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(q)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r397": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(r)(1)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(r)(2)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=21916913&loc=d3e273930-122802", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(26)(a))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.4)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r400": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "60", "Subparagraph": "(c)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=6414203&loc=d3e39689-114964", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r401": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "70", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=49170846&loc=d3e28014-114942", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r402": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(d)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r403": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "715", "URI": "https://asc.fasb.org/topic&trid=2235017", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r404": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=SL116886442-113899", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r405": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4534-113899", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r406": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4549-113899", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r407": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r408": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r409": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r410": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r411": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r412": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r413": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r415": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(01)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(02)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(03)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(04)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r420": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r421": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r423": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(01)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r424": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(02)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r425": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(03)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r426": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r429": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r430": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r431": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r432": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r433": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r434": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r435": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r436": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(v)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r437": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r438": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r439": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r440": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r441": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(l)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r442": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r443": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r444": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r445": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.D.2.Q6)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r446": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "https://asc.fasb.org/topic&trid=2228938", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r447": { "Name": "Accounting Standards Codification", "Paragraph": "10B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=SL37586934-109318", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r448": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e32247-109318", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r449": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e32280-109318", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r450": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r451": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r452": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r453": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r454": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r455": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r456": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r457": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r458": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r459": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32840-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r460": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r461": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32847-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r462": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r463": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r464": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r465": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r466": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r467": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r468": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r469": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.7)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r470": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.1)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r471": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.2)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r472": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.3)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r473": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.C)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r474": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r475": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "270", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r476": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r477": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "https://asc.fasb.org/topic&trid=2144680", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r478": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4946-128472", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r479": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4946-128472", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r480": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)(1)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r481": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)(1)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r482": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569616-111683", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r483": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r484": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r485": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r486": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r487": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r488": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r489": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r490": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(4)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r491": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r492": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r493": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=126980362&loc=d3e28228-110885", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r494": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "20", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=123602790&loc=d3e30226-110892", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r495": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=125521441&loc=d3e30690-110894", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r496": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=124440516&loc=d3e30840-110895", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r497": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r498": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r499": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(26)(b))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r500": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r501": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r502": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r503": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r504": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "830", "URI": "https://asc.fasb.org/topic&trid=2175825", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r505": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "835", "URI": "https://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r506": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org/extlink&oid=124429444&loc=SL124452920-239629", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r507": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r508": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r509": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r510": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918673-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r511": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r512": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(2)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r513": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(3)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r514": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(4)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r515": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r516": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/subtopic&trid=77888251", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r517": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(3)(iii)(03)", "Topic": "848", "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r518": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r519": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3044-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r520": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r521": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39691-107864", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r522": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "850", "URI": "https://asc.fasb.org/topic&trid=2122745", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r523": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r524": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "https://asc.fasb.org/extlink&oid=126937589&loc=SL119991595-234733", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r525": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "330", "Topic": "912", "URI": "https://asc.fasb.org/extlink&oid=6471895&loc=d3e55923-109411", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r526": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.L)", "Topic": "924", "URI": "https://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r527": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "926", "URI": "https://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r528": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "340", "Topic": "928", "URI": "https://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r529": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(10)(1))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4273-108586", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r530": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(9))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r531": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(26))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r532": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(27))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r533": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(2))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r534": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r535": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(5))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r536": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r537": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(22))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r538": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(23))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r539": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(9))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r540": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r541": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r542": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r543": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r544": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(i)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r545": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(ii)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r546": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r547": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r548": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "310", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Topic": "948", "URI": "https://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r549": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Topic": "954", "URI": "https://asc.fasb.org/extlink&oid=126942805&loc=d3e3115-115594", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=SL98516268-108586", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r550": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "440", "Subparagraph": "(a)", "Topic": "954", "URI": "https://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r551": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Subparagraph": "(d)", "Topic": "958", "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99779-112916", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r552": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99893-112916", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r553": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column B))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r554": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column C))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r555": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column D))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r556": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column E))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r557": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column F))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r558": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column G))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r559": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column H))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r56": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "https://asc.fasb.org/topic&trid=2122369", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r560": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column I))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r561": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r562": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(c)", "Topic": "976", "URI": "https://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r563": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "978", "URI": "https://asc.fasb.org/extlink&oid=126945304&loc=d3e27327-108691", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r564": { "Footnote": "2", "Name": "Regulation S-X (SX)", "Number": "210", "Publisher": "SEC", "Section": "12", "Subsection": "28", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r565": { "Footnote": "4", "Name": "Regulation S-X (SX)", "Number": "210", "Publisher": "SEC", "Section": "12", "Subsection": "29", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r566": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "Column B", "Publisher": "SEC", "Section": "12", "Subsection": "28", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r567": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "Column C", "Publisher": "SEC", "Section": "12", "Subsection": "28", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r568": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "Column D", "Publisher": "SEC", "Section": "12", "Subsection": "28", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r569": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "Column E", "Publisher": "SEC", "Section": "12", "Subsection": "28", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r570": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "Column F", "Publisher": "SEC", "Section": "12", "Subsection": "28", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r571": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "Column G", "Publisher": "SEC", "Section": "12", "Subsection": "28", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r572": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "Column H", "Publisher": "SEC", "Section": "12", "Subsection": "28", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r573": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "Column I", "Publisher": "SEC", "Section": "12", "Subsection": "28", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r574": { "Name": "Regulation S-X (SX)", "Number": "210", "Publisher": "SEC", "Section": "12", "Subsection": "09", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r575": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(i)", "Subsection": "01", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r576": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(i)", "Subsection": "02", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r577": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(iii)(A)", "Subsection": "01", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r578": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(iii)(A)", "Subsection": "02", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r579": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(iii)(B)", "Subsection": "01", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r580": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(iii)(B)", "Subsection": "02", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r581": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(iii)(C)", "Subsection": "02", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r582": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(iv)", "Subsection": "01", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r583": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(iv)", "Subsection": "02", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r584": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r585": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r586": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r587": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r588": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r589": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e4984-109258", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6327-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r590": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r591": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r592": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=122137925&loc=d3e14258-109268", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r593": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r594": { "Name": "Accounting Standards Codification", "Paragraph": "69B", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r595": { "Name": "Accounting Standards Codification", "Paragraph": "69C", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r596": { "Name": "Accounting Standards Codification", "Paragraph": "69E", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495743-112612", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r597": { "Name": "Accounting Standards Codification", "Paragraph": "69F", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495745-112612", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r598": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r599": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r600": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r601": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r602": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r603": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r604": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r605": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r606": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r607": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r608": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r609": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "80", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r610": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r611": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r612": { "Name": "Accounting Standards Codification", "Paragraph": "217", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=126976462&loc=d3e36027-109320", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r613": { "Name": "Accounting Standards Codification", "Paragraph": "4J", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591551-111686", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r614": { "Name": "Accounting Standards Codification", "Paragraph": "4K", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591552-111686", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r615": { "Name": "Accounting Standards Codification", "Paragraph": "53", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123414884&loc=SL77918982-209971", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r616": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "852", "URI": "https://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r617": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r618": { "Name": "Accounting Standards Codification", "Paragraph": "29F", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117819544-158441", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r619": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r620": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r621": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r622": { "Name": "Form 10-K", "Number": "249", "Publisher": "SEC", "Section": "310", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r623": { "Name": "Form 20-F", "Number": "249", "Publisher": "SEC", "Section": "220", "Subsection": "f", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r624": { "Name": "Form 40-F", "Number": "249", "Publisher": "SEC", "Section": "240", "Subsection": "f", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r625": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r626": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r627": { "Name": "Securities Act", "Number": "230", "Publisher": "SEC", "Section": "405", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r628": { "Name": "Accounting Standards Codification", "Paragraph": "60", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e2740-109256", "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef" }, "r629": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(9))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6442-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r630": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "210", "URI": "https://asc.fasb.org/topic&trid=2122208", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r631": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r632": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r633": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r634": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r635": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r636": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(f))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r637": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r638": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r639": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(k)(1))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r640": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r641": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r642": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r643": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r644": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r645": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8672-108599", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r646": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r647": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4647-111522", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r648": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r649": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r650": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r651": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r652": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r653": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r654": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r655": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r656": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r657": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r658": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r659": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=SL108378252-109267", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r660": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r661": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "410", "URI": "https://asc.fasb.org/extlink&oid=6393242&loc=d3e13237-110859", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r662": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r663": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r664": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "https://asc.fasb.org/topic&trid=2127136", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r665": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r666": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r667": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r668": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r669": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r67": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "275", "URI": "https://asc.fasb.org/topic&trid=2134479", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r670": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r671": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r672": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r673": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r674": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r675": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r676": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(01)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r677": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(02)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r678": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(03)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r679": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(04)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r680": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r681": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r682": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r683": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(01)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r684": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(02)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r685": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(03)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r686": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r687": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r688": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r689": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r690": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r691": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r692": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r693": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r694": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(v)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r695": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r696": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r697": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r698": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r699": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32621-109319", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r700": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r701": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r702": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.7)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r703": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r704": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r705": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r706": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r707": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918673-209980", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r708": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r709": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8475-108599", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r710": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39599-107864", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r711": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "852", "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r712": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "852", "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r713": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r714": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r715": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r716": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r717": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r718": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r719": { "Name": "Accounting Standards Codification", "Paragraph": "4H", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "b", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r720": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r721": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r722": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "985", "URI": "https://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r723": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(ii)", "Subsection": "01", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r724": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "(a)", "Publisher": "SEC", "Section": "13", "Subparagraph": "(4)(iii)", "Subsection": "01", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5144-111524", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 4.E)", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16212-109274", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "((a)(1),(b))", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(2)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "30", "SubTopic": "40", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=118172244&loc=d3e17916-109280", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "25", "SubTopic": "50", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=16397303&loc=d3e19347-109286", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r89": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "350", "URI": "https://asc.fasb.org/topic&trid=2144416", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r91": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r94": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "https://asc.fasb.org/topic&trid=2144648", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=124440162&loc=d3e12021-110248", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=124440162&loc=d3e12053-110248", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123465755&loc=d3e1835-112601", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123465755&loc=SL6230698-112601", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r99": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "470", "URI": "https://asc.fasb.org/topic&trid=2208564", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" } }, "version": "2.2" } ZIP 88 0001558370-23-004053-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-23-004053-xbrl.zip M4$L#!!0 ( ,N*<%;$7;@D,!$ *RU 1 8VQM8BTR,#(R,3(S,2YX MS;YM020D(4," M7 #TL;\^#? 03_"0E%%5^#)C$8T&NK]& PTTR!_^^>I[Z)D(23G[<#0Y/CE" MA#G.?__3#7T:C7R\?[I#+G= G3"%'$*R(BUZH6J,G M'@28H4]$".IYZ%)0=T40FIP<3X]/CM^AT2CF<8DEU.$,&6;3XTE:S[\\GI^C^4TKX"?JWI(V4K](]E\Z:^!AAI01=A(K<<.%_ M)$L<>@KD8[^'V#.L0&R/:*ER!)EBA<6*J,_8)S+ #OEPM%8J.!^/7UY>CE_P MFZ0N4<19,^[QU=NQPWW=I^ED.IL<(= QD^I1]S?%_70COF(L5L#R9 MC77Q I28D NRK*4^'4-I0J@+7)729NG>CZ/"+"FU]($RJ3!STCZ\>A;B7^^@ MQQO*HG0O,T,Z.3L[&YO2E%2Z583 MC,FK(DS2A4=&FHP(K,"=R-%4NY-8T:$0X%CJ-!V7%E6M9:Z0+2G)*YLZ-;JF M3I%OC M$D@@B-/&YC:4&V-5S8:J-BW1ZIY#0=$X+6S=C>* M;ENT:-3YD4K'XS(4Y!'\EXN%>\'$Z11X@"J-VJI/U, M>NJ2)6742 6.^>0$C="&(_Q(F"+@BB*V2/-%$6.4I9(ZX=D]AJ.MAS0J]'Q4W/ZNO%3Q/T=@0JJ%"9-<<5.$ON45>/ ML4OLZ0GJ<4U(@F0+.AM\, ,:^%(V\'>6$XI9H8C7 %@WP-*'DWS3&XA'/))2T2K:MK!G74!-\<> M1?P'H+< &LOUC<=?V@[8#;T=U/>=0 6FR' =H&RS I]'XNW^?*1KAC$S0YF MZL(QL1KXO7M0LD.)_$Q4-#SNB8!1XW/VN,:"?"0*4Z^\0MH%3YM)O ,G/BDM MH:)6M0UDVD6;AE'2,A!#X_& 1] \BMI'I@/HN[@+?QL,J(4!73B_AU2:3NBA MITI9A/(,SO(.?:(;O@/6'?"^B?.W1?J>1![SM6:B%M0 5OI#:@+*2&&*3S4 MGKL&^RTXV6WA77G )VTAB)R188PVG%'4'I!%)733YM\1 ^<_6,@N+>0F5'KD M^UPH^H>1\?HU@'5UW0IA:WY-UE+R'"VM)6H8X4S+B$1-#R;3R60>Z&JMYLLO M,H(4D+XC6)([BA?4H^KM$P9-0Q\)! *Y$GA28S6[8&DWG/=EPS&-COAR!/J+ M[,28D.&/TJ:!<-.Z7H)ZIMS;=& PGT[FD]V0BQ178Q3UA':H3\L11&[G#D5L M!MBVA"V.O^0]?L/:OS,7GHB0N+%'E_H)=VAK>+LR;#*#THBO-(-1$DA*%$0- M&S> HZ:3.4*:AQ?SJ]O!;O[7L\45R#_=PY01\6VRHG?[GS?0=QKBZ6!0;0PJ MVMQYPJ\:QR41@KCP(UKGU;B:-E7L9O"/\IP2;S(9KKHL9JP?;%:=@Z_H">V] MX,]4)UO=<)&#KPG@AHI-,)>"T0+,*7NTY*)8.*#=$^T'XG#F@%^,$F+T 3SW M \ZBTX2(L!GZ+ER:[*"T=BA 76C+S ";UK2_CRL,5M'-*J[ AU)U@QTSBT91 M^[V@H.L >[ R-,=!7YA+Q!,1_AW'=;N5_1G9;>/[LH^(FD))6YO=AK0]E#2( M3(M(-XETFX-U=/09;BB5>'LD*ZU.&.(_$;X2.%A3YX8R6-U3[#7O9/=E8[6, MR:QJD1 U]'<4-V43(&/U[^',&A:)I145+1#_*Y+9DF&^U\EBO@/,+>8CC\2 MZ0@:Z$[,EY>AI(S(TF1;362#;P(CM#259MAHS!)& TX[RP7JE^W3@.16^3P# MN+UVYINWVAM :WF$,L#3;9O#LG?1 $C#_N, 1.>=!?MV00,-(&>*4#1S=QL M$P/:K1:+T <-#8ON]T)G[F%.*2\7J\FL*$Y.JA:,AA'*\P3A*G:PWU5,IC%G='L[&J7,#>(; M]FD.S@#RSL+Y[<+Z5N&]?JM!Z32LPW6=[Y*_AEW5W>'^I'/8>J(>U[5A/@/, M2Z?C73"/VA@0[WA9IQK6,H$=NX:K-P,X6VV\56-42V>'JFT"ZX!9O]VX:K#* M!':4FE*%!G3VLR%4,\MU9F!']ZQBJNNZ.328P#ZCU[I1W(N+U1@F%7-GW_R> MP2*V/&2N2>RRTEJSMSH<.0_I67N(6K0C#>*Q^D">"0N)SK%=1;W?ZGT4[5C; MK6.[.'>$TCX8!Q'W F6Z,1A5W\"H^6T%;=]*4'( N=!HP&>'U[YZ7@1N>]FW MA&3+2UL#R+NY$PJ.C=!GO'N7-W21CTK\U%O8:*=O3_4;ZU6;B_DV5OKNPE#0P7 M=K9*JVEU&:?M19NF))L!J7WMKN@T"7V8/S?!3]UPW9ZAW0)VD9JC[VSJM@T1 MCUH?[&9?=O.9LVRS4VY. >1 [F0FX%'[;J>U(5MST MB/DAPQ!E.28P#BCNXU#DD7C$ <5'[R&Y3.KMZ#9T W>[E52\X+7G(0I,\'%' MDO>M+-Y2#H.7V.NU>BKQ:B7T1W;,24N\G[VKV_9V[DWVM:M#.L,ETQ&]T9]L MW _FM4_S:GB9TS;,FHRG8M^HI_'$/FFPE'U:"BP-':"SOI1\)SR;[.;]SNPF MU_Q@/GO)?J_;G>A8W6X46^?"#^#W/1*VG 4WW :T'P(/..S@E>)=7QG>@%C% M,&OS2O !RAVY_0#F%EM!;3>!&JY^==K^&0#;@2.M3GUM6M=J?%O6LN/;_W,( \*]L_C-S'T%32/WNS106<10I@^C"0N-7M%ZMY0N1JC32?T60Z MFISV[(BKQ%CK6DMU,CJ9C*:3>E4TU32_97^5S,:42:5SZMNIPU31OT9)/:V0 MF5;(;-*^&TLL%X9?*$=:N[*-160KK3 .(K,@GI(IFXX&4LEQJU[H)QT[D;-V M?+L3POC>_7-7:'I(*VA#>]]"]%*J3WA/Z2.?PJUI8$GU\ M%N&%5 ([ZL.1$F'\;7OM0W^KOF>Z.6^(ZQV9OL/ZKS4YK-!UX)8T*$,HHLHD M-/XD>!A\.-("T7.JB'^$(K<;/0$6L':[A>=Z30..V3R%^8!R]\G0N:&(7_C5 M1=2K4"KN$S%GY!/Q%T0D0E45].D^>*:1\43G+OF%5XN0+3@0$9;8 MDSD9LL?"#U1^_1SJ#L^7B0PR%:H-97\[HTR1%<2VNQ?1?*2]E =^(03$M:;N MY=N&)/Z@RL4+%NXO1.JXY><0"T6$]W:KIQ?/,QFDB5;VQ?P0%%DP]_H;&-.3 MR30_ EK2'NB@*%\4_,S952CT]QK,Y>NW)_*J+CV0,1&X6Y7MY%8)I]UC_,2# M&_I,TB&=1[6V]$!Q?(35H+MX>R!!*)PU6.-\X=$HZTXFFVDZ*YP(G3"3R0_? MF'%_!OU'L,\9T5^H+VID$=TT!>',KFR5HJ(5L*K44ZJ6Z,[B'9?R1G _2H,/ MP1?%.S4@VR59\MRUR>M74#$7+F5QO^1/A &UWI.\<'V(2*69&9Y)HKI]-U)0 MKUU_#^6>-UJ7*P*%?.6[$D.I+0A=8Y MKDS[;61M _,M+(T$K+L^D[IIW$I1*9AU6M["BJV@>1Y_T6)'QW/:R>8G:AM! M@Q3%R;A!A.)*HJ](]Z;&#?B,R&',EX_D&7R_E@'6SRLB;W4&K21.J"> 3S"? MK*M7Y#OA9+'A1)Z]HUSRH34VVX+N8"PWG>WS'SI])"9_9W(Z]9-E%<#H8_W5 M4[,0R*\J>M7_1M-/"Q]LSLP@$-2?^S/+F\T6CCEN+R'>I<+!0'_A_@?B!OT, MQB9,FT+1/^*;.,GD,6?U\VW_ZH<+_(T@^A0U&J\UH[N!YF#@-3/G"Q=?#4\8 MI\?Y*/XI?B:QQ)RVS X&%BCR<5D7.J8;4V#PE+# M1G#8P$*XOH!0TVQGIB_MN76!EBXI3K-K#'RPC-(Y%7%: R42RD*?N'$4D"V( M71"L/@R/9)>@1%@TDV_?G<-=N%?HZ(G#>NT^WI;)C2N+8JV5#C@^O0[U$3R M]X4!?_=?E*U@\.0'8@/-88[%9"L1NMWH:5K2'J:@V9>%7N$ UFV>'M^/?*E> ML"@<@;4E/DQ1DW.AZ]%F'(!*"#O9BIBH4PGNY0/53O4.(2S]J'=AXY?AQ'=0 M\]9K(SA,BWWDGFE"5LI36WJ8PGS1(;)/%M7QPS]8M"WR 6&[6B_=201=Q;[U$M-:R-O M[O&6(!1%M76T"%AMQZ^72[VW]+PYIWK BN1WGV(D,B=9<_#D7X[EL?X>?*BX M>-.5,G+OE.M6"]5^2HL/6MNO9&-/&E#&\%Z@C.$3+J @O/A&L M]^ T432Y'UE#F KRK6;TK;"LE=-LW,#RY(LDQ05H?O.GFN80H=.O?+[CF,F2 M(*620^Q^%/UD\N,*NS69DL/M?B8WKM#]3,DW[GZ45AZE@/[X7U!+ P04 M" #+BG!6Y Y8W+L6 #/7 $ %0 &-L;6(M,C R,C$R,S%?8V%L+GAM;.U= M6V_CNK5^/T#_@T[.2PLTB2]))C/8TR*7R2! 9F(DF;;G:8.1:8>G,NE-24G< M7W\6*Y2"[^]O?WB>>\8NX31K\>=(\Z!PZF M+AL2.OYZ$/J'R'<).?C[W_[T7[_]]^'AORX?[IPA<\,)IH'C2/#B M/+'I%%'G!^:<>)YSRX?][M&[/SP [3G.;YQY^ &/',GVEV VQ5\/?#*9>H(;^>V% MX]'7 ]>;/ .%7J_;B^K_SV, AA08N6+49QX9"KM>(D](\OB"<> ?.(+ZKX?; MK [0S"=#'&#WA3*/C6='+IL[P1">*S^]$C&5,8?EU$@PO792$- (T#8-DEV/^)@\@N \S!6A-&'U\0Q]BN0OWCY#X1 S9PHC"P" NEV/X^HK1HMZVW(_A%*H*)(,-;^F( M\4G]XIW1,GCU\X?O@MI8^"@BOKY5U&K52 M2S=A((P]83P@_Y%6_?8^!3]0P\BR?M.M:.R!C%^"^]$O/V(3N+_#T,8=0<_$ M(\'L!P*VH5]@\!V97^#+^DJKI?56]):>,T:VVNW4\4LM*+!:.;UA-X%-R/,.1["/Z)! M='U<:5%O6^X!9Z]$Q%)N&,\P7*/T96VTK8,'[#+J BREKQ2=6RS;&(V6,5'! M6A5BU& KVKD"L)+@!KFR&T<3B@$GP/04>3 LRB7>+PK3]B?,)W<,U3 Q7J/- MEA T#/V SQ[Q6+ &5OR.V9BCZ0MQ;P@%GT*05^O2H7*+QOIQ850./4GD#GZ+ M=2+8J37\E=(^?@\PV'8X_TH"T5BGT^UTG$-G3@[^3E-T8I*.<4A-"@JB>LS- M,.*)8"7C61P(\?8"_SDBX2,A$O\X?=HV$^( M>N@9>U\/DH_';?!R%8)'HL$22[EE?C_KGW=/3L_/SSZ?G/2ZIYV3DQ33*:Q< M\"S_B+L)??AS!3Y9R\0ECGT1.!'4#@F8/*D_XFRRT%C<"#-AF'$8.KX>= ^< MT <^V%2T@;P#YPV+:8S\I6%+B/B'&/WA/]_^",DK\L08=Q%<(KB-YIY[S;DN7T[;1JV^JB6FCS9'$!DP ,HL#ZXB<.2CIC097=L+"Q MA+%A>Q89]I:^ K>,SX!UA2'317;#<*42Q8;JUV>HU3F9^/+[/V#ZP/B XVD\ M55RR07ZA[;:"@4RQ'4Z*[##EA,%R?2;[5<.]1_)/D@A+$MK4F:IHU-QN*Z\K M:&SZ4XO&R@%G4\R#V^Z@FJ,?\6NKC[J=RGHV,9 MS%N*_BGL5EAG&PQG+H".SVMSK,V=;?UDU#6?A2YJ;8,IJXB@XS@;ME^R :@P M5/+S-EBDD%<=Q]5F/UK>> 4P?7MWO5 <1BRQD4[5K$[Z,"TXM6(;7MF MJVU3*E$ &HT6VECTFU363QI"B(:*9L5ORVVDYM)QW;H5=,+&A=#HQAS:M^XB! M>SR\8W0L#@%567-*[H(]=<6J/^Q><_!H?D:LO(.6U.0ZK;5X#"E;;O8A'=;2QJM06'EY0 M#%/%UB^NM$,&KR#HEDRXQ#RCV,BK!7?(L)K"63CI*@VLJ O:8[\J00M->2S< M9(VO@0K^"\__+16SQUR&)EBUG99H%GK'B^&01%P,$!G>TBLT)0'R4N*HYD>E M%;,J. 45M+UVK6S=BL):V%.?./CYD,\DTQ'_13U657R';&LD8JF[/&S>I _B MR@3%PR1G!I4AQ+D.E.0D[[I@OHN'W MHR?TKE[?FE#9(234(;G^^<3?CI9)2H0I%5U@J4SC)W&2IF\ UZ!K6(6'H--X10ZZO\0CEKF$^>T]X B@ M1ZA(O@'FD'LC4!, :R-;VF .?;51_DWUJ)]PT,N ++'@)K5AMDN9(MQLM)^ MDU/2/OLW;=Z"T%J)FFP_B_"= ^<#SD;*B62J1%;"L]/.2=O7%G3-L&K ,K%L M/U=PQ7R8PH@CC3(&A?DK<;'_"%,F97Q&5<$^LY89)R]$8R1=J74/6S;O W[% M-,3)\,:1&_R3!"]7H1\ SOG\3*LX= ?_&ZK7 A4H[0(@ZA+;_@T1Z;Z^8PHC MH4C!=3&<$$K\0(R+KSB^G*7<)-&I;!\,#EO$/X1)5LWQ] M KN$@S6E+@T7M@V+&UCRD#&-MH3=V1-'U >_!UQ^1X0*147+(O5DP8""?I(83CDMV)?(3S"OLT71-]FBR#3C&">R;_P S;).2O;O"FLT MW$^--UNR2/YD09_4,$"ZAY9+8WMP4&?K G-D!E-Y.J M4]UZ7&Q"?@M/$:G$5$]N84TM_Q6;;_A_H1_$F61JAMI&>+ /F)M FCZ>FU.R M_IG)%F<4Y/'R-H__"OZ/@^[=W]P71,7X G7P;C;"K&@^:9J+A(3=J]GZ49N6> MKB6T0I$;:,F^X;,=R*:'UJ;4;/M$5&1-!3%DQGT8+"]GOWQQO7\>PKT M_): ME+1"G\ '#'-7,NMHS_9P9+0A7+ N712P#QUKVF;5V"7"VCY4I#?IX&\/5]O& M5%7= P!45H.%B]"55#!:4>*26EGASUM\-V"#&##7@(771--/]%RS\#D8A?-7 ML-1CO;+*'AC>6'P++[_(IT;E\]8B*@&P+1KT\POO@:4-!*\_T[8BV?TB% 3P M2_N;^Y%X+DB@\)ZN9KM=,NTZI';8\+6KQ?968\DR@BML/@V8!B M$DC9E#1G53Q%&C5MW"CJ9S7R&332VWVHF.@B08>U^P\YX@G_.)"A]N2B_IBR_MF9+9 ^C4HI($0#9%1!6:$FLY?YW] M\QP"]L'$VOUS7>W9?@4C><3^1DS^F8OQ4%YS@;^'H9 ,%ZZG-6O;AZLUK9JS M][*&)JS/1) (]\3D74F.DUN4,OGIXGK2Q6@$4SGH3F5XT2>T1]!94RG6WTU7 M*.Z&4$3=-1Q9#@'[4&.M(]/5GMF[#BT<%XA[D=@+$P+2H5^>Y+:X4D8/_Q[%(1IP_QZS\Y<#6"X:9Z_87 MK\!L=&\T-06),X%?(I^XBBYF3&6KTBC8,CA4,91>:@7M%4;;WA_Q /K=5&XW MR!%-#H?7(H6@N/.,A["8_T6'BW\GZ=1E^J<"!-= .:O1+FCT?/LQLRF]5(V9 M->![4EGI9.PH/:$VL,O 3_X'IBM# MF&Z PY1'463@/0ZM#D5ZX#?BB;2?Z2>\8!XZP4/U+OW&6FL_:Z2.'+G\QU'+ M\@OGFVW4O@%OP] L26>Y:=7:[IUK54GTLF)44AY%:0+B*XU^0+Q9U=I^Z;U. ME20'O)_0>_F!V,TW_ 'UYM5K?;AU8T/ XB94(W,71=,?F&]#P68;VML-^EL: M(#HF\\+2]3V]()I8K 'TE_+PT0U:U;3.1?$V^T,)5#]05*:$#5_Y5ES2V\#X MGOYAY=I1E-%RI6#>14!+6-M+Q%IO *U;\*V'AA_#Z=23N43%2P-TQ/BD4H2X M7QPASC3CD$4[6Q H+CA>*W/6RK!7C"SS8\LY))I^!3#5N#A3D;*<0IR"&MFN MT(.N\+GEL:B*^3*O AH*N\V'\>43>>88EM5VS_*5)-;/@]? 0)]RJ-)UY4[L M%Q^%6LP&_I/5K<&D30?1H2,;IM__**C7]R)>:'9CTA)-0OF*FD373G)!]PX2>03-/=-4CM?6>HD#.(D]1 M5FW'(;">;VAG15#F*&["0*P;5F]!F[J+E76"IKN(&'!0B@,'1RQ\^(RV9(W4*&"\RBAN.-#2"7Q;3]782;O3QA$GMZP]XI_,!J\5/ U&D3W M#T9:&K#]^(*9R+6.0OD]L+\'R"F4W/8L%15$9:'JK%8U8GN*&)7D%M[',I?N M"5JN;UR1U/83)FK1;=]5KB#K&ZL/,F]L3P&C$+SB'G4#2^SEC&)TF$U?^ ,% M\:V4^U'F%W%/Q6B5?;JZRI:-'[+1(6@E6E3+];9LQYFS 477(AK@Y[\W5LP ML@5K[3L1H,>*')%)2/\Z5 W;^M4;'FAT&2N9[IJ2L6]X,35P>J"I17K]%T?M M!(=Z9FM*9H_!43*OM7;M;")DT?36F,[^8J5T%)K M[4ES71DU8[I5R65U=P*Z^[0'P-'2@NVK:+/T^,K2=G ='Q U8SZN9!^&2TRC M3J&M)9KMFU8*D7XRZE:Q\J+>+AJZ1#I[CS]<(D]D$7M\P##@#VX*#\42JJN@R_U2X&O4YA>(J#??7U/DKG:>,E;PK9*V+ MO'V]7\?PZ2%@HYJP_F2<4IS"$]2%E;8?$A7DVR:7H'RA*MZ6$,G6+YA+3%W' M2K ^UW4<)GG[?&<:,2 C^"AB(3D+Y\N/%_=7MUO@:W2>_"J>2QM0 /B=G9[T M/I_T3GO=?N_TY/2D#>=D*IY2&,O&BG4MD>M@#(2W?1VQI!\C6.?*?;JK1M>5 MW%[74<-.[Q6PT]/V(">;W^YU_BPTU+/7F>SEMJ_,6"E[C)B%N% 4YMRAZ6\4V$M->]1+EPG]"[\!;S'%W1:2FSM<>GU;!5 MG )<4A>_Q0V(#XO+./8O+8R2TJD*-]QA$S;F]M7G/*^*?5VWV"CICFHLEX5' M?;1OQ OM'F M ]$;QC-A!;,HPDH.J*4HPKP99\3X\H_V!Q/FFHFM?HDI'A'5^*LLW71:OVCO MQ(SYXDKV=>\2Z3)Y_,Q%LSW$&XMT@\6S2YZAC56U[#-R!WL5!!=MMO=R4H9QSXH:8C@J+6;J/ 2&K;+VRMA,ZT[%]2 MRS[[&[C]*K+9WLL3F6)G5LW8Q97MLWD50ZKA4$%ZVV<#B6@9MU8-&SHDLCKZ M=-HYZ>X40BKK8&M&C\CQ51P]"BOO.C8J2%]QYM!L/$@\GD%=XD5W.418ZXI- MIHR*,S7WHZB@:7!HY7C[4OQGJ4UY4''1JCB6&%?8GE"1>#-:/!5PQ6A :$CH M.#YY!/)=XA'+Z/S;>\ 1H(-0\0(' -@7U^B@)I@)6!O?T@!S[!>'FS;2HCBS MV^MW/P&8S\\ZW?/3L]/&!ZL*XEW#'WY 5$^DKT'1OF&M:>NO#HEUJ]/V658% M>6-O41\>8X(?<*P%CD7:M'TNMYU;$W,^LKX?# ]3B- -1/:_F,7'%R3NXOE8 MSD3@BRQYQ4K\X9JT;>U96A&/S6E@.\;F%#Z$4N>NV>]2?)ZQ0#S"1++!^E/EFR]%JVM-'O]$ML>!E<( MJ]#51;(K*$(^(7 S6]1'@>K&6*UM9+5\;D'.L_6'DQHU87L"-(4&9'>:?X*Y M;,YP5(7$+J)%7] -YS)3>)]OHY$8*E]Q!JU9&9;#@MB_?\7\UY%_-,=ZSH!2 M-_FM1$8[3#Z,K8%D*\) M= IQ3H$@UJ@AE5T$A)&L,1 ^V[=' M%XUS-\B5%]:CQQ 'G("<4^0EM]Y_46#_"59O=PP9/N!^OGJ&.VK22=IT9QE:;3@C Z%OH6 M3"V2N#S@:6R2^]'<3+=4-^_R.C3M&SQT3)Q)#5*[^!9>.S,2LB2M>P52635] MMN)2X@914B2UA3?(S&4K>B"B$K%]!(A2;OUK8_9"I.BUF2JT]A @2K'UWU!L MY!C9, 0ES![Q6(@!<^[OF(TYFKX0]X90!!()@4:,3^+=)H,):K>?EZHH:O"O M3MRD/#JV:-29M^JDFMV"N>E.'2*K=?-O30Z_P_*1(_'(_<5P0B@!]*!@]:FT MS3=HWR#6 .:6MB*;5*WM!Q=D@NP!9^JC.ZD2]H"G)6NNNM0R[9C9OX74#81C M-YBG)Q0'<)2)&7**?B!B!1'::C(\S-(\-E2*B$.BJO&BN)8]B&G8 :VC'QL3 M2B4R1FJ)N0