0001628280-23-027295.txt : 20230803 0001628280-23-027295.hdr.sgml : 20230803 20230803163858 ACCESSION NUMBER: 0001628280-23-027295 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 80 CONFORMED PERIOD OF REPORT: 20230630 FILED AS OF DATE: 20230803 DATE AS OF CHANGE: 20230803 FILER: COMPANY DATA: COMPANY CONFORMED NAME: GRID DYNAMICS HOLDINGS, INC. CENTRAL INDEX KEY: 0001743725 STANDARD INDUSTRIAL CLASSIFICATION: SERVICES-PREPACKAGED SOFTWARE [7372] IRS NUMBER: 830632724 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-38685 FILM NUMBER: 231140776 BUSINESS ADDRESS: STREET 1: 7660 FAY AVENUE STREET 2: SUITE H, UNIT 339 CITY: LA JOLLA STATE: CA ZIP: 92037 BUSINESS PHONE: (619) 736-6855 MAIL ADDRESS: STREET 1: 7660 FAY AVENUE STREET 2: SUITE H, UNIT 339 CITY: LA JOLLA STATE: CA ZIP: 92037 FORMER COMPANY: FORMER CONFORMED NAME: ChaSerg Technology Acquisition Corp DATE OF NAME CHANGE: 20180615 10-Q 1 gdyn-20230630.htm 10-Q gdyn-20230630
12-31false00017437252023Q2http://fasb.org/us-gaap/2023#OtherNonoperatingIncomeExpense1135800017437252023-01-012023-06-3000017437252023-07-31xbrli:shares00017437252023-06-30iso4217:USD00017437252022-12-31iso4217:USDxbrli:shares00017437252023-04-012023-06-3000017437252022-04-012022-06-3000017437252022-01-012022-06-300001743725us-gaap:CommonStockMember2022-12-310001743725us-gaap:AdditionalPaidInCapitalMember2022-12-310001743725us-gaap:RetainedEarningsMember2022-12-310001743725us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310001743725us-gaap:RetainedEarningsMember2023-01-012023-03-3100017437252023-01-012023-03-310001743725us-gaap:AdditionalPaidInCapitalMember2023-01-012023-03-310001743725us-gaap:CommonStockMember2023-01-012023-03-310001743725us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-03-310001743725us-gaap:CommonStockMember2023-03-310001743725us-gaap:AdditionalPaidInCapitalMember2023-03-310001743725us-gaap:RetainedEarningsMember2023-03-310001743725us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-03-3100017437252023-03-310001743725us-gaap:RetainedEarningsMember2023-04-012023-06-300001743725us-gaap:AdditionalPaidInCapitalMember2023-04-012023-06-300001743725us-gaap:CommonStockMember2023-04-012023-06-300001743725us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-04-012023-06-300001743725us-gaap:CommonStockMember2023-06-300001743725us-gaap:AdditionalPaidInCapitalMember2023-06-300001743725us-gaap:RetainedEarningsMember2023-06-300001743725us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-06-300001743725us-gaap:CommonStockMember2021-12-310001743725us-gaap:AdditionalPaidInCapitalMember2021-12-310001743725us-gaap:RetainedEarningsMember2021-12-310001743725us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-3100017437252021-12-310001743725us-gaap:RetainedEarningsMember2022-01-012022-03-3100017437252022-01-012022-03-310001743725us-gaap:AdditionalPaidInCapitalMember2022-01-012022-03-310001743725us-gaap:CommonStockMember2022-01-012022-03-310001743725us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-012022-03-310001743725us-gaap:CommonStockMember2022-03-310001743725us-gaap:AdditionalPaidInCapitalMember2022-03-310001743725us-gaap:RetainedEarningsMember2022-03-310001743725us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-03-3100017437252022-03-310001743725us-gaap:RetainedEarningsMember2022-04-012022-06-300001743725us-gaap:AdditionalPaidInCapitalMember2022-04-012022-06-300001743725us-gaap:CommonStockMember2022-04-012022-06-300001743725us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-04-012022-06-300001743725us-gaap:CommonStockMember2022-06-300001743725us-gaap:AdditionalPaidInCapitalMember2022-06-300001743725us-gaap:RetainedEarningsMember2022-06-300001743725us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-06-3000017437252022-06-300001743725gdyn:NextSphereTechnologiesIncMember2023-04-18xbrli:pure0001743725gdyn:NextSphereTechnologiesIncMember2023-04-182023-04-180001743725gdyn:MutualMobileIncMember2022-12-23gdyn:employee0001743725gdyn:MutualMobileIncMember2022-12-232022-12-230001743725us-gaap:CustomerRelationshipsMembergdyn:NextSphereTechnologiesIncMember2023-06-300001743725gdyn:MutualMobileIncMemberus-gaap:CustomerRelationshipsMember2023-06-300001743725gdyn:NextSphereTechnologiesIncMemberus-gaap:ComputerSoftwareIntangibleAssetMember2023-06-300001743725gdyn:MutualMobileIncMemberus-gaap:ComputerSoftwareIntangibleAssetMember2023-06-300001743725us-gaap:TradeNamesMembergdyn:NextSphereTechnologiesIncMember2023-06-300001743725gdyn:MutualMobileIncMemberus-gaap:TradeNamesMember2023-06-300001743725us-gaap:NoncompeteAgreementsMembergdyn:NextSphereTechnologiesIncMember2023-06-300001743725gdyn:MutualMobileIncMemberus-gaap:NoncompeteAgreementsMember2023-06-300001743725gdyn:NextSphereTechnologiesIncMember2023-06-300001743725gdyn:MutualMobileIncMember2023-06-300001743725gdyn:MutualMobileAndNextSphereMember2022-04-012022-06-300001743725gdyn:MutualMobileAndNextSphereMember2022-01-012022-06-300001743725gdyn:NextSphereTechnologiesIncMemberus-gaap:MeasurementInputDiscountRateMember2023-06-300001743725gdyn:MutualMobileIncMemberus-gaap:MeasurementInputDiscountRateMember2023-06-300001743725gdyn:NextSphereTechnologiesIncMember2023-01-012023-06-300001743725gdyn:MutualMobileIncMember2023-01-012023-06-300001743725us-gaap:MoneyMarketFundsMemberus-gaap:CarryingReportedAmountFairValueDisclosureMemberus-gaap:FairValueMeasurementsNonrecurringMember2023-06-300001743725us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsNonrecurringMember2023-06-300001743725us-gaap:FairValueInputsLevel1Memberus-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsNonrecurringMember2023-06-300001743725us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsNonrecurringMember2023-06-300001743725us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsNonrecurringMemberus-gaap:FairValueInputsLevel3Member2023-06-300001743725us-gaap:MoneyMarketFundsMemberus-gaap:CarryingReportedAmountFairValueDisclosureMemberus-gaap:FairValueMeasurementsNonrecurringMember2022-12-310001743725us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsNonrecurringMember2022-12-310001743725us-gaap:FairValueInputsLevel1Memberus-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsNonrecurringMember2022-12-310001743725us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsNonrecurringMember2022-12-310001743725us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsNonrecurringMemberus-gaap:FairValueInputsLevel3Member2022-12-310001743725us-gaap:ComputerEquipmentMembersrt:MinimumMember2023-06-300001743725us-gaap:ComputerEquipmentMembersrt:MaximumMember2023-06-300001743725us-gaap:ComputerEquipmentMember2023-06-300001743725us-gaap:ComputerEquipmentMember2022-12-310001743725srt:MinimumMemberus-gaap:FurnitureAndFixturesMember2023-06-300001743725srt:MaximumMemberus-gaap:FurnitureAndFixturesMember2023-06-300001743725us-gaap:FurnitureAndFixturesMember2023-06-300001743725us-gaap:FurnitureAndFixturesMember2022-12-310001743725srt:MinimumMemberus-gaap:LeaseholdImprovementsMember2023-06-300001743725srt:MaximumMemberus-gaap:LeaseholdImprovementsMember2023-06-300001743725us-gaap:LeaseholdImprovementsMember2023-06-300001743725us-gaap:LeaseholdImprovementsMember2022-12-310001743725us-gaap:SoftwareAndSoftwareDevelopmentCostsMembersrt:MinimumMember2023-06-300001743725us-gaap:SoftwareAndSoftwareDevelopmentCostsMembersrt:MaximumMember2023-06-300001743725us-gaap:SoftwareAndSoftwareDevelopmentCostsMember2023-06-300001743725us-gaap:SoftwareAndSoftwareDevelopmentCostsMember2022-12-310001743725us-gaap:AutomobilesMembersrt:MinimumMember2023-06-300001743725us-gaap:AutomobilesMembersrt:MaximumMember2023-06-300001743725us-gaap:AutomobilesMember2023-06-300001743725us-gaap:AutomobilesMember2022-12-310001743725gdyn:PropertyPlantAndEquipmentExcludingCapitalizedSoftwareCostsMember2023-06-300001743725gdyn:PropertyPlantAndEquipmentExcludingCapitalizedSoftwareCostsMember2022-12-310001743725us-gaap:SoftwareDevelopmentMembersrt:MinimumMember2023-06-300001743725us-gaap:SoftwareDevelopmentMembersrt:MaximumMember2023-06-300001743725us-gaap:SoftwareDevelopmentMember2023-06-300001743725us-gaap:SoftwareDevelopmentMember2022-12-310001743725us-gaap:CustomerRelationshipsMembersrt:MinimumMember2023-06-300001743725srt:MaximumMemberus-gaap:CustomerRelationshipsMember2023-06-300001743725us-gaap:CustomerRelationshipsMember2023-06-300001743725us-gaap:CustomerRelationshipsMember2022-12-310001743725srt:MinimumMemberus-gaap:TrademarksAndTradeNamesMember2023-06-300001743725srt:MaximumMemberus-gaap:TrademarksAndTradeNamesMember2023-06-300001743725us-gaap:TrademarksAndTradeNamesMember2023-06-300001743725us-gaap:TrademarksAndTradeNamesMember2022-12-310001743725us-gaap:ComputerSoftwareIntangibleAssetMember2023-06-300001743725us-gaap:ComputerSoftwareIntangibleAssetMember2022-12-310001743725us-gaap:NoncompeteAgreementsMember2023-06-300001743725us-gaap:NoncompeteAgreementsMember2022-12-310001743725us-gaap:RelatedPartyMember2023-06-300001743725us-gaap:RelatedPartyMember2022-12-310001743725us-gaap:RevolvingCreditFacilityMember2022-03-150001743725us-gaap:LetterOfCreditMember2022-03-150001743725srt:MinimumMemberus-gaap:BaseRateMember2022-03-152022-03-150001743725srt:MaximumMemberus-gaap:BaseRateMember2022-03-152022-03-150001743725srt:MinimumMembergdyn:SOFROrAdjustedEURIBORRateMember2022-03-152022-03-150001743725srt:MaximumMembergdyn:SOFROrAdjustedEURIBORRateMember2022-03-152022-03-150001743725gdyn:DailySimpleSOFRSONIAOrSARONMembersrt:MinimumMember2022-03-152022-03-150001743725gdyn:DailySimpleSOFRSONIAOrSARONMembersrt:MaximumMember2022-03-152022-03-1500017437252017-10-310001743725srt:NorthAmericaMember2023-04-012023-06-300001743725srt:NorthAmericaMember2022-04-012022-06-300001743725srt:NorthAmericaMember2023-01-012023-06-300001743725srt:NorthAmericaMember2022-01-012022-06-300001743725srt:EuropeMember2023-04-012023-06-300001743725srt:EuropeMember2022-04-012022-06-300001743725srt:EuropeMember2023-01-012023-06-300001743725srt:EuropeMember2022-01-012022-06-300001743725gdyn:OtherGeographicRegionsNotIndividuallyDisclosedMember2023-04-012023-06-300001743725gdyn:OtherGeographicRegionsNotIndividuallyDisclosedMember2022-04-012022-06-300001743725gdyn:OtherGeographicRegionsNotIndividuallyDisclosedMember2023-01-012023-06-300001743725gdyn:OtherGeographicRegionsNotIndividuallyDisclosedMember2022-01-012022-06-300001743725us-gaap:RetailMember2023-04-012023-06-300001743725us-gaap:RetailMember2022-04-012022-06-300001743725us-gaap:RetailMember2023-01-012023-06-300001743725us-gaap:RetailMember2022-01-012022-06-300001743725gdyn:TechnologyMediaAndTelecomMember2023-04-012023-06-300001743725gdyn:TechnologyMediaAndTelecomMember2022-04-012022-06-300001743725gdyn:TechnologyMediaAndTelecomMember2023-01-012023-06-300001743725gdyn:TechnologyMediaAndTelecomMember2022-01-012022-06-300001743725us-gaap:ManufacturedProductOtherMember2023-04-012023-06-300001743725us-gaap:ManufacturedProductOtherMember2022-04-012022-06-300001743725us-gaap:ManufacturedProductOtherMember2023-01-012023-06-300001743725us-gaap:ManufacturedProductOtherMember2022-01-012022-06-300001743725us-gaap:FinancialServiceMember2023-04-012023-06-300001743725us-gaap:FinancialServiceMember2022-04-012022-06-300001743725us-gaap:FinancialServiceMember2023-01-012023-06-300001743725us-gaap:FinancialServiceMember2022-01-012022-06-300001743725us-gaap:ProductAndServiceOtherMember2023-04-012023-06-300001743725us-gaap:ProductAndServiceOtherMember2022-04-012022-06-300001743725us-gaap:ProductAndServiceOtherMember2023-01-012023-06-300001743725us-gaap:ProductAndServiceOtherMember2022-01-012022-06-300001743725us-gaap:TimeAndMaterialsContractMember2023-04-012023-06-300001743725us-gaap:TimeAndMaterialsContractMember2022-04-012022-06-300001743725us-gaap:TimeAndMaterialsContractMember2023-01-012023-06-300001743725us-gaap:TimeAndMaterialsContractMember2022-01-012022-06-300001743725us-gaap:FixedPriceContractMember2023-04-012023-06-300001743725us-gaap:FixedPriceContractMember2022-04-012022-06-300001743725us-gaap:FixedPriceContractMember2023-01-012023-06-300001743725us-gaap:FixedPriceContractMember2022-01-012022-06-300001743725gdyn:OtherRevenueMember2023-04-012023-06-300001743725gdyn:OtherRevenueMember2022-04-012022-06-300001743725gdyn:OtherRevenueMember2023-01-012023-06-300001743725gdyn:OtherRevenueMember2022-01-012022-06-300001743725gdyn:CustomerOneMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-04-012023-06-300001743725gdyn:CustomerOneMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2022-04-012022-06-300001743725gdyn:CustomerOneMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-06-300001743725gdyn:CustomerOneMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-06-300001743725us-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMembergdyn:CustomerTwoMember2022-04-012022-06-300001743725us-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMembergdyn:CustomerTwoMember2022-01-012022-06-300001743725us-gaap:RelatedPartyMember2023-04-012023-06-300001743725us-gaap:RelatedPartyMember2023-01-012023-06-300001743725us-gaap:RelatedPartyMember2022-04-012022-06-300001743725us-gaap:RelatedPartyMember2022-01-012022-06-300001743725us-gaap:CustomerConcentrationRiskMemberus-gaap:AccountsReceivableMember2023-06-30gdyn:customer0001743725us-gaap:CustomerConcentrationRiskMemberus-gaap:AccountsReceivableMember2022-12-310001743725us-gaap:CustomerConcentrationRiskMembergdyn:UnbilledReceivablesMember2023-06-300001743725us-gaap:CustomerConcentrationRiskMembergdyn:UnbilledReceivablesMember2022-12-31gdyn:segment0001743725srt:MinimumMember2023-06-300001743725srt:MaximumMember2023-06-300001743725us-gaap:CostOfSalesMember2023-04-012023-06-300001743725us-gaap:CostOfSalesMember2022-04-012022-06-300001743725us-gaap:CostOfSalesMember2023-01-012023-06-300001743725us-gaap:CostOfSalesMember2022-01-012022-06-300001743725us-gaap:ResearchAndDevelopmentExpenseMember2023-04-012023-06-300001743725us-gaap:ResearchAndDevelopmentExpenseMember2022-04-012022-06-300001743725us-gaap:ResearchAndDevelopmentExpenseMember2023-01-012023-06-300001743725us-gaap:ResearchAndDevelopmentExpenseMember2022-01-012022-06-300001743725us-gaap:SellingAndMarketingExpenseMember2023-04-012023-06-300001743725us-gaap:SellingAndMarketingExpenseMember2022-04-012022-06-300001743725us-gaap:SellingAndMarketingExpenseMember2023-01-012023-06-300001743725us-gaap:SellingAndMarketingExpenseMember2022-01-012022-06-300001743725us-gaap:GeneralAndAdministrativeExpenseMember2023-04-012023-06-300001743725us-gaap:GeneralAndAdministrativeExpenseMember2022-04-012022-06-300001743725us-gaap:GeneralAndAdministrativeExpenseMember2023-01-012023-06-300001743725us-gaap:GeneralAndAdministrativeExpenseMember2022-01-012022-06-300001743725gdyn:A2018StockPlanMember2022-12-310001743725gdyn:A2018StockPlanMember2022-01-012022-12-310001743725gdyn:A2018StockPlanMember2023-01-012023-06-300001743725gdyn:A2018StockPlanMember2023-06-300001743725us-gaap:EmployeeStockOptionMembergdyn:A2018StockPlanMember2023-01-012023-06-300001743725gdyn:A2020EquityIncentivePlanMember2023-06-300001743725gdyn:A2020EquityIncentivePlanMember2022-12-310001743725gdyn:A2020EquityIncentivePlanMember2022-01-012022-12-310001743725gdyn:A2020EquityIncentivePlanMember2023-01-012023-06-300001743725us-gaap:PerformanceSharesMember2023-01-012023-06-300001743725us-gaap:EmployeeStockOptionMembergdyn:A2020EquityIncentivePlanMember2023-01-012023-06-300001743725us-gaap:RestrictedStockUnitsRSUMember2022-12-310001743725us-gaap:RestrictedStockUnitsRSUMember2023-01-012023-06-300001743725us-gaap:RestrictedStockUnitsRSUMember2023-06-300001743725us-gaap:PerformanceSharesMember2022-12-310001743725us-gaap:PerformanceSharesMember2023-06-300001743725us-gaap:PerformanceSharesMember2023-01-012023-03-310001743725us-gaap:EmployeeStockOptionMember2023-04-012023-06-300001743725us-gaap:EmployeeStockOptionMember2022-04-012022-06-300001743725us-gaap:EmployeeStockOptionMember2023-01-012023-06-300001743725us-gaap:EmployeeStockOptionMember2022-01-012022-06-300001743725us-gaap:RestrictedStockUnitsRSUMember2023-04-012023-06-300001743725us-gaap:RestrictedStockUnitsRSUMember2022-04-012022-06-300001743725us-gaap:RestrictedStockUnitsRSUMember2023-01-012023-06-300001743725us-gaap:RestrictedStockUnitsRSUMember2022-01-012022-06-300001743725us-gaap:PerformanceSharesMember2023-04-012023-06-300001743725us-gaap:PerformanceSharesMember2022-04-012022-06-300001743725us-gaap:PerformanceSharesMember2023-01-012023-06-300001743725us-gaap:PerformanceSharesMember2022-01-012022-06-300001743725gdyn:StanKlimoffMember2023-04-012023-06-300001743725gdyn:StanKlimoffTradingArrangementTrancheOneMembergdyn:StanKlimoffMember2023-06-300001743725gdyn:StanKlimoffTradingArrangementTrancheTwoMembergdyn:StanKlimoffMember2023-06-30
UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
WASHINGTON, D.C. 20549
FORM 10-Q
(Mark One)
x QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the quarterly period ended June 30, 2023
OR
¨ TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the transition period from                      to                     
Commission File Number: 001-38685
Grid Dynamics Holdings, Inc.
(Exact Name of Registrant as Specified in its Charter)
Delaware83-0632724
(State or other jurisdiction
of incorporation or organization)
(I.R.S. Employer
Identification No.)
5000 Executive Parkway, Suite 520
San Ramon, CA 94583
(Address of principal executive offices)
(650) 523-5000
(Registrant’s telephone number, including area code)
Securities registered pursuant to Section 12(b) of the Act:
Title of each classTrading Symbol(s)Name of each exchange on which registered
Common Stock, par value $0.0001 per shareGDYNThe NASDAQ Stock Market LLC
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 x      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 x      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 filerAccelerated filer¨
Non-accelerated filer¨Smaller reporting company¨
Emerging growth company¨
If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. ¨
Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act). Yes ¨      No x
As of July 31, 2023, there were 75,336,445 shares of registrant’s common stock issued and outstanding.



TABLE OF CONTENTS
Page

i

SPECIAL NOTE REGARDING FORWARD-LOOKING STATEMENTS
This Quarterly Report on Form 10-Q contains forward-looking statements within the meaning of the federal securities laws, which statements involve substantial risks and uncertainties. Forward-looking statements generally relate to future events or our future financial or operating performance. Forward-looking statements include all statements that are not historical facts and can be identified by terms such as “anticipates,” “believes,” “could,” “seeks,” “estimates,” “expects,” “intends,” “may,” “plans,” “potential,” “predicts,” “projects,” “should,” “will,” “would,” or similar expressions and the negatives of those terms. Forward-looking statements contained in this Quarterly Report on Form 10-Q include, but are not limited to, statements about:
the evolution of the digital engineering and information technology services landscape facing our customers and prospects;
our ability to educate the market regarding the advantages of our digital transformation products;
our ability to maintain an adequate rate of revenue growth;
our future financial and operating results;
our business plan and our ability to effectively manage our growth and associated investments, including our GigaCube growth strategy;
beliefs and objectives for future operations;
our ability to expand a leadership position in enterprise-level digital transformation;
our ability to attract and retain customers;
our ability to further penetrate our existing customer base;
our ability to maintain our competitive technological advantages against new entrants in our industry;
our ability to timely and effectively scale and adapt our existing technology;
our ability to innovate new products and services and bring them to market in a timely manner;
our ability to maintain, protect, and enhance our brand and intellectual property;
our ability to capitalize on changing market conditions;
our ability to develop strategic partnerships;
benefits associated with the use of our services;
our ability to expand internationally;
our ability to raise financing in the future;
operating expenses, including changes in research and development, sales and marketing, and general administrative expenses;
the effects of seasonal trends on our results of operations;
our ability to grow and manage growth profitably and retain our key employees;
the expected benefits and effects of strategic acquisitions of business, products or technologies;
our ability to maintain the listing of our shares of common stock on the NASDAQ;
costs related to being a public company;
changes in applicable laws or regulations;
the military action launched by Russian forces in Ukraine, the actions that have been and could be taken by other countries, including new and stricter sanctions and actions taken in response to such sanctions, and the effect of these developments on our business and results of operations;
the possibility that we have been and may continue to be adversely affected by macroeconomic conditions, inflationary pressures, reduced corporate spending, the geopolitical climate and other economic, business, and/or competitive factors, including the effects of the global COVID-19 pandemic; and
other risks and uncertainties indicated in this Quarterly Report on Form 10-Q, including those set forth in Item 1A, “Risk Factors.”
ii

We caution you that the foregoing list may not contain all of the forward-looking statements made in this Quarterly Report on Form 10-Q.
You should not rely upon forward-looking statements as predictions of future events. We have based the forward-looking statements contained in this Quarterly Report on Form 10-Q primarily on our current expectations and projections about future events and trends that we believe may affect our business, financial condition, results of operations, and prospects. The outcome of the events described in these forward-looking statements is subject to risks, uncertainties, and other factors, including those described in in Item 1A, “Risk Factors” and elsewhere in this Quarterly Report on Form 10-Q. Moreover, new risks and uncertainties emerge from time to time and it is not possible for us to predict all risks and uncertainties that could have an impact on any forward-looking statements contained in this Quarterly Report on Form 10-Q. We cannot assure you that the results, events, and circumstances reflected in the forward-looking statements will be achieved or occur, and actual results, events, or circumstances could differ materially from those described in such forward-looking statements.
Neither we nor any other person assumes responsibility for the accuracy and completeness of any of these forward-looking statements. Moreover, the forward-looking statements made in this Quarterly Report on Form 10-Q relate only to events as of the date on which the statements are made. We undertake no obligation to update any forward-looking statements made in this Quarterly Report on Form 10-Q to reflect events or circumstances after the date of this Quarterly Report on Form 10-Q or to reflect new information or the occurrence of unanticipated events, except as required by law. We may not actually achieve the plans, intentions or expectations disclosed in our forward-looking statements and you should not place undue reliance on our forward-looking statements. Our forward-looking statements do not reflect the potential impact of any future acquisitions, mergers, dispositions, restructurings, joint ventures, partnerships, or investments we may make.
In addition, statements that “we believe” and similar statements reflect our beliefs and opinions on the relevant subject. These statements are based upon information available to us as of the date of this Quarterly Report on Form 10-Q, and while we believe such information forms a reasonable basis for such statements, such information may be limited or incomplete, and our statements should not be read to indicate that we have conducted an exhaustive inquiry into, or review of, all potentially available relevant information. These statements are inherently uncertain and investors are cautioned not to unduly rely upon these statements.
iii

PART I — FINANCIAL INFORMATION
Item 1. Financial Statements
GRID DYNAMICS HOLDINGS, INC.
UNAUDITED CONDENSED CONSOLIDATED BALANCE SHEETS
(In thousands, except share and per share data)
As of
June 30,
2023
December 31,
2022
Assets
Current assets
Cash and cash equivalents$246,176 $256,729 
Accounts receivable, net of allowance of $524 and $443 as of June 30, 2023 and December 31, 2022, respectively
48,804 48,358 
Unbilled receivables8,079 5,591 
Prepaid income taxes9,224 4,294 
Prepaid expenses and other current assets9,189 8,154 
Total current assets321,472 323,126 
Property and equipment, net10,024 8,215 
Operating lease right-of-use assets, net11,203 7,694 
Intangible assets, net28,641 20,375 
Goodwill54,633 45,514 
Deferred tax assets3,734 4,998 
Other noncurrent assets1,531 1,224 
Total assets$431,238 $411,146 
Liabilities and equity
Current liabilities
Accounts payable$5,302 $3,897 
Accrued compensation and benefits20,832 13,065 
Accrued income taxes14,215 10,718 
Operating lease liabilities, current4,154 2,505 
Accrued expenses and other current liabilities8,967 8,525 
Total current liabilities53,470 38,710 
Deferred tax liabilities3,524 3,756 
Operating lease liabilities, noncurrent7,682 5,636 
Total liabilities64,676 48,102 
Commitments and contingencies (Note 14)
Stockholders’ equity
Common stock, $0.0001 par value; 110,000,000 shares authorized; 75,333,893 and 74,156,458 issued and outstanding as of June 30, 2023 and December 31, 2022, respectively
7 7 
Additional paid-in capital384,969 378,006 
Accumulated deficit(19,464)(14,121)
Accumulated other comprehensive income/(loss)1,050 (848)
Total stockholders’ equity366,562 363,044 
Total liabilities and stockholders’ equity$431,238 $411,146 
The accompanying notes are an integral part of these unaudited condensed consolidated financial statements.
1

GRID DYNAMICS HOLDINGS, INC.
UNAUDITED CONDENSED CONSOLIDATED STATEMENTS OF INCOME/(LOSS) AND
COMPREHENSIVE INCOME/(LOSS)
(In thousands, except per share data)
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
Revenues$77,342 $77,335 $157,422 $148,745 
Cost of revenue49,037 48,474 100,542 93,105 
Gross profit28,305 28,861 56,880 55,640 
Operating expenses
Engineering, research, and development3,273 3,840 7,476 6,936 
Sales and marketing5,963 5,132 11,597 9,347 
General and administrative17,735 30,738 42,465 50,003 
Total operating expenses26,971 39,710 61,538 66,286 
Income/(loss) from operations1,334 (10,849)(4,658)(10,646)
Other income/(expenses), net3,008 (626)4,690 (1,326)
Income/(loss) before income taxes4,342 (11,475)32 (11,972)
Provision for income taxes1,715 1,711 5,375 3,881 
Net income/(loss)$2,627 $(13,186)$(5,343)$(15,853)
Foreign currency translation adjustments, net of tax1,403 (782)1,898 (1,065)
Comprehensive income/(loss)$4,030 $(13,968)$(3,445)$(16,918)
Income/(loss) per share
Basic$0.03 $(0.20)$(0.07)$(0.24)
Diluted$0.03 $(0.20)$(0.07)$(0.24)
Weighted average shares outstanding
Basic75,145 67,136 74,804 67,028 
Diluted76,850 67,136 74,804 67,028 

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

GRID DYNAMICS HOLDINGS, INC.
UNAUDITED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY
(In thousands)
Common StockAdditional
paid-in
capital
Retained
earnings/(accumulated deficit)
Accumulated
other
comprehensive
income/(loss)
Total
stockholders’
equity
SharesAmount
Balance at December 31, 202274,156 $7 $378,006 $(14,121)$(848)$363,044 
Net loss— — — (7,970)— (7,970)
Stock-based compensation— — 13,257 — — 13,257 
Exercise of stock options1 — 10 — — 10 
Issuance of shares and payments of tax obligations resulted from net share settlement of vested stock awards739 — (8,951)— — (8,951)
Foreign currency translation adjustment, net of tax— — — — 495 495 
Balance at March 31, 202374,896 $7 $382,322 $(22,091)$(353)$359,885 
Net income— — — 2,627 — 2,627 
Stock-based compensation— — 7,153 — — 7,153 
Exercise of stock options, net of shares withheld13 — (66)— — (66)
Issuance of shares and payments of tax obligations resulted from net share settlement of vested stock awards425 — (4,440)— — (4,440)
Foreign currency translation adjustment, net of tax— — — — 1,403 1,403 
Balance at June 30, 202375,334 $7 $384,969 $(19,464)$1,050 $366,562 

3

Common StockAdditional
paid-in
capital
Retained
earnings/(accumulated deficit)
Accumulated
other
comprehensive
income/(loss)
Total
stockholders’
equity
SharesAmount
Balance at December 31, 202166,851 $7 $212,077 $15,093 $(126)$227,051 
Net loss— — — (2,667)— (2,667)
Stock-based compensation— — 8,661 — — 8,661 
Exercise of stock options72 — 292 — — 292 
Issuance of shares and payments of tax obligations resulted from net share settlement of vested stock awards134 — (1,802)— — (1,802)
Foreign currency translation adjustment, net of tax— — — — (283)(283)
Balance at March 31, 202267,057 $7 $219,228 $12,426 $(409)$231,252 
Net loss— — — (13,186)— (13,186)
Stock-based compensation— — 16,387 — — 16,387 
Exercise of stock options160 — 538 — — 538 
Issuance of shares and payments of tax obligations resulted from net share settlement of vested stock awards77 — (1,284)— — (1,284)
Foreign currency translation adjustment, net of tax— — — — (782)(782)
Balance at June 30, 202267,294 $7 $234,869 $(760)$(1,191)$232,925 
The accompanying notes are an integral part of these unaudited condensed consolidated financial statements.
4

GRID DYNAMICS HOLDINGS, INC.
UNAUDITED CONDENSED CONSOLIDATED STATEMENT OF CASH FLOWS
(In thousands)
Six months ended
June 30,
20232022
Cash flows from operating activities
Net loss$(5,343)$(15,853)
Adjustments to reconcile net loss to net cash provided by operating activities:
Depreciation and amortization3,777 3,280 
Operating lease right-of-use assets amortization expense1,419 1,431 
Bad debt expense113 132 
Debt issuance cost amortization45 20 
Deferred income taxes(1,203)(731)
Change in fair value of contingent consideration issued for acquisition of business(2,554) 
Stock-based compensation20,410 25,048 
Changes in assets and liabilities:
Accounts receivable1,418 (5,454)
Unbilled receivables(1,826)(124)
Prepaid income taxes(4,791)(587)
Prepaid expenses and other current assets(755)(3,302)
Accounts payable1,187 1,341 
Accrued compensation and benefits6,829 7,947 
Operating lease liabilities(1,279)(1,642)
Accrued income taxes3,116 3,078 
Accrued expenses and other current liabilities2,016 738 
Net cash provided by operating activities22,579 15,322 
Cash flows from investing activities
Purchase of property and equipment(3,753)(3,213)
Purchase of investment (1,000)
Acquisition of business, net of cash acquired(17,830) 
Net cash used in investing activities(21,583)(4,213)
Cash flows from financing activities
Payments of tax obligations resulted from exercises of stock options, net of proceeds(56)830 
Payments of tax obligations resulted from net share settlement of vested stock awards(13,391)(3,086)
Payment of contingent consideration related to previously acquired businesses (1,933)
Proceeds from debt 5,000 
Repayment of debt (5,000)
Debt issuance cost (201)
Net cash used in financing activities(13,447)(4,390)
Effect of exchange rate changes on cash and cash equivalents1,898 (1,065)
Net increase/(decrease) in cash and cash equivalents(10,553)5,654 
Cash and cash equivalents, beginning of period256,729 144,364 
Cash and cash equivalents, end of period$246,176 $150,018 
Supplemental disclosure of cash flow information:
Cash paid for income taxes$8,142 $1,880 
Supplemental disclosure of non-cash activities
Acquisition fair value of contingent consideration issued for acquisition of business$932 $ 
The accompanying notes are an integral part of these unaudited condensed consolidated financial statements.
5

GRID DYNAMICS HOLDINGS, INC.
NOTES TO THE UNAUDITED CONDENSED CONSOLIDATED FINANCIAL STATEMENTS
(In thousands, except per share data)
Note 1 — Nature of operations and summary of significant accounting policies
Grid Dynamics Holdings, Inc. (the “Company”) provides enterprise-level digital transformation in the areas of technology consulting, agile custom software development, and data analytics to Fortune 1000 companies. The Company’s headquarters and principal place of business is in San Ramon, California.
The following is a summary of critical accounting policies consistently applied in the preparation of the accompanying unaudited condensed consolidated financial statements. Full description of significant accounting policies is provided in our Annual Report on Form 10-K for the fiscal year ended December 31, 2022, as filed with the SEC on February 28, 2023.
Basis of presentation
The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States (“U.S. GAAP”) for interim financial information and in accordance with the rules and regulations of the Securities and Exchange Commission (“SEC”). Accordingly, they do not include all of the information and footnotes required by U.S. GAAP for complete financial statements. The unaudited condensed consolidated financial statements reflect all normal and recurring adjustments that are, in the opinion of the Company’s management, necessary for the fair presentation of the results of operations for the interim periods. Operating results for the three and six months ended June 30, 2023 are not necessarily indicative of the results that may be expected for the year ending December 31, 2023. These interim financial statements should be read in conjunction with the Company’s audited financial statements for the year ended December 31, 2022 included in the Company’s annual report on Form 10-K that the Company filed with the SEC on February 28, 2023.
Principles of consolidation
The accompanying unaudited condensed consolidated financial statements include the accounts of the Company and all of its subsidiaries that are directly or indirectly owned or controlled. Intercompany transactions and balances have been eliminated upon consolidation.
The Company provides services to its customers utilizing its own personnel as well as personnel from subcontractors. One of the subcontractors exclusively supports and performs services on behalf of the Company and its customers. The Company had no ownership in this subcontractor (“Affiliate”) as of June 30, 2023. The Company is required to apply accounting standards which address how a business enterprise should evaluate whether it has a controlling financial interest in a variable interest entity (“VIE”) through means other than voting rights and accordingly should determine whether or not to consolidate the entity. The Company has determined that it is required to consolidate the Affiliate because the Company has the power to direct the VIE’s most significant activities and is the primary beneficiary of the Affiliate. The assets and liabilities of the Affiliate primarily consist of inter-company balances and transactions all of which have been eliminated in consolidation.
Use of estimates
The preparation of the unaudited condensed consolidated financial statements in accordance with U.S. GAAP requires the Company to make estimates and assumptions that affect the amounts reported in the unaudited condensed consolidated financial statements and accompanying notes. Actual results could differ from these estimates and such differences could be material. Significant estimates include determination of fair value, useful lives and recoverability of intangible assets and goodwill, stock-based compensation, contingent consideration payable, determination of provision for income taxes, deferred tax assets and liabilities and uncertain tax positions.
Recently adopted accounting pronouncements
Changes to U.S. GAAP are established by the Financial Accounting Standards Board (the “FASB”), in the form of Accounting Standards Updates (“ASUs”), to the FASB’s ASC. The Company will adopt according these changes according to the various timetables the FASB specifies.
Measurement of Credit Losses on Financial Instruments In June 2016, the FASB issued ASU 2016-13, Financial Instruments-Credit Losses (Topic 326) — Measurement of Credit Losses on Financial Instruments that was subsequently
6

amended by ASU 2019-4, Codification Improvements to Topic 326, Financial Instruments — Credit Losses, ASU 2019-5, Financial Instruments — Credit Losses (Topic 326): Targeted Transition Relief, and clarified with the release of ASU 2020-2 Financial Instruments—Credit Losses (Topic 326) and Leases (Topic 842). These ASUs replace the current incurred loss impairment methodology with a methodology that reflects expected credit losses measured at amortized cost and certain other instruments, including loans, held-to-maturity debt securities, net investments in leases, and off-balance sheet credit exposures. The Company adopted Topic 326, effective January 1, 2023, using a modified-retrospective approach. Adoption of Topic 326 did not have any impact on its condensed consolidated financial statements.
Recently issued accounting pronouncements
The Company considered the applicability of all recently issued ASUs and believes their impact will not have a material impact on its condensed consolidated financial position, results of operations and cash flows upon adoption.
Note 2 — Acquisitions
NextSphere — On April 18, 2023, the Company completed the acquisition of 100% of NextSphere Technologies, Inc. (“NextSphere”). Founded in 2006, NextSphere is headquartered in Tampa, FL, has an engineering presence in Phoenix, AZ, and operates two large engineering centers in India's tech hubs of Hyderabad and Chennai. NextSphere specializes in modern application development, systems monetization, product development, cloud and infrastructure services, and quality assurance. Over the years, NextSphere has worked with several brands across numerous industry verticals with expertise in Healthcare, Fintech and CPG/Manufacturing industries. The Company believes this acquisition will support the Company’s objectives of enhancing its technical capabilities, expanding its global footprint, and increasing its client base. The total purchase consideration is $25.2 million and consists of cash consideration of $24.3 million paid at closing, and fair value of the contingent consideration at the date of the acquisition of $0.9 million. The maximum amount of potential contingent cash consideration is $2.0 million. The contingent consideration is payable based on revenue and gross profit metrics to be achieved by NextSphere within 12 months. The Company recorded a liability for the contingent consideration amount based on the Company’s best estimate of the fair value of the expected payout. See Note 3 for further details on contingent consideration.
Mutual Mobile — On December 23, 2022, the Company acquired 100% of the equity interest of the software company Mutual Mobile Inc. (“Mutual Mobile”). Founded in 2009, Mutual Mobile is based in the United States and India, offers end-to-end design and development of next-generation applications, combining mobile, augmented/virtual/mixed reality, and cloud edge / IoT practices. The acquisition of Mutual Mobile added approximately 180 employees to the Company’s headcount. The acquisition will accelerate Company’s strategic expansion into the India engineering market and further solidifies Grid Dynamics’ commitment to global growth. The total purchase consideration is $16.1 million and consists of cash consideration of $12.8 million paid at closing, and fair value of the contingent consideration at the date of the acquisition of $3.3 million. The maximum amount of potential contingent cash consideration is $5.0 million. The contingent consideration is payable based on revenue and gross profit metrics to be achieved by Mutual Mobile within 12 months. The Company recorded a liability for the contingent consideration amount based on the Company’s best estimate of the fair value of the expected payout. See Note 3 for further details on contingent consideration.

7


The following table summarizes the estimated fair values of the assets acquired and liabilities assumed:
NextSphereMutual Mobile
(in thousands)
Current assets$9,708 $4,982 
Property, plant and equipment192 132 
Intangible assets9,906 3,749 
Goodwill9,119 9,556 
Other noncurrent assets511 102 
Total assets acquired$29,436 $18,521 
Accounts payable, accrued expenses and other liabilities(1,990)(1,576)
Deferred taxes(2,235)(875)
Total liabilities assumed$(4,225)$(2,451)
Purchase price allocation$25,211 $16,070 
Current assets acquired include cash and cash equivalents in the amount of $6.4 million for NextSphere and $3.5 million for Mutual Mobile, respectively. The purchase price for all acquisitions was assigned to assets acquired and liabilities assumed based on their estimated fair values as of the date of acquisition, and any excess was allocated to goodwill, as shown in the table above. Goodwill represents the value the Company expects to achieve through the implementation of operational synergies and growth opportunities as the Company expands its global reach. Goodwill for NextSphere and Mutual Mobile is not deductible for income tax purposes. 
For the acquisition of NextSphere and Mutual Mobile, the estimated fair values of the assets acquired and liabilities assumed are provisional and based on the information that was available as of the acquisition date. The Company expects to finalize the purchase price allocations as soon as practicable but no later than one year from the acquisition date.
The estimated fair value, useful lives and amortization methods of identifiable intangible assets as of the date of acquisition updated for any changes as of June 30, 2023 are as follows:
NextSphereMutual Mobile
Fair ValueUseful LifeFair ValueUseful Life
(in thousands, except in years)
Customer relationships$8,415 10 years$3,453 8 years
Acquired software995 2.5 years 
Trade name496 2 years152 4 years
Non-compete agreements 144 2 years
Total identified intangible assets$9,906 $3,749 
The Company used the acquisition method of accounting for all acquisitions, and consequently, the results of operations for all acquisitions are reported in the consolidated financial statements from the dates of acquisition.
The following unaudited pro forma information presents the combined results of operations as if the acquisitions of Mutual Mobile and NextSphere had occurred at the beginning of the year preceding the acquisition date. Pre-acquisition results of business acquired have been added to the Company’s historical results. The pro forma results contained in the table below include adjustments for amortization of acquired intangibles and related income taxes. Any potential cost savings or other operational efficiencies that could result from the acquisition are not included in these pro forma results.



These unaudited pro forma results have been prepared for comparative purposes only and are not necessarily indicative of the results of operations as they would have been had the acquisitions occurred on the assumed dates, nor are they necessarily an indication of future operating results.
Three Months Ended
June 30,
2022
Six Months Ended
June 30,
2022
(in thousands)
Revenue$82,515 $157,555 
Net loss$(12,559)$(13,904)
Diluted loss per share$(0.19)$(0.21)
Note 3 — Fair value
The Company’s financial assets and liabilities, with the exceptions of contingent consideration payable described further herein, are all short term in nature; therefore, the carrying value of these items approximates their fair value.
The Company measures contingent consideration payable at fair value on a recurring basis using significant inputs that are not observable in the market. Fair value of the contingent consideration liability is based on the Monte-Carlo model which is primarily based on budgets and discounted cash flow analysis. The Company believes its estimates and assumptions are reasonable, however, there is significant judgment involved. Changes in the fair value of contingent consideration payable primarily result from changes in timing and amount of specific milestone estimates and changes in probability assumptions with respect to the likelihood of achieving the various earnout criteria. These changes could cause a material impact to, and volatility in the Company’s operating results.
During the three months ended December 31, 2022 and three months ended June 30, 2023 the Company completed the acquisitions of NextSphere and Mutual Mobile under which the Company committed to make a cash earnout payment subject to attainment of specific performance targets. The weighted average discount rate used to determine the fair value of NextSphere and Mutual Mobile contingent considerations was 15.5% and 10.3%, respectively.
The Company records contingent consideration payable in Other current liabilities in its unaudited consolidated balance sheet. A reconciliation of the beginning and ending balances of Level 3 acquisition-related contingent consideration payable using significant unobservable inputs for the six months ended June 30, 2023 are as follows:
Amount
(in thousands)
Contingent consideration payable as of December 31, 2022$3,288 
Acquisition date fair value of contingent consideration payable - NextSphere932 
Change in fair value of contingent consideration payable included in Other income/(expense) - Mutual Mobile(2,554)
Contingent consideration payable as of June 30, 2023
$1,666 
Financial Assets and Liabilities Not Measured at Fair Value on a Recurring Basis
Estimates of fair value of financial instruments not carried at fair value on a recurring basis are generally subjective in nature, and are determined as of a specific point in time based on the characteristics of the financial instruments and relevant market information. The Company’s financial assets and liabilities, are generally short-term in nature; therefore, the carrying value of these items approximates their fair value.



The following tables present the estimated fair values of the Company’s financial assets and liabilities not measured at fair value on a recurring basis as of the dates indicated:
Fair Value Hierarchy
BalanceEstimated Fair ValueLevel 1Level 2Level 3
(in thousands)
June 30, 2023
Financial Assets:
Cash equivalents:
Money market funds$197,211 $197,211 $197,211 $ $ 
December 31, 2022
Financial Assets:
Cash equivalents:
Money market funds$205,787 $205,787 $205,787 $ $ 
Non-Marketable Securities Without Readily Determinable Fair Values
The Company holds investment in equity securities of a related party that does not have readily determinable fair values. This investment is recorded at cost and is remeasured to fair value based on certain observable price changes or impairment events as they occur. The carrying amount of the investment was $1.0 million as of June 30, 2023 and December 31, 2022, and was classified as Other noncurrent assets in the Company’s unaudited condensed consolidated balance sheets.
Note 4 — Prepaid expenses and other current assets
The prepaid expenses and other current assets were as follows:
As of
June 30,
2023
December 31,
2022
(in thousands)
Prepaid expenses$4,854 $3,323 
Value added, goods and service taxes receivable2,019 1,384 
Guarantee deposits placed2,004 2,295 
Other prepaid and current assets312 1,152 
Total prepaid expenses and other current assets$9,189 $8,154 

Note 5 — Property and equipment, net
Property and equipment, net consisted of the following:



Estimated
Useful
Life
As of
June 30,
2023
December 31,
2022
(in years)(in thousands)
Computers and equipment
2-5
$12,798 $11,679 
Furniture and fixtures
3-10
1,706 1,614 
Leasehold improvements
2-8
1,258 646 
Software
3-5
1,196 1,053 
Machinery and automobiles
4-6
559 349 
$17,517 $15,341 
Less: Accumulated depreciation and amortization(10,688)(8,614)
$6,829 $6,727 
Capitalized software development costs
2-3
$5,831 $6,210 
Less: Accumulated amortization(2,636)(4,722)
$3,195 $1,488 
Property and equipment, net$10,024 $8,215 

Note 6 — Intangible assets, net
Intangible assets, net consisted of the following:
Estimated
Useful
Life
As of
June 30,
2023
December 31,
2022
(in years)(in thousands)
Customer relationships
8-12
$27,839 $19,424 
Tradenames
2-10
5,324 4,828 
Acquired software2.5995  
Non-compete agreements2584 584 
$34,742 $24,836 
Less: Accumulated amortization(6,101)(4,461)
Intangible assets, net$28,641 $20,375 
Based on the carrying value of the Company’s existing intangible assets as of June 30, 2023, the estimated amortization expense for the future years is as follows:
Years ending December 31, (in thousands)Amount
2023 (excluding six months ended June 30, 2023)
2,080 
20244,048 
20253,640 
20263,168 
20273,130 
Thereafter12,575 
Total$28,641 


Note 7 — Accrued expenses and other current liabilities



The components of accrued expenses and other current liabilities were as follows:
As of
June 30,
2023
December 31, 2022
(in thousands)
Accrued rebates$1,964 $473 
Value added tax payable1,846 1,345 
Contingent consideration payable1,666 3,288 
Accrued expenses1,621 829 
Customer deposits789 754 
Other liabilities1,081 1,836 
Total accrued expenses and other current liabilities$8,967 $8,525 
As of June 30, 2023 and December 31, 2022 the Company had payable to its related party in the amount of $0.6 million that was classified as Other current liabilities in unaudited condensed consolidated balance sheet.
Note 8 — Debt
Revolving Credit Facility — On March 15, 2022, the Company entered into a Credit Agreement (the “2022 Credit Agreement”) by and among the Company, as borrower, the guarantors party thereto from time to time, the lenders party thereto from time to time, and JPMorgan Chase Bank, N.A., as administrative agent for the lenders (the “Agent”). The 2022 Credit Agreement provides for a secured multicurrency revolving loan facility with an initial aggregate principal amount of up to $30.0 million, with a $10.0 million letter of credit sublimit. The Company may increase the size of the revolving loan facility up to $50.0 million, subject to certain conditions and additional commitments from existing and/or new lenders. The 2022 Credit Agreement matures on March 15, 2025.
At the Company’s option, borrowings under the 2022 Credit Agreement accrue interest at a per annum rate based on either (i) the base rate plus a margin ranging from 1.0% to 1.5%, (ii) an adjusted term Secured Overnight Financing Rate (“SOFR”) or adjusted the Euro Interbank Offer Rate (“EURIBOR”) (based on one, three or six-month interest periods) plus a margin ranging from 2.0% to 2.5%, or (iii) an adjusted daily simple SOFR rate (or SONIA rate in the case of loans denominated in pounds sterling, or SARON rate in the case of loans denominated in Swiss francs), plus a margin ranging from 2.0% to 2.5%, in each case, with the applicable margin determined based on the Company’s consolidated total leverage ratio. The Company is also obligated to pay other closing fees, administration fees, commitment fees and letter of credit fees customary for a credit facility of this size and type.
The Company’s obligations under the 2022 Credit Agreement are required to be guaranteed by certain of its domestic subsidiaries meeting materiality thresholds set forth in the 2022 Credit Agreement. Such obligations, including the guaranties, are secured by substantially all of the personal property of the Company and the Company’s subsidiary guarantors.

The 2022 Credit Agreement contains customary affirmative and negative covenants, including covenants limiting the ability of the Company and its subsidiaries to, among other things, incur debt, grant liens, undergo certain fundamental changes, make investments and acquisitions, make certain restricted payments, dispose of assets, enter into certain transactions with affiliates, and enter into burdensome agreements, in each case, subject to limitations and exceptions set forth in the 2022 Credit Agreement. The Company is also required to maintain compliance with a consolidated total leverage ratio, determined in accordance with the terms of the 2022 Credit Agreement. As of June 30, 2023, the Company was in compliance with all covenants contained in the 2022 Credit Agreement.
In October, 2017, the Company entered into a loan agreement for a revolving line of credit facility (the “Line of Credit”) with a borrowing capacity of $0.5 million. The Line of Credit is secured by substantially all of the Company’s assets and was secured in order to provide credit support for a letter of credit facility and balances under the Company’s credit cards. Borrowings under the Line of Credit are subject to a variable interest rate, based on changes in the Prime Rate, as calculated published by the Wall Street Journal. The Company closed the Line of Credit in March of 2022.
As of June 30, 2023 and December 31, 2022, respectively, the Company did not have any outstanding debt under the 2022 Credit Agreement.



Note 9 — Revenues
Disaggregation of revenues
The tables below present disaggregated revenues from contracts with customer by customer location, industries and contract-types. The Company believes this disaggregation best depicts how the nature, amount, timing and uncertainty of our revenues and cash flows are affected by industry, market and other economic factors. The Company has a single reportable segment for the six months ended June 30, 2023 and 2022.
The following table shows the disaggregation of the Company’s revenues by major customer location. Revenues are attributed to geographic regions based upon billed client location. Substantially all of the revenue in our North America region relates to operations in the United States.
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
Customer Location(in thousands)
North America$61,944 $63,658 $125,893 $121,267 
Europe15,251 13,596 31,145 27,331 
Other147 81 384 147 
Total Revenues$77,342 $77,335 $157,422 $148,745 
The following table shows the disaggregation of the Company’s revenues by main vertical markets:
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
Vertical(in thousands)
Retail$26,032 $25,452 $51,428 $48,759 
Technology, Media and Telecom24,096 23,391 50,907 44,835 
CPG/Manufacturing(1)
10,872 16,090 23,518 31,069 
Finance6,748 5,049 13,263 9,576 
Other9,594 7,353 18,306 14,506 
Total Revenues$77,342 $77,335 $157,422 $148,745 
__________________________
(1)CPG stands for Consumer Packaged Goods
The following table shows the disaggregation of the Company’s revenues by contract types:
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
Contract Type(in thousands)
Time-and-material$69,143 $71,002 $139,669 $136,208 
Fixed-fee7,731 6,333 17,285 12,537 
Other revenues468  468  
Total Revenues$77,342 $77,335 $157,422 $148,745 
Contract balances

A contract asset is a right to consideration that is conditional upon factors other than the passage of time. A contract liability, or deferred revenue, consists of advance payments and billings in excess of revenues recognized. As of June 30, 2023 and December 31, 2022 the Company did not have material contract assets. Contract liabilities were $0.4 million and $1.1 million as of June 30, 2023 and December 31, 2022, respectively.





Remaining performance obligation
ASC 606 “Revenue from Contracts with Customers” requires that the Company disclose the aggregate amount of transaction price that is allocated to performance obligations that have not yet been satisfied as of June 30, 2023 and December 31, 2022. This disclosure is not required for:
1)contracts with an original duration of one year or less, including contracts that can be terminated for convenience without a substantive penalty,
2)contracts for which the Company recognizes revenues based on the right to invoice for services performed,
3)variable consideration allocated entirely to a wholly unsatisfied performance obligation or to a wholly unsatisfied promise to transfer a distinct good or service that forms part of a single performance obligation in accordance with ASC 606-10-25-14(b), for which the criteria in ASC 606-10-32-40 have been met, or
4)variable consideration in the form of a sales-based or usage-based royalty promised in exchange for a license of intellectual property.
All of the Company’s contracts met one or more of these exemptions as of June 30, 2023 and December 31, 2022.
Customers concentration
The following table shows the amount of revenue derived from each customer exceeding 10% of the Company’s revenue:
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
Customer 114.0 %11.9 %13.9 %11.6 %
Customer 2n/a11.1 %n/a10.7 %
During the three and six months ended June 30, 2023 the Company recorded revenues from its related parties of $2.3 million and $4.0 million, respectively. During the same periods of 2022 the Company recorded revenue from related parties of $1.4 million and $2.6 million, respectively.
The following table shows number of customers exceeding 10% of the Company’s billed and unbilled receivable balances:
As of
June 30,
2023
December 31,
2022
Accounts receivable12
Unbilled receivable22
As of June 30, 2023 and December 31, 2022 accounts receivable from related parties were $1.2 million and $0.9 million, respectively.

Note 10 — Leases
A major part of the Company's lease obligations is for office real estate. The Company may also lease corporate apartments, cars and office equipment. Payments on some of our leases may depend on index or rate, including Consumer Price Index. Such payments are included in the calculation of lease liability and assets at the commencement dates, all future changes are accounted as variable payments similar to other variable payments, such as common area maintenance, property and other taxes, utilities and insurance that are based on the lessor’s cost.
The Company’s leases have remaining lease terms ranging from 0.4 to 4.8 years. Certain lease agreements may include the option to extend or terminate before the end of the contractual term and are often non-cancelable or cancellable only by the payment of penalties. The Company includes these options in the lease term when it is reasonably certain that they will be exercised.



As of June 30, 2023 and December 31, 2022, the Company had no finance leases. Operating lease expense is recorded on a straight-line basis over the lease term. During the three and six months ended June 30, 2023 and June 30, 2022 lease costs were as follows:
Three months ended
June 30,
Six Months Ended
June 30,
2023202220232022
(in thousands)
Operating lease cost$939 $858 $1,720 $1,552 
Variable lease cost68 (96)262 (72)
Short-term lease cost98 28 196 267 
Total lease cost$1,105 $790 $2,178 $1,747 
Supplemental information related to operating lease transactions is as follows:
Three months ended
March 31,
Six Months Ended
June 30,
2023202220232022
(in thousands)
Lease liability payments$913 $752 $1,640 $1,618 
Lease assets obtained in exchange for liabilities$3,614 $1,514 $4,636 $1,514 
Non-cash net change in lease assets due to lease modifications$26 $(858)$26 $(886)
Non-cash net change in lease liability due to lease modifications$(26)$858 $(26)$886 
Weighted average remaining lease term and discount rate as of June 30, 2023 is as follows:
As of
June 30,
2023
December 31,
2022
Weighted average remaining lease term, in years3.62.8
Weighted average discount rate6.4 %4.7 %

As of June 30, 2023, operating lease liabilities will mature as follows:
Years ending December 31, (in thousands)Lease Payments
2023 (excluding six months ended June 30, 2023)
$2,121 
20244,060 
20253,092 
20262,219 
20271,844 
202889 
Total lease payments13,425 
Less: imputed interest(1,589)
Total$11,836 
There were no material lease agreements signed with related parties as of June 30, 2023 and December 31, 2022.
Note 11 — Income taxes
The Company recorded income tax expense of $1.7 million and $1.7 million for the three months ended June 30, 2023 and 2022, respectively. The Company’s effective tax rate was 39.5% and (14.9)% for the second quarter of 2023 and 2022, respectively. On a year-to-date basis, the Company recorded income tax expense of $5.4 million and $3.9 million for 2023 and



2022, respectively. Effective tax rate was not meaningful and (32.4)% during the six months ended June 30, 2023 and 2022, respectively. Effective tax rate for six months ended June 30, 2023 was not meaningful due to immaterial income before tax compared to income tax expense recorded.
The change in the effective tax rate for the three and six months ended June 30, 2023, as compared to the same period in 2022 was attributable mainly to Section 162(m) compensation deduction limitations and foreign inclusion adjustments.
For the three and six months ended June 30, 2023, the Company used a discrete effective tax rate method to calculate income taxes due to sensitivity of the forecast. Through June 30, 2023, the Company determined that small changes in estimated “ordinary” income would result in significant changes in the estimated annual effective tax rate causing material distortion in the year-to-date tax provision. As of June 30, 2023, the Company is unable to produce a reliable estimate of ordinary income for the quarter and year ending 2023 due to the inability to reliably or accurately forecast 2023 operating expenses. Similarly, for the three and six months ended June 30, 2023, due to uncertainties created by geopolitical risks, the Company’s estimated annual effective tax rate method would not provide a reliable estimate and therefore was not used.
Note 12 — Stock-based compensation
Employee stock-based compensation cost recognized in the consolidated statements of loss and comprehensive loss was as follows:
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
(in thousands)
Cost of revenue$520 $272 $980 $521 
Engineering, research, and development1,020 1,638 2,673 2,502 
Sales and marketing823 1,207 1,878 1,878 
General and administrative4,790 13,270 14,879 20,147 
Total stock-based compensation$7,153 $16,387 $20,410 $25,048 
Stock Options
2018 Plan
Stock option activity under the Company’s 2018 Plan is set forth below:
Number of OptionsWeighted Average Exercise PriceAggregate Intrinsic Value (in thousands)Weighted Average Contractual Term
(in years)
Options outstanding as of December 31, 2022
1,598,811 $3.54 $12,279 6.0
Options exercised(32,795)$3.54 
Options outstanding as of June 30, 2023
1,566,016 $3.54 $8,942 5.6
Options vested and exercisable as of June 30, 2023
1,519,130 $3.54 $8,674 5.5
The total unrecognized compensation expenses related to 2018 Plan options as of June 30, 2023 was $0.01 million to be expensed on a straight-line basis over 0.2 years.
2020 Plan
As of June 30, 2023, 7.3 million shares were available for grant under 2020 Incentive Stock Plan (“2020 Plan”).
Stock option activity under the Company’s 2020 Plan is set forth below:



Number of OptionsWeighted Average Exercise PriceAggregate Intrinsic Value (in thousands)Weighted Average Contractual Term
(in years)
Options outstanding as of December 31, 2022
3,003,611 $13.22 $3,883 8.3
Options granted597,000 $11.68 
Options exercised(2,123)$8.20 
Options forfeited(164,708)$15.51 
Options expired(14,639)$20.71 
Options outstanding as of June 30, 2023
3,419,141 $12.82 $1,337 7.8
Options vested and exercisable as of June 30, 2023
1,415,499 $10.90 $1,069 6.6

The Company elected the policy to account for forfeitures as these occur. The total unrecognized compensation expenses related to 2020 Stock Plan options as of June 30, 2023 was $11.5 million to be expensed on a straight-line basis over the remaining 2.8 years.
Restricted Stock Units
RSUs granted do not participate in earnings, dividends, and do not have voting rights until vested.
The following table summarizes activity of the Company’s RSUs for the six months ended June 30, 2023:
Number of SharesWeighted Average Grant Date Fair Value
Unvested awards as of December 31, 2022
2,245,968 $11.99 
Awards granted143,000 $11.64 
Awards vested and released(989,969)$12.40 
Awards forfeited(101,883)$11.22 
Unvested awards as of June 30, 2023
1,297,116 $11.69 
During the six months ended June 30, 2023 the Company net withheld and returned to the 2020 Plan pool 0.5 million shares to cover $5.3 million tax obligations for RSU releases. The total unrecognized compensation expenses related to 2020 Stock Plan RSUs as of June 30, 2023 was $12.9 million to be expensed on a straight-line basis over 1.0 years.
Performance Stock Units
The following table summarizes activity of the Company's PSUs for the six months ended June 30, 2023:
Number of SharesWeighted Average Grant Date Fair Value
Unvested awards as of December 31, 2022
1,328,482 $39.41 
Awards granted523,938 $11.97 
Awards vested and released(1,328,482)$39.41 
Awards forfeited(32,375)$11.97 
Unvested awards as of June 30, 2023
491,563 $11.97 
During first quarter of 2023, the Company withheld 0.7 million shares to cover the $8.1 million tax obligations related to the release of vested 2022 PSU shares certified at 256% performance goal achievement on February 21, 2023. The total estimated



unrecognized compensation expenses related to 2020 Stock Plan PSUs as of June 30, 2023 was $6.1 million to be expensed over 0.7 years based on projected 158% performance goal achievement estimated as probable.
Note 13 — Earnings per share
Basic earnings per share (“EPS”) is computed by dividing the net income applicable to common stockholders for the period by the weighted average number of shares of common stock outstanding during the same period. Diluted EPS is computed by dividing net income available to common shareholders by the weighted-average number of shares of common stock outstanding during the period increased to include the number of additional shares of common stock that would have been outstanding if the potentially dilutive securities had been issued. Potentially dilutive securities include outstanding stock options, restricted stock units, and performance stock units. The dilutive effect of potentially dilutive securities is reflected in diluted EPS in order of dilution and by application of the treasury stock method and the if-converted method for stock-based compensation and convertible preferred securities, respectively.
The following table sets forth the computation of basic and diluted EPS of common stock as follows:
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
(in thousands, except per share data)
Numerator for basic and diluted loss per share
Net income/(loss)2,627 (13,186)(5,343)(15,853)
Denominator:
Weighted-average shares outstanding – basic75,14567,13674,80467,028
Net effect of dilutive stock options and restricted stock units1,705
Weighted-average shares outstanding – diluted76,85067,13674,80467,028
Net income/(loss) per share
Basic$0.03 $(0.20)$(0.07)$(0.24)
Diluted$0.03 $(0.20)$(0.07)$(0.24)
The following table represents the number of share equivalents outstanding during the period that were excluded from the calculation of diluted net income/(loss) per share attributable to common stockholders because including them would have had an anti-dilutive effect.
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
(in thousands)
Stock options to purchase common stock2,118 4,380 4,827 4,280 
Restricted stock units138 2,178 1,942 1,817 
Performance stock units 1,131 957 1,153 
Total2,256 7,689 7,726 7,250 

Note 14 — Commitments and contingencies
Legal Matters
The Company is subject to legal proceedings and claims that arise in the ordinary course of its business. Management evaluates each claim and provides for potential loss when the claim is probable to be paid and reasonably estimable. While adverse decisions in certain of these litigation matters, claims and administrative proceedings could have a material effect on a particular period’s results of operations, subject to the uncertainties inherent in estimating future costs for contingent liabilities,



management believes that any future accruals with respect to these currently known contingencies would not have a material effect on the financial condition, liquidity or cash flows of the Company. There were no material amounts required to be reflected in these unaudited condensed consolidated financial statements related to contingencies.
Note 15 — Subsequent events
The Company performed its subsequent event procedures through August 3, 2023, the date these unaudited condensed consolidated financial statements were issued.



Item 2. Management’s Discussion and Analysis of Financial Condition and Results of Operations
Forward-Looking Statements
The following discussion and analysis of the financial condition and results of operations of Grid Dynamics Holdings, Inc. should be read in conjunction with the unaudited condensed consolidated financial statements and the related notes thereto included elsewhere in this Quarterly Report on Form 10-Q and the audited financial statements and notes thereto and Management’s Discussion and Analysis of Financial Condition and Results of Operations for the fiscal year ended December 31, 2022, which has been filed with the Securities and Exchange Commission (“SEC”) on February 28, 2023.
The statements contained in this Quarterly Report on Form 10-Q that are not historical facts are forward-looking statements (within the meaning of Section 21E of the Securities Exchange Act of 1934, as amended, or the Exchange Act) that involve risks and uncertainties. Such forward-looking statements may be identified by, among other things, the use of forward-looking terminology such as “believes,” “expects,” “may,” “will,” “should,” “seek,” “intends,” “plans,” “estimates,” “projects,” “anticipates,” or the negative thereof or other variations thereon or comparable terminology, or by discussions of strategy that involve risks and uncertainties. Actual results may differ significantly from those projected in the forward-looking statements. Factors that might cause future results to differ materially from those projected in the forward-looking statements include, but are not limited to, those discussed in the sections titled “Risk Factors” and “Cautionary Note Regarding Forward Looking Statements,” included elsewhere in this Quarterly Report on Form 10-Q.
Overview
Grid Dynamics Holdings, Inc. (“Grid Dynamics,” “GDH,” the “Company,” “we,” “us,” or “our”) is a rapidly expanding platform engineering services company, specializing in enterprise-level digital transformations for Fortune 1000 corporations. For enterprises that create innovative digital products and experiences, Grid Dynamics closely collaborates with its customers to provide digital transformation initiatives that span strategy consulting, development of early prototypes and enterprise-scale delivery of new digital platforms. Established in 2006 and headquartered in Silicon Valley as a cloud consultancy firm, Grid Dynamics has quickly established itself as a provider of choice for technology and evolved to become a leading force in digital innovation, with a strong focus on artificial intelligence, data, analytics, cloud, and customer experience.
As a leading global digital engineering and IT services provider with engineering centers in the United States, Mexico, India, Jamaica and multiple European countries, Grid Dynamics’ core business is to deliver focused and complex technical consulting, software design, development, testing and internet service operations. Grid Dynamics also helps organizations become more agile and create innovative digital products and experiences through its deep expertise in emerging technology, such as artificial intelligence, data science, cloud computing, big data and DevOps, lean software development practices and a high-performance product culture. Grid Dynamics believes that the key to its success is a business culture that puts products over projects, client success over contract terms and real business results over purely technical innovation. By leveraging Grid Dynamics’ proprietary processes optimized for innovation, emphasis on talent development and technical expertise, Grid Dynamics has been able to achieve significant growth.




The following tables sets forth a summary of Grid Dynamics’ financial results for the periods indicated:
Three months ended
June 30,
20232022
(in thousands, except per share data and percentages)
Revenues$77,342 100.0 %$77,335 100.0 %
Gross profit28,305 36.6 %28,861 37.3 %
Income/(loss) from operations1,334 1.7 %(10,849)(14.0)%
Net income/(loss)2,627 3.4 %(13,186)(17.1)%
Diluted income/(loss) per share$0.03 n/a$(0.20)n/a
Non-GAAP Financial Information(1)
Non-GAAP EBITDA(1)
11,985 15.5 %13,282 17.2 %
Non-GAAP Net Income(1)
6,996 9.0 %8,230 10.6 %
Non-GAAP Diluted EPS(1)
$0.09 n/a$0.12 n/a
__________________________
(1)Non-GAAP EBITDA, Non-GAAP Net Income and Non-GAAP Diluted EPS are non-GAAP financial measures. See “Non-GAAP Measures” below for additional information and reconciliations to the most directly comparable GAAP financial measures.
Six Months Ended
June 30,
20232022
(in thousands, except per share data and percentages)
Revenues$157,422 100.0 %$148,745 100.0 %
Gross profit56,880 36.1 %55,640 37.4 %
Loss from operations(4,658)(3.0)%(10,646)(7.2)%
Net loss(5,343)(3.4)%(15,853)(10.7)%
Diluted loss per share$(0.07)n/a$(0.24)n/a
Non-GAAP Financial Information(1)
Non-GAAP EBITDA(1)
22,817 14.5 %24,657 16.6 %
Non-GAAP Net Income(1)
13,519 8.6 %15,178 10.2 %
Non-GAAP Diluted EPS(1)
$0.18 n/a$0.22 n/a
__________________________
(1)Non-GAAP EBITDA, Non-GAAP Net Income and Non-GAAP Diluted EPS are non-GAAP financial measures. See “Non-GAAP Measures” below for additional information and reconciliations to the most directly comparable GAAP financial measures.
Quarterly Highlights
During the second quarter of 2023, our revenues of $77.3 million remained flat compared to the three months ended June 30, 2022, and decreased by $2.7 million from the three months ended March 31, 2023. The sequential decrease in revenues was largely due to the impacts of macroeconomic conditions, which resulted in lower customer demand. This was offset by new customer revenues and contributions from our recent acquisitions.
During the three months ended June 30, 2023, our Retail vertical comprised 33.7% of our second quarter revenue. Our Technology Media, and Telecom (“TMT”) vertical comprising 31.2% of our quarterly revenues increased by 3.0% on a year-over-year basis. During the three months ended June 30, 2023, our Consumer Packaged Goods (“CPG”)/Manufacturing vertical declined by 32.4% and 14.0% on a year-over-year and sequential basis, respectively. Key reasons for the decline were a combination of macro-related uncertainty resulting in a more cautionary outlook towards spending and customer specific factors. During the second quarter of 2023, Finance, and Other verticals contributed to 8.7%, and 12.3%, respectively. Revenues from our Top 5 customers during the quarter decreased by 15.0% to 37.6% compared to the same period a year ago mainly due to a decrease in revenues generated from our largest CPG/Manufacturing customer.



We ended the second quarter of 2023 with $2.6 million, or 3.4% in GAAP Net Income, a change from a GAAP Net Loss of $8.0 million, or 10.0% in the three months ended March 31, 2023 and a GAAP Net Loss of $13.2 million, or 17.1% in the second quarter of 2022. The year-over-year increase in GAAP Net Income was largely driven by a combination of lower stock-based compensation expenses and decrease in geographic reorganization and relocation costs. We ended the second quarter of 2023 with $12.0 million, or 15.5% in Non-GAAP EBITDA, up from $10.8 million, or 13.5% in the first quarter of 2023 and from $13.3 million, or 17.2% in the three months ended June 30, 2022. The sequential increase in Non-GAAP EBITDA was largely driven by enhanced operational efficiencies. The year-over-year decrease in Non-GAAP EBITDA was largely driven by increased operating expenses from our recent acquisitions.
Business Update Regarding Military Action in Ukraine
On February 24, 2022, Russian forces launched significant military action against Ukraine, and sustained conflict and disruption in the region has resulted and is likely to continue. The impact to Ukraine as well as actions taken by other countries, including new and stricter sanctions imposed by the U.S., Canada, the United Kingdom, the European Union, and other countries and companies and organizations against officials, individuals, regions, and industries in Russia and certain regions of Ukraine, and each country’s potential response to such sanctions, tensions, and military actions could have a material adverse effect on our operations. For example, in response to increased sanctions, Russia could attempt to take control of assets in Ukraine of companies registered in the United States, such as Grid Dynamics. Any such material adverse effect from the conflict and enhanced sanctions activity may disrupt our delivery of services, impair our ability to complete financial or banking transactions, cause us to continue to shift all or portions of our work occurring in the region to other countries, and may restrict our ability to engage in certain projects in the region or involving certain customers in the region.
We are actively monitoring the security of our personnel and the stability of our infrastructure, including communications and internet availability. We executed our business continuity plan and have adapted to developments as they occur to protect the safety of our people and handle potential impacts to our delivery infrastructure. This includes moving affected employees to safer locations in Western Ukraine and, where permissible, outside Ukraine, and reallocating work to other geographies within our global footprint. We are actively working with our personnel and with our customers to meet their needs and to ensure smooth delivery of services.
In April 2022, Grid Dynamics also announced it would cease remaining operations in the Russian Federation. We have worked towards the safe and expedient relocation of willing employees and ongoing management of projects to eliminate delivery impact to clients. In addition we announced our expansion to a new European hub with an office in Zug, Switzerland, a new engineering office in Yerevan, Armenia and workforce expansion in India. As of June 2023, our former subsidiary in Russia is liquidated and we are not performing any client services from Russia.
We have no way to predict the progress or outcome of the military action in Ukraine, as the conflict and government reactions continue to develop and are beyond our control. Prolonged unrest, military activities, expansion of hostilities, or broad-based sanctions, could have a material adverse effect on our operations and business outlook. For example, if Russia were to invade other countries, such as Moldova, it could adversely affect our business, including preventing the relocation of our employees from Russia. In addition, the current geopolitical situations in Armenia and separately in Serbia create additional uncertainty in the region, and could adversely affect our business.
The information contained in this section is accurate as of the date hereof, but may become outdated due to changing circumstances beyond our present awareness or control.
For additional information on the various risks posed by the military action in Ukraine and the impact in the region, as well as other macroeconomic factors affecting our business, please read “Part II. Item 1A. Risk Factors” included in this Quarterly Report on Form 10-Q.
Recent Acquisitions
On April 18, 2023, we acquired NextSphere Technologies Inc. (“NextSphere”), a full-service custom application development firm. NextSphere is headquartered in Tampa, FL. It also has an engineering presence in Phoenix, AZ, and operates two large engineering centers in the India tech hubs of Hyderabad and Chennai. The acquisition of Nextsphere will support our objectives of enhancing our technical offerings, expanding our global footprint, and increasing our client base.
On December 23, 2022, we acquired Mutual Mobile Inc. (“Mutual Mobile”), a company based out of Austin, Texas and with delivery operations in India. Mutual Mobile offers end-to-end design and development of next-generation applications, combining mobile, augmented/virtual/mixed reality, and cloud edge / IoT practices. It has developed wide-ranging, technical solutions for prominent global brands across numerous industry verticals, with Technology, Healthcare, Automotive, and



Financial Services representing the top verticals by revenue. The acquisition of Mutual Mobile enhances our skills in the area of mobile technologies and UX expertise as well as accelerates our strategic expansion to India and supports our commitment towards offering our customers a global engineering and delivery platform.
Key Performance Indicators and Other Factors Affecting Performance
Grid Dynamics uses the following key performance indicators and assesses the following other factors to analyze its business performance, to make budgets and financial forecasts and to develop strategic plans:
Employees by Region
Attracting and retaining the right employees is critical to the success of Grid Dynamics’ business and is a key factor in Grid Dynamics’ ability to meet client needs and grow its revenue base. Grid Dynamics’ revenue prospects and long-term success depend significantly on its ability to recruit and retain qualified IT professionals. A substantial majority of Grid Dynamics’ personnel is comprised of such IT professionals.
The following table shows the number of Grid Dynamics personnel (including full-time and part-time employees and contractors serving in similar capacities) by region, as of the dates indicated:
As of June 30,
20232022
CEE, U.K., and the Netherlands2,7923,191
Americas520470
Rest of the world550102
Total3,8623,763
Attrition
There is competition for IT professionals in the regions in which Grid Dynamics operates, and any increase in such competition may adversely impact Grid Dynamics’ business and gross profit margins. Employee retention is one of Grid Dynamics’ main priorities and is a key driver of operational efficiency. Grid Dynamics seeks to retain top talent by providing the opportunity to work on exciting, cutting-edge projects for high profile clients, a flexible work environment and training and development programs. Grid Dynamics’ management targets a voluntary attrition rate no higher than the mid-teen percentages, in line with the industry.
Hours and Utilization
As most of Grid Dynamics’ customer projects are performed and invoiced on a time and materials basis, Grid Dynamics’ management tracks and projects billable hours as an indicator of business volume and corresponding resource needs for IT professionals. To maintain its gross profit margins, Grid Dynamics must effectively utilize its IT professionals, which depends on its ability to integrate and train new personnel, to efficiently transition personnel from completed projects to new assignments, to forecast customer demand for services and to deploy personnel with appropriate skills and seniority to projects. Grid Dynamics’ management generally tracks utilization with respect to subsets of employees, by location or by project, and calculates the utilization rate for each subset by dividing (x) the aggregate number of billable hours for a period by (y) the aggregate number of total available hours for the same period. Grid Dynamics’ management analyzes and projects utilization to measure the efficiency of its workforce and to inform management’s budget and personnel recruiting decisions. 
Customer Concentration
Grid Dynamics’ ability to retain and expand its relationships with existing customers and add new customers are key indicators of its revenue potential. During the six months ended June 30, 2023, the total number of customers was 247, up from 232 customers in the same period a year ago. Grid Dynamics’ procurement of new customers has a direct impact on its ability to diversify its sources of revenue and replace customers that may no longer require its services. Grid Dynamics has a relatively high level of revenue concentration with certain customers. During the three and six months ended June 30, 2023 one customer accounted for 10% or more of Grid Dynamics’ revenues in each of the periods indicated. Comparatively two customers accounted for 10% or more of Grid Dynamics’ revenues during three and six months ended June 30, 2022.
The following table presents revenues concentration by amount and as a percentage of our revenues for the periods indicated:




Three Months Ended
June 30,
20232022
(in thousands, except percentages)
Top one customer$10,793 14.0 %$9,234 11.9 %
Top five customers$29,043 37.6 %$34,166 44.2 %
Top ten customers$43,768 56.6 %$46,539 60.2 %
Top twenty customers$53,198 68.8 %$56,587 73.2 %
Customers below top twenty$24,144 31.2 %$20,749 26.8 %

Six Months Ended
June 30,
20232022
(in thousands, except percentages)
Top one customer$21,950 13.9 %$17,241 11.6 %
Top five customers$61,364 39.0 %$64,710 43.5 %
Top ten customers$91,513 58.1 %$87,826 59.0 %
Top twenty customers$110,036 69.9 %$108,014 72.6 %
Customers below top twenty$47,386 30.1 %$40,732 27.4 %
Seasonality
Grid Dynamics’ business is subject to seasonal trends that impact its revenues and profitability between quarters. Some of the factors that influence the seasonal trends include the timing of holidays in the countries in which Grid Dynamics operates and the U.S. retail cycle, which drives the behavior of Grid Dynamics’ retail customers. Excluding the impact of growth in its book of business, Grid Dynamics has historically recorded higher revenue and gross profit in the second and third quarters of each year compared to the first and fourth quarters of each year. In addition, many of Grid Dynamics’ retail sector customers tend to slow their discretionary spending during the holiday sale season, which typically lasts from late November (before Thanksgiving) through late December (after Christmas).
Non-GAAP Measures
To supplement Grid Dynamics’ consolidated financial data presented on a basis consistent with U.S. GAAP, this Quarterly Report contains certain non-GAAP financial measures, including Non-GAAP EBITDA, Non-GAAP Net Income and Non-GAAP Diluted Earnings Per Share, or EPS. Grid Dynamics has included these non-GAAP financial measures because they are financial measures used by Grid Dynamics’ management to evaluate Grid Dynamics’ core operating performance and trends, to make strategic decisions regarding the allocation of capital and new investments and are among the factors analyzed in making performance-based compensation decisions for key personnel. These measures exclude certain expenses that are required under U.S. GAAP. Grid Dynamics excludes these items because they are not part of core operations or, in the case of stock-based compensation, non-cash expenses that are determined based in part on Grid Dynamics’ underlying performance.
Grid Dynamics believes these supplemental performance measurements are useful in evaluating operating performance, as they are similar to measures reported by its public industry peers and those regularly used by security analysts, investors and other interested parties in analyzing operating performance and prospects. These non-GAAP financial measures are not intended to be a substitute for any GAAP financial measures and, as calculated, may not be comparable to other similarly titled measures of performance of other companies in other industries or within the same industry.
There are significant limitations associated with the use of non-GAAP financial measures. Further, these measures may differ from the non-GAAP information, even where similarly titled, used by other companies and therefore should not be used to compare our performance to that of other companies. Grid Dynamics compensates for these limitations by providing investors and other users of its financial information a reconciliation of non-GAAP measures to the related GAAP financial measures. Grid Dynamics encourages investors and others to review its financial information in its entirety, not to rely on any single financial measure and to view its non-GAAP measures in conjunction with GAAP financial measures.



Grid Dynamics defines and calculates its non-GAAP financial measures as follows:
Non-GAAP EBITDA: Net income/(loss) before interest income/expense, provision for income taxes and depreciation and amortization, and further adjusted for the impact of stock-based compensation expense, transaction-related costs (which include, when applicable, professional fees, retention bonuses, and consulting, legal and advisory costs related to Grid Dynamics’ merger and acquisition and capital-raising activities), impairment of goodwill and other income/expenses, net (which includes mainly interest income and expense, foreign currency transaction losses and gains, fair value adjustments, potential loss contingencies, and other miscellaneous expenses), and restructuring costs.

Non-GAAP Net Income: Net income/(loss) adjusted for the impact of stock-based compensation, impairment of goodwill, transaction-related costs, restructuring costs, other income/expenses, net, and the tax impacts of these adjustments.
Non-GAAP Diluted EPS: Non-GAAP Net income, divided by the diluted weighted-average number of common shares outstanding for the period.
The following table presents the reconciliation of Grid Dynamics’ Non-GAAP EBITDA to its consolidated net income/(loss), the most directly comparable GAAP measure, for the periods indicated:
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
(in thousands)
GAAP net income/(loss)$2,627 $(13,186)$(5,343)$(15,853)
Adjusted for:
Depreciation and amortization2,132 1,691 3,777 3,280 
Provision for income taxes1,715 1,711 5,375 3,881 
Stock-based compensation7,153 16,387 20,410 25,048 
Transaction and transformation-related costs (1)
295 — 1,083 — 
Geographic reorganization (2)
531 6,053 1,222 6,975 
Restructuring costs (3)
540 — 983 — 
Other (income)/expense, net (4)
(3,008)626 (4,690)1,326 
Non-GAAP EBITDA$11,985 $13,282 $22,817 $24,657 
__________________________
(1)Transaction and transformation-related costs include, when applicable, external deal costs, transaction-related professional fees, transaction-related retention bonuses, which are allocated proportionally across cost of revenue, engineering, research and development, sales and marketing and general and administrative expenses as well as other transaction-related costs including integration expenses consisting of outside professional and consulting services.
(2)Geographic reorganization includes expenses connected with military actions of Russia against Ukraine and the exit plan announced by the Company and includes travel and relocation-related expenses of employees from the aforementioned countries, severance payments, allowances as well as legal and professional fees related to geographic repositioning in various locations. These expenses are incremental to those expenses incurred prior to the crisis, clearly separable from normal operations, and not expected to recur once the crisis has subsided and operations return to normal.
(3)We implemented a restructuring plan during the first half of 2023. Our restructuring costs comprised of severance charges and respective taxes.
(4)Other (income)/expense, net consist primarily of gains and losses on foreign currency transactions, fair value adjustments, and other miscellaneous non-operating expenses, potential loss contingencies as well as other income consists primarily of interest on cash held at banks and returns on investments in money-market funds.



The following table presents a reconciliation of Grid Dynamics’ Non-GAAP Diluted EPS and its Non-GAAP Net Income to its consolidated net income/(loss) for the periods indicated:
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
(in thousands, except per share data)
GAAP net income/(loss)$2,627 $(13,186)$(5,343)$(15,853)
Adjusted for:
Stock-based compensation7,153 16,387 20,410 25,048 
Transaction and transformation-related costs (1)
295 — 1,083 — 
Geographic reorganization (2)
531 6,053 1,222 6,975 
Restructuring costs (3)
540 — 983 — 
Other (income)/expense, net (4)
(3,008)626 (4,690)1,326 
Tax impact of non-GAAP adjustments (5)
(1,142)(1,650)(146)(2,318)
Non-GAAP Net Income $6,996 $8,230 $13,519 $15,178 
Number of shares used in the GAAP Diluted EPS76,850 67,136 74,804 67,028 
GAAP Diluted EPS$0.03 $(0.20)$(0.07)$(0.24)
Number of shares used in the Non-GAAP Diluted EPS76,850 69,909 77,046 70,126 
Non-GAAP Diluted EPS$0.09 $0.12 $0.18 $0.22 
__________________________
(1)Transaction and transformation-related costs include, when applicable, external deal costs, transaction-related professional fees, transaction-related retention bonuses, which are allocated proportionally across cost of revenue, engineering, research and development, sales and marketing and general and administrative expenses as well as other transaction-related costs including integration expenses consisting of outside professional and consulting services.
(2)Geographic reorganization includes expenses connected with military actions of Russia against Ukraine and the exit plan announced by the Company and includes travel and relocation-related expenses of employees from the aforementioned countries, severance payments, allowances as well as legal and professional fees related to geographic repositioning in various locations. These expenses are incremental to those expenses incurred prior to the crisis, clearly separable from normal operations, and not expected to recur once the crisis has subsided and operations return to normal.
(3)We implemented a restructuring plan during the first half of 2023. Our restructuring costs comprised of severance charges and respective taxes.
(4)Other (income)/expense, net consist primarily of gains and losses on foreign currency transactions, fair value adjustments, and other miscellaneous non-operating expenses, potential loss contingencies as well as other income consists primarily of interest on cash held at banks and returns on investments in money-market funds.
(5)Reflects the estimated tax impact of the non-GAAP adjustments presented in the table.
Key Components of Revenue and Expenses
Revenues
Grid Dynamics generates revenues by providing focused and complex services in the area of software engineering, development, integration, testing, and operations of digital services. Grid Dynamics provides services mainly on a time and materials basis and, to a much lesser extent, on a fixed-fee basis. While fixed-fee contracts currently represent not significant portion of overall revenue for the periods presented compared to time and material engagements, Grid Dynamics expects proportionate revenue from fixed-fee contracts to increase in future periods. On a time and materials basis, Grid Dynamics earns and recognizes revenue as hours and costs are incurred. On its current and future fixed fee contracts, Grid Dynamics earns and recognizes revenue as the work is performed, the monthly calculation of which is based upon actual labor hours incurred and level of effort expended throughout the duration of the contract. For both time and materials contracts and fixed fee contracts, hourly rates are typically determined based on the location and experience of Grid Dynamics personnel selected to perform the service and are negotiated for each contract or statement of work, as the case may be. For fixed fee contracts, the fixed fee generally remains constant for the contracted project period unless the customer directs a change in scope of project work or requests additional Grid Dynamics employees in excess of those scheduled for a specific project.



In select cases, Grid Dynamics offers volume discounts or early settlement discounts, which are recorded as contra-revenue items. Volume discounts apply once the customer reaches certain contractual spend thresholds. Early settlement discounts are issued contingent upon the timing of the payment from the customer. If there is uncertainty about project completion or receipt of payment for services provided, revenue is deferred until the uncertainty is sufficiently resolved.
Costs and Expenses
Cost of Revenues. Cost of revenue consists primarily of salaries and employee benefits, including performance bonuses and stock-based compensation, and travel expenses for client-serving personnel. Cost of revenue also includes depreciation and amortization expense related to client-serving activities.
Engineering, Research and Development. Engineering, research and development expenses consist mainly of salaries and employee benefits including performance bonuses and stock-based compensation for personnel engaged in the design and development of solutions. Engineering, research and development expenses also include depreciation and amortization expenses related to such activities. Engineering, research and development costs are expensed as incurred.
Sales and Marketing. Sales and marketing expenses consist primarily of expenses associated with promoting and selling Grid Dynamics’ services and consists mainly of salaries and employee benefits, including performance bonuses and stock-based compensation, marketing events, travel, as well as depreciation and amortization expenses related to such activities.
General and Administrative. General and administrative expenses consist primarily of administrative personnel and officers’ salaries and employee benefits including performance bonuses and stock-based compensation, legal and audit expenses, insurance, operating lease expenses (mainly facilities and vehicles) and other facility costs, workforce global mobility initiatives, restructuring and employee relocations cost (not in connection with customer projects), and depreciation and amortization expenses related to such activities. General and administrative expenses include a substantial majority of Grid Dynamics’ stock-based compensation costs for the financial periods discussed herein.
Provision for Income Taxes. Grid Dynamics follows the asset and liability method of accounting for income taxes, whereby deferred income taxes are recognized for the tax consequences of temporary differences between the financial statement carrying amounts and the tax basis of the assets and liabilities. The provision for income taxes reflects income earned and taxed in the various U.S. federal and state and non-U.S. jurisdictions. Jurisdictional tax law changes, increases or decreases in permanent differences between book and tax items, accruals, or adjustments of accruals for tax contingencies or valuation allowances, and the change in the mix of earnings from these taxing jurisdictions all affect the overall effective tax rate.



Results of Operations
The three and six months ended June 30, 2023 compared to the three and six months ended June 30, 2022
The following table sets forth a summary of Grid Dynamics’ consolidated results of operations for the interim periods indicated, and the changes between periods:
Three Months Ended
June 30,
Change
20232022DollarsPercentage
(in thousands, except percentages)
Revenues$77,342 $77,335 $7  %
Cost of revenues49,037 48,474 563 1.2 %
Gross profit28,305 28,861 (556)(1.9)%
Engineering, research, and development3,273 3,840 (567)(14.8)%
Sales and marketing5,963 5,132 831 16.2 %
General and administrative17,735 30,738 (13,003)(42.3)%
Total operating expense26,971 39,710 (12,739)(32.1)%
Income/(loss) from operations1,334 (10,849)12,183 (112.3)%
Other income/(expense), net3,008 (626)3,634 (580.5)%
Income/(loss) before income taxes4,342 (11,475)15,817 (137.8)%
Provision for income taxes1,715 1,711 0.2 %
Net income/(loss)$2,627 $(13,186)$15,813 (119.9)%

Six Months Ended
June 30,
Change
20232022DollarsPercentage
(in thousands, except percentages)
Revenues$157,422 $148,745 $8,677 5.8 %
Cost of revenues100,542 93,105 7,437 8.0 %
Gross profit56,880 55,640 1,240 2.2 %
Engineering, research, and development7,476 6,936 540 7.8 %
Sales and marketing11,597 9,347 2,250 24.1 %
General and administrative42,465 50,003 (7,538)(15.1)%
Total operating expense61,538 66,286 (4,748)(7.2)%
Income/(loss) from operations(4,658)(10,646)5,988 (56.2)%
Other income/(expense), net4,690 (1,326)6,016 (453.7)%
Income/(loss) before income taxes32 (11,972)12,004 (100.3)%
Provision for income taxes5,375 3,881 1,494 38.5 %
Net loss$(5,343)$(15,853)$10,510 (66.3)%



Revenues by Vertical. We assign our customers into one of our four main vertical markets or a group of various industries where we are increasing our presence, which we label as “Verticals”. The following table presents our revenues by vertical and revenues as a percentage of total revenues by vertical for the periods indicated:
Three Months Ended June 30,
2023% of revenue2022% of revenue
(in thousands, except percentages)
Retail$26,032 33.7 %$25,452 32.9 %
Technology, Media and Telecom24,096 31.2 %23,391 30.2 %
CPG/Manufacturing10,872 14.1 %16,090 20.8 %
Finance6,748 8.7 %5,049 6.5 %
Other9,594 12.3 %7,353 9.6 %
Total$77,342 100.0 %$77,335 100.0 %
Six Months Ended June 30,
2023% of revenue2022% of revenue
(in thousands, except percentages)
Retail$51,428 32.7 %$48,759 32.8 %
Technology, Media and Telecom50,907 32.3 %44,835 30.1 %
CPG/Manufacturing23,518 14.9 %31,069 20.9 %
Finance13,263 8.4 %9,576 6.4 %
Other18,306 11.7 %14,506 9.8 %
Total$157,422 100.0 %$148,745 100.0 %
Revenues. On a year-over-year basis, revenues remained flat during the second quarter of 2023 largely affected by macroeconomic conditions. On a year-to-date basis, revenue increased by $8.7 million or 5.8%, reaching $157.4 million. The year-over-year increase on a six-month basis, was driven by contributions from the recent acquisitions offset by decrease in organic business.
Cost of Revenues. Cost of revenues remained almost unchanged with a 1.2% increase in the three months ended June 30, 2023 over the same period last year. Cost of revenues on a year-to-date basis grew by $7.4 million, or 8.0% reaching $100.5 million compared to the same period of 2022 largely due to contributions from our recent acquisitions.
Gross Profit. The Company witnessed a slight decrease of 1.9% in gross profit for the second quarter of 2023 compared to the same period of last year. At the same time our gross profit for the first half of 2023 increased by $1.2 million reaching $56.9 million which is largely driven by higher revenues. Expressed as a percentage of revenues, our gross margin decreased slightly by 0.7% on a year-over-year basis and increased by 0.9% on a sequential basis.
Engineering, Research and Development. Engineering, research and development expenses decreased by $0.6 million, or 14.8% to $3.3 million in the three months ended June 30, 2023 as compared to the same period last year. During the first half of 2023 engineering, research and development costs increased by 7.8% to $7.5 million compared to $6.9 million recorded in the six months ended June 30, 2022. The year-over-year decrease on a three-month basis was largely due to timing of R&D initiatives. The year-over-year increase on a six-month basis was primarily due to increase in staffing and greater investments in customer delivery operations.
Sales and Marketing. Changes in sales and marketing expenses have a direct correlation with changes in revenues and follow the same trends. During three and six months ended June 30, 2023 sales and marketing expenses increased by $0.8 million and $2.3 million, respectively, as compared to the same period of 2022. Sales and marketing expenses as a percentage of revenue during the second quarter and the first half of 2023 increased by 1.1% in both periods. The changes were largely driven by increases in sales personnel and new sales initiatives.
General and Administrative. General and administrative expenses decreased from $30.7 million in the second quarter of 2022 to $17.7 million in 2023. The year-over-year decline on a three month basis was largely due to lower levels of the stock-based compensation expenses. On a year-to-date basis, general and administrative expenses decreased by 15.1% reaching $42.5



million compared to $50.0 million in the first half of 2022. This decrease was largely due to a combination of lower stock-based compensation and geographic reorganization expenses.
Other Income/(Expenses), Net. During the three and six months ended June 30, 2023 the Company generated $3.0 million and $4.7 million of other income, respectively, compared to other expenses of $0.6 million and $1.3 million recorded during the same periods of 2022. The increase on both three month and six month basis in 2023 in comparison to 2022, was driven by income generated by our money market funds which we started to receive during the third quarter of 2022 as well as change in fair value of contingent consideration related to Mutual Mobile acquisition.
Provision for Income Tax. During the three months ended June 30, 2023 we recognized a provision for income tax of $1.7 million compared to $1.7 million in the same period of 2022. During the first half of 2023 we recognized a provision for income tax of $5.4 million compared to $3.9 million during the same period of 2022. The difference in the tax provision was attributable mainly to Section 162(m) compensation deduction limitations and foreign inclusion adjustments.
Net Income/(Loss). During three and six months ended June 30, 2023, we recognized net income of $2.6 million and net loss of $5.3 million compared to net loss of $13.2 million and $15.9 million in the same periods of 2022 due to the reasons stated above.
Liquidity and Capital Resources
Grid Dynamics measures liquidity in terms of its ability to fund the cash requirements of its business operations, including working capital needs, capital expenditures, contractual obligations, and other commitments with cash flows from operations and other sources of funding. Grid Dynamics’ current liquidity needs relate mainly to compensation and benefits of Grid Dynamics’ employees and contractors and capital expenditures for computer hardware and office furniture. Grid Dynamics’ ability to expand and grow its business will depend on many factors including its capital expenditure needs and the evolution of its operating cash flows. Grid Dynamics may need more cash resources due to changed business conditions or other developments, including investments or acquisitions. Grid Dynamics believes that its current cash position on its balance sheet of $246.2 million as of June 30, 2023 is sufficient to fund its currently expected levels of operating, investing and financing expenditures for a period of twelve months from the date of this filing. However, if Grid Dynamics’ resources are insufficient to satisfy its cash requirements, it may need to seek additional equity or debt financing, which may be subject to conditions outside of Grid Dynamics’ control and may not be available on terms acceptable to Grid Dynamics’ management or at all.
The Company’s cash is held with high-quality financial institutions. Deposits held with banks may, at times, exceed the amount of insurance provided on such deposits. As of June 30, 2023 and December 31, 2022 Grid Dynamics had cash and cash equivalents amounting to $246.2 million and $256.7 million respectively. Of this amount, $21.3 million and $16.8 million, respectively, was held outside the United States. Cash balances held in Ukraine as of June 30, 2023 and December 31, 2022 equaled $3.9 million and $0.6 million, respectively. Cash held outside of the United States is used for the operational needs of the local entities and cash balances change with the expected operating needs of these entities. If we decide to remit funds from these countries to the United States in the future, whether in the form of inter-company dividends or otherwise, we may be subject to foreign withholding taxes. Additionally the Company holds cash deposits in countries where the banking sector remains periodically unstable, banking and other financial systems generally do not meet the banking standards of more developed markets, and bank deposits made by corporate entities are not insured. Such countries apart from Ukraine include Armenia, Moldova, Romania, Serbia, India, and Mexico. The Company places its cash with financial institutions considered stable in the region and conducts ongoing evaluations of the credit worthiness of the financial institutions with which it operates. However, a banking crisis, bankruptcy or insolvency of banks that process or hold the Company’s funds, may result in the loss of the Company’s deposits or adversely affect the Company’s ability to complete banking transactions, which could adversely affect the Company’s business and financial condition.
On March 15, 2022, we entered into a new agreement establishing a revolving credit facility with JPMorgan Chase Bank, N.A., as administrative agent for the lenders. See Note 8 to the condensed consolidated financial statements. As of June 30, 2023 we had no outstanding debt under the credit facility.




Cash Flows
The following table summarizes Grid Dynamics’ cash flows for the periods indicated:
Six Months Ended
June 30,
20232022
(in thousands)
Net cash provided by operating activities$22,579 $15,322 
Net cash used in investing activities$(21,583)$(4,213)
Net cash used in by financing activities$(13,447)$(4,390)
Effect of exchange rate changes on cash and cash equivalents$1,898 $(1,065)
Net increase/(decrease) in cash and cash equivalents$(10,553)$5,654 
Cash, cash equivalents (beginning of period)$256,729 $144,364 
Cash, cash equivalents (end of period)$246,176 $150,018 
Operating Activities. Net cash provided by operating activities for the six months ended June 30, 2023 increased by $7.3 million to $22.6 million from $15.3 million provided in the same period of 2022, driven by higher cash operating profit (before non-cash depreciation and amortization and stock-based compensation charges) accompanied by improved cash collections from customers.
Investing Activities. Net cash used in investing activities during the first half of 2023 primarily reflects the acquisition of NextSphere that resulted in a payment of $17.8 million net of cash acquired. Capital expenditures during six months of 2023 and 2022 remained relatively on the same level and comprised of capital expenditures for computer hardware, related equipment and software.
Financing Activities. Net cash used in financing activities in the six months ended June 30, 2023 was $13.4 million and reflected the tax withholding obligations due to issuance of shares in connection with vested awards that was $10.3 million higher compared to 2022. Cash used in financing activities during the six months ended June 30, 2022 also reflects payment of contingent consideration for Daxx acquisition.
Off-Balance Sheet Arrangements and Commitments
Except for its credit support for the letter of credit and balances on corporate credit cards, Grid Dynamics does not have any off-balance sheet arrangements of the kind required to be disclosed under SEC rules and does not have any off-balance sheet or contingent commitments, except as described above with respect to operating leases in Note 10.
Recently Adopted and Issued Accounting Pronouncements
Recently issued and adopted accounting pronouncements are described in Note 1 to Grid Dynamics’ condensed consolidated financial statements.
Item 3. Quantitative and Qualitative Disclosures About Market Risk
Grid Dynamics has in the past and may in the future be exposed to certain market and credit risks in the ordinary course of business, including exposure related to fluctuations in foreign currency rates, and on occasion and to a lesser extent, changes in interest rates and concentration of credit risk. In addition, Grid Dynamics’ international operations are subject to risks related to differing economic conditions, changes in political climate, differing tax structures, and other regulations and restrictions. See the section titled “Risk Factors” for additional information.
Foreign Currency Exchange Rate Risk
Grid Dynamics is exposed to foreign currency exchange transaction risk related to funding its non-US operations and to foreign currency translation risk related to certain of its subsidiaries’ cash balances that are denominated in currencies other than the U.S. dollar. In addition, Grid Dynamics’ profit margins are subject to volatility as a result of changes in foreign exchange rates. Grid Dynamics’ functional currency apart from the U.S. dollar includes EURO, British pounds, Mexican pesos, Moldovan leu and Indian rupees. When and where possible, Grid Dynamics seeks to match expenses of each entity to currencies in which



revenues are generated creating natural hedge. In future periods, Grid Dynamics may also become materially exposed to changes in the value of Serbian dinars and Moldovan leu against the U.S. dollar, due to the recent acquisitions and continuous expansion of operations.
In the three months ended June 30, 2023, approximately 41.4% of Grid Dynamics’ $76.0 million combined cost of revenue and total operating expenses were denominated in currencies other than the U.S. dollar. Comparatively, approximately 36.1% of Grid Dynamics’ $88.2 million of combined cost of revenue and total operating expenses were denominated in currencies other than the U.S. dollar in the three months ended June 30, 2022.
In the three months ended June 30, 2023:
a 10% decrease in the value of the Polish zloty against the U.S. dollar would have resulted in a $0.9 million increase in Grid Dynamics’ income from operations, while a 10% increase in the zloty’s value would have resulted in a $1.1 million decrease in income from operations.
a 10% decrease in the value of the British pounds against the U.S. dollar would have resulted in a $0.1 million decrease in Grid Dynamics’ income from operations, while a 10% increase in the pound’s value would have resulted in a $0.2 million increase in income from operations
a 10% decrease in the value of the Mexican pesos against the U.S. dollar would have resulted in a $0.3 million increase in Grid Dynamics’ income from operations, while a 10% increase in the pesos’ value would have resulted in a $0.4 million decrease in income from operations.
In the three months ended June 30, 2022:
a 10% decrease in the value of the Polish zloty against the U.S. dollar would have resulted in a $0.6 increase in Grid Dynamics’ income from operations, while a 10% increase in the zloty’s value would have resulted in a $0.5 decrease in income from operations.
a 10% decrease in the value of the British pounds against the U.S. dollar would have resulted in a $0.1 million increase in Grid Dynamics’ income from operations, while a 10% increase in the pound’s value would have resulted in a $0.1 million decrease in income from operations
a 10% decrease in the value of the Mexican pesos against the U.S. dollar would have resulted in a $0.2 million increase in Grid Dynamics’ income from operations, while a 10% increase in the pesos’ value would have resulted in a 0.2 million decrease in income from operations.
In the six months ended June 30, 2023, approximately 38.0% of Grid Dynamics’ $162.1 million combined cost of revenue and total operating expenses were denominated in currencies other than the U.S. dollar. Comparatively, approximately 38.1% of Grid Dynamics’ $159.4 million of combined cost of revenue and total operating expenses were denominated in currencies other than the U.S. dollar in the three months ended June 30, 2022.
In the six months ended June 30, 2023:
a 10% decrease in the value of the Polish zloty against the U.S. dollar would have resulted in a $1.7 million increase in Grid Dynamics’ income from operations, while a 10% increase in the zloty’s value would have resulted in a $2.1 million decrease in income from operations.
a 10% decrease in the value of the British pounds against the U.S. dollar would have resulted in a $0.4 million decrease in Grid Dynamics’ income from operations, while a 10% increase in the pound’s value would have resulted in a $0.3 million increase in income from operations
a 10% decrease in the value of the Mexican pesos against the U.S. dollar would have resulted in a $0.6 million increase in Grid Dynamics’ income from operations, while a 10% increase in the pesos’ value would have resulted in a $0.8 million decrease in income from operations.



In the six months ended June 30, 2022:
a 10% decrease in the value of the Polish zloty against the U.S. dollar would have resulted in a $1.1 million increase in Grid Dynamics’ income from operations, while a 10% increase in the zloty’s value would have resulted in a $0.9 million decrease in income from operations.
a 10% decrease in the value of the British pounds against the U.S. dollar would have resulted in a $0.2 million increase in Grid Dynamics’ income from operations, while a 10% increase in the pound’s value would have resulted in a $0.2 million decrease in income from operations
a 10% decrease in the value of the Mexican pesos against the U.S. dollar would have resulted in a $0.3 million increase in Grid Dynamics’ income from operations, while a 10% increase in the pesos’ value would have resulted in a $0.4 million decrease in income from operations.
Grid Dynamics analyzes sensitivity to the zloty, pound sterling and pesos separately because, in management’s experience, fluctuations in the value of these currencies against the U.S. dollar are frequently driven by distinct macroeconomic and geopolitical factors and have the largest effect on our results during the first quarter of 2023.
Grid Dynamics does not currently hedge its foreign currency exposure, although it seeks minimize it by limiting cash transfers to amounts necessary to fund subsidiary operating expenses for a short period, typically one week. Grid Dynamics’ management may evaluate new hedging strategies in future periods.
Item 4. Controls and Procedures
Evaluation of Disclosure Controls and Procedures
Our management, with the participation of our Chief Executive Officer and Chief Financial Officer, has evaluated the effectiveness of our disclosure controls and procedures (as such term is defined in Rules 13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934, as amended (the “Exchange Act”)) as of the end of the period covered by this quarterly report. Based on such evaluation, our Chief Executive Officer and Chief Financial Officer have concluded that, as of the end of such period, our disclosure controls and procedures were effective in recording, processing, summarizing and reporting on a timely basis, information required to be disclosed by us in the reports that we file or submit under the Exchange Act and were effective in ensuring that information required to be disclosed by us in the reports that we file or submit under the Exchange Act is accumulated and communicated to our management, including our Chief Executive Officer and Chief Financial Officer, as appropriate to allow timely decisions regarding required disclosure.
Changes in Internal Control Over Financial Reporting
Our management, including the CEO and CFO, confirmed there have been no changes in our internal control over financial reporting during the three months ended June 30, 2023, that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.
Inherent Limitations on Effectiveness of Controls
Our management, including our CEO and CFO, do not expect that our disclosure controls or our internal control over financial reporting will prevent all errors and all fraud. A control system, no matter how well conceived and operated, can provide only reasonable, not absolute, assurance that the objectives of the control system are met. Further, the design of a control system must reflect the fact that there are resource constraints, and the benefits of controls must be considered relative to their costs. Because of the inherent limitations in all control systems, no evaluation of controls can provide absolute assurance that all control issues and instances of fraud, if any, have been detected. These inherent limitations include the realities that judgments in decision-making can be faulty, and that breakdowns can occur because of a simple error or mistake. Additionally, controls can be circumvented by the individual acts of some persons, by collusion of two or more people or by management override of the controls. The design of any system of controls is also based in part upon certain assumptions about the likelihood of future events, and there can be no assurance that any design will succeed in achieving its stated goals under all potential future conditions; over time, controls may become inadequate because of changes in conditions, or the degree of compliance with policies or procedures may deteriorate. Because of the inherent limitations in a cost-effective control system, misstatements due to error or fraud may occur and not be detected.



PART II — OTHER INFORMATION
Item 1. Legal Proceedings
Although we may, from time to time, be involved in litigation and claims arising out of our operations in the normal course of business, we are not currently a party to any material legal proceeding. In addition, we are not aware of any material legal or governmental proceedings against us or contemplated to be brought against us. Future litigation may be necessary, among other things, to defend us or our customers by determining the scope, enforceability and validity of third-party proprietary rights or to establish our proprietary rights. The results of any litigation cannot be predicted with certainty and, regardless of the outcome, litigation can have an adverse impact on our company because of defense and settlement costs, diversion of management resources and other factors.
Item 1A. Risk Factors
This Quarterly Report on Form 10-Q contains forward-looking statements that are subject to risks and uncertainties that could cause actual results to differ materially from those projected. These risks and uncertainties include, but are not limited to, the risk factors set forth below. The risks and uncertainties described in this Quarterly Report on Form 10-Q are not the only ones we face. Additional risks and uncertainties not presently known to us or that we currently believe are immaterial may also affect our business. See the section titled “Special Note Regarding Forward-Looking Statements” of this Quarterly Report on Form 10-Q for a discussion of the forward-looking statements that are qualified by these risk factors. If any of these known or unknown risks or uncertainties actually occurs and have a material adverse effect on us, our business, financial condition and results of operations could be seriously harmed.
Summary of Risk Factors
Our business is subject to numerous risks and uncertainties that you should consider before investing in our company, as fully described below. The principal factors and uncertainties that make investing in our company risky include, among others:
We have a relatively short operating history and operate in a rapidly evolving industry, which makes it difficult to evaluate our future prospects and may increase the risk that we will not continue to be successful and may adversely impact our stock price.
We may be unable to effectively manage our growth or achieve anticipated growth, particularly as we expand into new geographies, which could place significant strain on our management personnel, systems and resources.
Our revenues have historically been highly dependent on a limited number of clients and industries that are affected by seasonal trends, and any decrease in demand for outsourced services in these industries may reduce our revenues and adversely affect our business, financial condition and results of operations.
We have incurred significant net losses in recent years, we expect to incur losses in the future and we may not be able to generate sufficient revenue to achieve and maintain profitability.
The impact of the military action in Ukraine has affected and may continue to affect our business.
Macroeconomic conditions, inflationary pressures, and the geopolitical climate could adversely affect our operating results and growth prospects.
Our revenues are highly dependent on clients primarily located in the U.S. Any economic downturn in the U.S. or in other parts of the world, including Europe, or disruptions in the credit markets may have a material adverse effect on our business, financial condition and results of operations.
We face intense competition.
Damage to our reputation may adversely impact our ability to generate and retain business.
Our failure to successfully attract, hire, develop, motivate and retain highly skilled personnel could have a significant adverse effect on our business, financial condition, and results of operations.
Our business operations may be severely disrupted if we lose the services of our senior executives and key employees.
Failure to adapt to changing technologies, methodologies, and evolving industry standards may have a material adverse effect on our business, financial condition, and results of operations.



Security breaches and incidents, system failures or errors, and other disruptions to our networks and systems, could result in unauthorized access to, or disclosure or other processing of, confidential information and expose us to liability, which would cause our business and reputation to suffer.
Undetected software design defects, errors or failures may result in loss of business or in liabilities that could have a material adverse effect on our reputation, business and results of operations.
War, terrorism, other acts of violence, or natural or manmade disasters may affect the markets in which we operate, our clients and our service delivery.
Our global business, especially in CIS and CEE countries, exposes us to significant legal, economic, tax and political risks.
Acquisitions, strategic investments, partnerships or alliances could be difficult to identify and integrate, divert the attention of management, disrupt our business, dilute stockholder value and adversely affect our financial condition and results of operations, we may not achieve the financial and strategic goals that were contemplated at the time of a transaction, and we may be exposed to claims, liabilities and disputes as a result of the transaction that may adversely impact our business, operating results and financial condition.
Risks Related to Our Business, Operations and Industry
We have a relatively short operating history and operate in a rapidly evolving industry, which makes it difficult to evaluate future prospects and may increase the risk that we will not continue to be successful and may adversely impact our stock price.
We were founded in 2006 and have a relatively short operating history in the technology services industry, which is competitive and continuously evolving, subject to rapidly changing demands and constant technological developments. As a result, success and performance metrics are difficult to predict and measure. Since services and technologies are rapidly evolving and each company within the industry can vary greatly in terms of the services it provides, its business model and its results of operations, it can be difficult to predict how any company’s services, including ours, will be received in the market.
While many Fortune 1000 enterprises, including our clients, have been willing to devote significant resources to incorporate emerging technologies and related market trends into their business models, they may not continue to spend any significant portion of their budgets on services like those provided by us in the future. Neither our past financial performance nor the past financial performance of any other company in the technology services industry is indicative of how we will fare financially in the future. Our future profits may vary substantially from those of other companies and our past profits, making an investment in us risky and speculative. If clients’ demand for our services declines as a result of economic conditions, market factors or shifts in the technology industry, our business, financial condition and results of operations would be adversely affected.
Our stock performance is highly dependent on our ability to successfully execute and grow the business. Consequently, our stock price may be adversely impacted by our inability to execute to our plan, our inability to meet or exceed forward looking financial forecasts, and our inability to achieve our stated short-term and long-term goals.
We may be unable to effectively manage our growth or achieve anticipated growth, particularly as we expand into new geographies, which could place significant strain on our management personnel, systems and resources.
Continued growth and expansion may increase challenges we face in recruiting, training and retaining sufficiently skilled professionals and management personnel, maintaining effective oversight of personnel and delivery centers, developing financial and management controls, coordinating effectively across geographies and business units, and preserving our culture and values. Failure to manage growth effectively could have a material adverse effect on the quality of the execution of our engagements, our ability to attract and retain IT professionals, as well as our business, financial condition and results of operations.
In addition, as we increase the size and complexity of projects that we undertake with clients, add new delivery sites, introduce new services or enter into new markets, we may face new market, technological, operational, compliance and administrative risks and challenges, including risks and challenges unfamiliar to us. We may not be able to mitigate these risks and challenges to achieve our anticipated growth or successfully execute large and complex projects, which could materially adversely affect our business, prospects, financial condition and results of operations.
All of these risks are heightened as we are currently rapidly expanding geographically, including through acquisitions. During 2022, we announced our expansion to a new European hub with an office in Zug, Switzerland, a new engineering office in



Yerevan, Armenia, Romania, and expansion in India and Jamaica. As we grow, we continue to explore other geographies for expansion. This may result in higher costs affecting our profitability levels. Furthermore, as we expand to new geographies, we may not be able to sustain the level of competitiveness, including high quality and low cost, of our workforce that has enabled us to succeed at our customers. Additionally, we do not have a long history of operating our business, including recruiting, training and retaining employees, in these new geographies, and our competitiveness may decline if we are not able to effectively manage these risks.
Our revenues have historically been highly dependent on a limited number of clients and industries and any decrease in demand for outsourced services in these industries may reduce our revenues and adversely affect our business, financial condition and results of operations.
Our revenues have historically been highly dependent on a limited number of clients. In the first half of 2023 and 2022, we generated a significant portion of our revenues from our largest clients. For example, we generated approximately 58.1% and 59.0% of our revenue from our 10 largest clients during the six months ended June 30, 2023 and 2022, respectively. During the six months ended June 30, 2023 and 2022 we had one and two clients, respectively, that each accounted for greater than 10% of our revenue for the periods indicated. Since a substantial portion of our revenue is derived through time and materials contracts, which are mostly short-term in nature and cancellable by our customers on limited notice, a major client in one year may not provide the same level of revenues for us in any subsequent year. In addition, a significant portion of our revenues is concentrated in our top three industry verticals: technology, retail and CPG/manufacturing. Our growth largely depends on our ability to diversify the industries in which we serve, continued demand for our services from clients in these industry verticals and other industries that we may target in the future, as well as on trends in these industries to outsource the type of services we provide.
Our business is also subject to seasonal trends that impact our revenues and profitability between quarters, driven by the timing of holidays in the countries in which we operate and the U.S. retail cycle, which drives the behavior of several of our retail clients. Excluding the impact of growth in our book of business, we have historically recorded higher revenue and gross profit in the second and third quarters of each year compared to the first and fourth quarters of each year. In addition, many of our retail sector clients tend to slow their discretionary spending during the holiday sale season, which typically lasts from late November (before Thanksgiving) through late December (after Christmas). Such seasonal trends may cause reductions in our profitability and profit margins during periods affected.  
A reduction in demand for our services and solutions caused by seasonal trends, downturns in any of our targeted industries, a slowdown or reversal of the trend to outsource IT services in any of these industries or the introduction of regulations that restrict or discourage companies from outsourcing may result in a decrease in the demand for our services and could have a material adverse effect on our business, financial condition and results of operations.
We have incurred significant net losses in recent years, we expect to incur losses in the future and we may not be able to generate sufficient revenue to achieve and maintain profitability.
We have incurred significant net losses in recent periods, including net losses of $5.3 million for the six months ended June 30, 2023 and $15.9 million for the six months ended 2022. We may continue to incur significant losses in the future for a number of reasons, including unforeseen and high-levels of operating expenses, expansion into higher-cost geographies, increased costs due to wage inflation, and costs related to the Russian invasion of Ukraine.
We anticipate that our operating expenses will increase in the foreseeable future as we invest in our business for growth. This includes, but is not limited to acquisition related integration costs, costs associated with maintaining compliance as a public company, and increased spending related to sales, marketing, and R&D. These increased expenditures may make it more difficult to achieve and maintain profitability. In addition, our efforts to grow our business may be more expensive than we expect, and we may not be able to generate sufficient revenue to offset increased operating expenses. If we are required to reduce our expenses, our growth strategy could be materially affected. We will need to generate and sustain significant revenue levels in future periods in order to become profitable, and, even if we do, we may not be able to maintain or increase our level of profitability.
Accordingly, we cannot assure you that we will achieve sustainable operating profits as we continue to expand our business and infrastructure, further develop our marketing efforts, and otherwise implement our growth initiatives. Any failure to increase our revenue sufficiently to keep pace with our investments and other expenses could prevent us from achieving and maintaining profitability or positive cash flow on a consistent basis. If we are unable to successfully address these risks and challenges as we encounter them, our business, results of operations and financial condition would be adversely affected. In the event that we fail to achieve or maintain profitability, this could negatively impact the value of our common stock.



The impact of the military action in Ukraine has affected and may continue to affect our business.
On February 24, 2022, Russian forces launched significant military action against Ukraine. The conflict has impacted our business and may continue to pose risks to our business. The impact to Ukraine as well as actions taken by other countries, including new and stricter sanctions imposed by US, European Union, United Kingdom, Canada. and other countries against officials, individuals, regions, and industries in Russia and Ukraine, and actions taken by Russia in response to such sanctions, and each country’s potential response to such sanctions, tensions, and military actions could have a material adverse effect on our operations. For example, in response to increased sanctions, Russia could attempt to take control of assets in Ukraine of companies registered in the United States, such as Grid Dynamics. Any such material adverse effect from the conflict and enhanced sanctions activity may disrupt our delivery of services, impair our ability to complete financial or banking transactions, cause us to shift all or portions of our work occurring in the region to other countries, and may restrict our ability to engage in certain projects in the region or involving certain customers in the region.
We are actively monitoring the security of our personnel and the stability of our infrastructure, including communications and internet availability. We executed our business continuity plan and have adapted to developments as they occur to protect the safety of our people and handle potential impacts to our delivery infrastructure. This includes moving affected employees to safer locations in Western Ukraine and, where permissible, outside Ukraine, and reallocating work to other geographies within our global footprint. We are actively working with our personnel and with our customers to meet their needs and to ensure smooth delivery of services.
In April 2022, Grid Dynamics also announced it would cease remaining operations in the Russian Federation. We have worked towards the safe and expedient relocation of willing employees and ongoing management of projects to eliminate delivery impact to clients. In addition we announced our expansion to a new European hub with an office in Zug, Switzerland, a new engineering office in Yerevan, Armenia. Romania and workforce expansion in India and Jamaica. As of June 2023, our former subsidiary in Russia is liquidated and are not performing any client services from Russia.
We have no way to predict the progress or outcome of the military action in Ukraine, as the conflict and government reactions continue to develop and are beyond our control. Prolonged unrest, military activities, expansion of hostilities, or broad-based sanctions, could have a material adverse effect on our operations and business outlook. In addition, the current geopolitical situations in Armenia and separately in Serbia create additional uncertainty in the region, and could adversely affect our business.
The information contained in this section is accurate as of the date hereof, but may become outdated due to changing circumstances beyond our present awareness or control.
Macroeconomic conditions, inflationary pressures, and the geopolitical climate could adversely affect our operating results and growth prospects.
We operate globally and as a result our business, revenues and profitability are impacted by global macroeconomic conditions. The success of our activities is affected by general economic and market conditions, including, among others, inflation rate fluctuations, interest rates, tax rates, economic uncertainty, fluctuations in consumer spending, political instability, changes in laws, and trade barriers and sanctions. Recently, inflation rates in the US have increased to levels not seen in several years, and there are concerns of a recession. Such economic volatility could adversely affect our clients' business, as well as our business, financial condition, results of operations and cash flows, and future market disruptions could negatively impact us. Because of our concentration on our clients’ capital-intensive digital transformation programs, our clients, and therefore our business, may be particularly sensitive to rising interest rates. Geopolitical destabilization could continue to impact global currency exchange rates, commodity prices, trade and movement of resources, which may adversely affect the technology spending of our clients and potential clients.
Our revenues are highly dependent on clients primarily located in the U.S. Any economic downturn in the U.S. or in other parts of the world, including Europe, or disruptions in the credit markets may have a material adverse effect on our business, financial condition and results of operations.
The IT services industry is particularly sensitive to the economic environment and tends to decline during general economic downturns. We derive the majority of our revenues from clients in the U.S. In the event of an economic downturn in the U.S. or in other parts of the world, including Europe, our existing and prospective clients may reduce or postpone their technology spending significantly, which may in turn lower the demand for our services and may have a material adverse effect on our business, financial condition and results of operations. In addition, if a disruption in the credit markets were to occur, it could



pose a risk to our business if clients or vendors are unable to obtain financing to meet payment or delivery obligations to us or if we are unable to obtain necessary financing.
We face intense competition.
The market for technology and IT services is highly competitive and subject to rapid change and evolving industry standards and we expect competition to persist and intensify. We face competition from other offshore IT services providers in outsourcing destinations with low wage costs such as India, China, CEE countries and Latin America, as well as competition from large, global consulting and outsourcing firms and in-house IT departments of large corporations. Industry clients tend to engage multiple IT services providers instead of using an exclusive IT services provider, which could reduce our revenues to the extent that our clients obtain services from competing companies. Industry clients may prefer IT services providers that have more locations or that are based in countries that are more cost-competitive, stable and/or secure than some of the emerging markets in which we operate.
Our primary competitors include global consulting and traditional IT service providers such as Accenture plc, Capgemini SE, Cognizant Technology Solutions Corporation, Infosys Technologies, Wipro, and digital transformation providers such as EPAM Systems, Inc., Globant S.A., Endava plc, Thoughtworks Holding, Inc., and Slalom Consulting Inc. Many of our present and potential competitors have substantially greater financial, marketing and technical resources, and name recognition than we do. Therefore, they may be able to compete more aggressively on pricing or devote greater resources to the development and promotion of technology and IT services and we may be unable to retain our clients while competing against such competitors. Increased competition as well as our inability to compete successfully may have a material adverse effect on our business, prospects, financial condition and results of operations.
Damage to our reputation may adversely impact our ability to generate and retain business.
Since our business involves providing tailored services and solutions to clients, we believe that our corporate reputation is a significant factor when an existing or prospective client is evaluating whether to engage our services as opposed to those of our competitors. In addition, we believe that our brand name and reputation also play an important role in recruiting, hiring and retaining highly skilled personnel.
However, our brand name and reputation is potentially susceptible to damage by factors beyond our control, including actions or statements made by current or former clients and employees, competitors, vendors, adversaries in legal proceedings, government regulators and the media. There is a risk that negative information about us, even if untrue, could adversely affect our business. Any damage to our reputation could be challenging to repair, could make potential or existing clients reluctant to select us for new engagements, could adversely affect our recruitment and retention efforts, and could also reduce investor confidence.
Our failure to successfully attract, hire, develop, motivate and retain highly skilled personnel could have a significant adverse effect on our business, financial condition, and results of operations.
Our continued growth and success and operational efficiency is dependent on our ability to attract, hire, develop, motivate and retain highly skilled personnel, including IT engineers and other technical personnel, in the geographically diverse locations in which we operate and into which we are expanding. Competition for highly skilled IT professionals is intense and as a consequence, we may witness increasing challenges around employee retention, talent shortages, and attrition rates. While our management targets a voluntary attrition rate (expressed as a percentage) no higher than in the low-twenties, the significant market demand for highly skilled IT personnel and competitors’ activities may induce our qualified personnel to leave and make it more difficult for us to recruit new employees with suitable knowledge, experience and professional qualifications. High attrition rates of IT personnel would increase our operating costs, including hiring and training costs, and could have an adverse effect on our ability to complete existing contracts in a timely manner, meet client objectives and expand our business. Failure to attract, hire, develop, motivate and retain personnel with the skills necessary to serve our clients could decrease our ability to meet and develop ongoing and future business and could materially adversely affect our business, financial condition and results of operations.
Our business operations may be severely disrupted if we lose the services of our senior executives and key employees.
Our success depends substantially upon the continued services of our senior executives and other key employees. If we lose the services of one or more of such senior executives or key employees, our business operations can be disrupted, and we may not be able to replace them easily or at all. In addition, competition for senior executives and key personnel in our industry is



intense, and we may be unable to retain such personnel or attract and retain such personnel in the future, in which case our business may be severely disrupted.
Failure to adapt to changing technologies, methodologies, and evolving industry standards may have a material adverse effect on our business, financial condition, and results of operations.
We operate in an industry characterized by rapidly changing technologies, methodologies and evolving industry standards. Our future success depends in part upon our ability to anticipate developments in our industry, enhance our existing services and to develop and introduce new services to keep pace with such changes and developments and to meet changing client needs. 
Development and introduction of new services and products is expected to become increasingly complex and expensive, involve a significant commitment of time and resources, and subject to a number of risks and challenges, including:
difficulty or cost in updating services, applications, tools and software and in developing new services quickly enough to meet clients’ needs;
difficulty or cost in making some features of software work effectively and securely over the internet or with new or changed operating systems;
difficulty or cost in updating software and services to keep pace with evolving industry standards, methodologies, regulatory and other developments in the industries where our clients operate; and
difficulty or cost in maintaining a high level of quality and reliability as we implement new technologies and methodologies.
We may not be successful in anticipating or responding to these developments in a timely manner, and even if we do so, the services, technologies or methodologies we develop or implement may not be successful in the marketplace. Furthermore, services, technologies or methodologies that are developed by competitors may render our services non-competitive or obsolete. Our failure to adapt and enhance our existing services and to develop and introduce new services to promptly address the needs of our clients may have a material adverse effect on our business, financial condition and results of operations.
Security breaches and incidents, system failures or errors, and other disruptions to our networks and systems could result in unauthorized access to, or disclosure or other processing of, confidential information and expose us to liability, which would cause our business and reputation to suffer.
We often have access to, or are required to collect, process, transmit, store, or otherwise process, sensitive or confidential client and customer data, including intellectual property, proprietary business information of Grid Dynamics and our clients, and personal information of our clients, customers, employees, contractors, service providers, and others. We use our data centers and networks, and certain networks and other facilities and equipment of our contractors and service providers, for these purposes. Despite our security measures, our information technology and infrastructure may be vulnerable to attacks and disruptions by hackers or other third parties, the introduction of ransomware or other malicious code, or otherwise may be breached or otherwise subject to security incidents or compromises due to human error, phishing attacks, social engineering, zero-day vulnerabilities, malfeasance or other disruptions. Because of increases in the number of our personnel and our contractors’ and service providers’ personnel working remotely, we face increased risks of such attacks and disruptions that may affect our systems and networks or those of our clients, contractors, and service providers. Increased risks of such attacks and disruptions, including a heightened risk of potential cyberattacks by state actors also exist because of Russia's significant military action against Ukraine. Such risks could increase as we expand geographically. Any such breach, incident or disruption could compromise our data centers, networks and other equipment and the information stored or processed there could be accessed, disclosed, altered, misappropriated, lost, stolen, rendered unavailable, or otherwise processed without authorization. In addition, any failure or security breach or incident in a client’s system relating to the services we provide could also result in loss or misappropriation of, or unauthorized access, alteration, use, acquisition, disclosure, or other processing of sensitive or confidential information, and may result in a perception that we or our contractors or service providers caused such an incident, even if our and our contractors’ and service providers' networks and other facilities and equipment were not compromised. Although we maintain industry standard information security controls, including supply chain security verification, anti-phishing training and testing, and vulnerability management consistent with our ISO27001 certification, no safeguard or combination of safeguards can prevent all incidents from happening.
Our contractors and service providers face similar risks with respect to their facilities and networks used by us, and they also may suffer outages, disruptions, and security incidents and breaches. We cannot guarantee that our or our third-party vendors and service providers’ systems and networks have not been breached or otherwise compromised or that they do not contain any



exploitable vulnerabilities, defects or bugs that could result in a breach of or disruption to our systems and networks or the systems and networks of third parties that support us and our services. Breaches and security incidents suffered by us and our contractors and service providers may remain undetected for an extended period. Any such breach, disruption or other circumstance leading to loss, alteration, misappropriation, or unauthorized use, access, acquisition, disclosure, or other processing of sensitive or confidential client or customer data suffered by us or our contractors or service providers, or the perception that any may have occurred, could expose us to claims, litigation, and liability, regulatory investigations and proceedings, cause us to lose clients and revenue, disrupt our operations and the services provided to clients, damage our reputation, cause a loss of confidence in our products and services, require us to expend significant resources designed to protect against further breaches and incidents and to rectify problems caused by these events, and result in significant financial and other potential losses.
Our errors and omissions insurance covering certain damages and expenses may not be sufficient to compensate for all liability. Although we maintain insurance for liabilities incurred as a result of certain security-related damages, we cannot be certain that our coverage will be adequate for liabilities actually incurred, that insurance will continue to be available to us on economically reasonable terms, or at all, or that any insurer will not deny coverage as to any future claim. The successful assertion of one or more large claims against us that exceeds available insurance coverage, or the occurrence of changes in our insurance policies, including premium increases or the imposition of large deductible or co-insurance requirements, could have a material adverse effect on our business, including our financial condition, results of operations, and reputation.
Undetected software design defects, errors or failures may result in loss of business or in liabilities that could have a material adverse effect on our reputation, business and results of operations.
Our services involve developing software solutions for our clients and we may be required to make certain representations and warranties to our clients regarding the quality and functionality of our software. Given that our software solutions have a high degree of technological complexity, they could contain design defects or errors that are difficult to detect or correct. We cannot provide assurances that, despite testing by us, errors or defects will not be found in our software solutions. Any such errors or defects could result in litigation, other claims for damages against us, the loss of current clients and loss of, or delay in, revenues, loss of market share, a failure to attract new clients or achieve market acceptance, diversion of development resources, increased support or service costs, as well as reputational harm and thus could have a material adverse effect on our reputation, business, prospects, financial condition and results of operations.
We do not have long-term commitments from our clients, and our clients may terminate contracts before completion or choose not to renew contracts.
Our clients are generally not obligated for any long-term commitments to us. Although a substantial majority of our revenues are generated from repeated business, which we define as revenues from a client who also contributed to our revenues during the prior year, our engagements with our clients are typically for projects that are singular in nature. In addition, our clients can terminate many of our master services agreements and work orders with or without cause, and in most cases without any cancellation charge. Therefore, we must seek to obtain new engagements when our current engagements are successfully completed or are terminated as well as maintain relationships with existing clients and secure new clients to expand our business.
There are a number of factors relating to our clients that are outside of our control which might lead them to terminate a contract or project with us, including:
financial difficulties for the client;
a change in strategic priorities, resulting in elimination of the impetus for the project or a reduced level of technology spending;
a change in outsourcing strategy resulting in moving more work to the client’s in-house technology departments or to our competitors;
the replacement by our clients of existing software with packaged software supported by licensors;
mergers and acquisitions or significant corporate restructuring; and
changes in the macro-economic environment resulting in weak demand at our customers' business.
Failure to perform or observe any contractual obligations could result in cancellation or non-renewal of a contract, which could cause us to experience a higher than expected number of unassigned employees and an increase in our cost of revenues as a percentage of revenues, until we are able to reduce or reallocate our headcount. The ability of our clients to terminate



agreements makes our future revenues uncertain. We may not be able to replace any client that elects to terminate or not renew its contract with us, which could materially adversely affect our revenues and thus our results of operations.
In addition, some of our agreements specify that if a change of control of our company occurs during the term of the agreement, the client has the right to terminate the agreement. If any future event triggers any change-of- control provision in our client contracts, these master services agreements may be terminated, which would result in loss of revenues.
Failure to successfully deliver contracted services or causing disruptions to clients’ businesses may have a material adverse effect on our reputation, business, financial condition, and results of operations.
Our business is dependent on our ability to successfully deliver contracted services in a timely manner. Any partial or complete failure of our equipment or systems, or any major disruption to basic infrastructure like power and telecommunications in the locations in which we operate, could impede our ability to provide contracted services to our clients. In addition, if our professionals make errors in the course of delivering services to our clients or fail to consistently meet the service requirements of a client, these errors or failures could disrupt the client’s business. Any failure to successfully deliver contracted services or causing disruptions to a client’s business, including the occurrence of any failure in a client’s system or breach of security relating to the services provided by us, may expose us to substantial liabilities and have a material adverse effect on our reputation, business, financial condition and results of operations.
Additionally, our clients may perform audits or require us to perform audits and provide audit reports with respect to the IT and financial controls and procedures that we use in the performance of services for our clients. Our ability to acquire new clients and retain existing clients may be adversely affected and our reputation could be harmed if we receive a qualified opinion, or if we cannot obtain an unqualified opinion in a timely manner, with respect to our controls and procedures in connection with any such audit. We could also incur liability if our controls and procedures, or the controls and procedures we manage for a client, were to result in an internal control failure or impair our client’s ability to comply with its own internal control requirements. If we or our partners fail to meet our contractual obligations or otherwise breach obligations to our clients, we could be subject to legal liability, which may have a material and adverse effect on our reputation, business, financial condition, and results of operations.
We rely on software, hardware and SaaS technologies from third parties that may be difficult to replace or that may cause errors or defects in, or failures of, our services or solutions.
We rely on software and hardware from various third parties as well as hosted Software as a Service (“SaaS”) applications from third parties to deliver our services and solutions. If any of these software, hardware or SaaS applications become unavailable due to loss of license, extended outages, interruptions, or because they are no longer available on commercially reasonable terms, there may be delays in the provisioning of our services until equivalent technology is either developed by us, or, if available, is identified, obtained and integrated, which could increase our expenses or otherwise harm our business. Furthermore, any errors or defects in or failures of third-party software, hardware or SaaS applications could result in errors or defects in or failures of our services and solutions, which could be costly to correct and have an adverse effect on our reputation, business, financial condition and results of operations.
Existing insurance coverage and limitation of liability provisions in service contracts may be inadequate to protect us against losses.
We maintain certain insurance coverage, including professional liability insurance, director and officer insurance, property insurance for certain of our facilities and equipment, and business interruption insurance for certain of our operations. However, we do not insure for all risks in our operations and if any claims for injury are brought against us, or if we experience any business disruption, litigation or natural disaster, we might incur substantial costs and diversion of resources.
Most of the agreements we have entered into with our clients require us to purchase and maintain specified insurance coverage during the terms of the agreements, including commercial general insurance or public liability insurance, umbrella insurance, product liability insurance, and workers’ compensation insurance. Some of these types of insurance are not available on reasonable terms or at all in some countries in which we operate.
Our liability for breach of our obligations is in some cases limited under client contracts. Such limitations may be unenforceable or otherwise may not protect us from liability for damages. In addition, our existing contracts may not limit certain liabilities, such as claims of third parties for which we may be required to indemnify our clients. The successful assertion of one or more large claims against us in amounts greater than those covered by our current insurance policies could materially adversely affect



our business, financial condition and results of operations. Even if such assertions against us are unsuccessful, we may incur reputational harm and substantial legal fees.
If we are not able to maintain an effective system of internal control over financial reporting, current and potential investors could lose confidence in our financial reporting, which could harm our business and have an adverse effect on our stock price. We cannot provide assurances that material weaknesses, or significant deficiencies, will not occur in the future.
Any failure to maintain effective internal controls over our financial reporting could materially and adversely affect us. Section 404 of the Sarbanes-Oxley Act requires us to include in our annual reports on Form 10-K an assessment by management of the effectiveness of our internal controls over financial reporting. In addition, we are now required to have our independent public accounting firm attest to and report on management’s assessment of the effectiveness of our internal control over financial reporting because we ceased to qualify as an “emerging growth company” under the Jumpstart Our Business Startups Act (the “JOBS Act”) as of December 31, 2022. In the future, if we are unable to conclude that we have effective internal control over financial reporting or, if our independent auditors are unable to provide us with an attestation and an unqualified report as to the effectiveness of our internal control over financial reporting, investors could lose confidence in the reliability of our financial statements, which could result in a decrease in the value of our securities.
If material weaknesses or significant deficiencies in internal controls are discovered in the future, they may adversely affect our ability to record, process, summarize and report financial information in a timely and accurate manner and, as a result, our financial statements may contain material misstatements or omissions.
Our global business, especially in CIS and CEE countries, exposes us to significant legal, economic, tax and political risks.
We have significant operations in certain emerging market economies, and are expanding into other countries, which creates legal, economic, tax and political risks. Risks inherent in conducting international operations include:
less established legal systems and legal ambiguities, inconsistencies and anomalies;
changes in laws and regulations;
application and imposition of protective legislation and regulations relating to import or export, including tariffs, quotas and other trade protection measures;
difficulties in enforcing intellectual property and/or contractual rights;
bureaucratic obstacles and corruption;
compliance with a wide variety of foreign laws, including those relating to privacy data protection and cybersecurity;
restrictions on the repatriation of dividends or profits;
expropriation or nationalization of property;
restrictions on currency convertibility and exchange controls;
fluctuations in currency exchange rates;
potentially adverse tax consequences;
competition from companies with more experience in a particular country or with international operations;
civil strife;
unstable political and military situations; and
overall foreign policy and variability of foreign economic conditions, including the effects of the COVID-19 pandemic.
The legal systems of Ukraine, Poland, Serbia, India, Mexico, Moldova, Romania and other countries are often beset by legal ambiguities as well as inconsistencies and anomalies due to the relatively recent enactment of many laws that may not always coincide with market developments. Furthermore, legal and bureaucratic obstacles and corruption exist to varying degrees in each of these countries. In such environments, our competitors may receive preferential treatment from governments, potentially giving them a competitive advantage. Governments may also revise existing contract rules and regulations or adopt new ones at any time and for any reason, and government officials may apply contradictory or ambiguous laws or regulations in ways that could materially adversely affect our business and operations in such countries. Any of these changes could impair our ability to obtain new contracts or renew or enforce contracts under which we currently provide services or to which we are a party. Any new contracting methods could be costly or administratively difficult for us to implement, which could materially



adversely affect our business and operations. We cannot guarantee that regulators, judicial authorities or third parties in Ukraine, Poland, Serbia, India, Mexico, Moldova, Romania or other countries will not challenge our (including our subsidiaries’) compliance with applicable laws, decrees and regulations. In addition to the foregoing, selective or arbitrary government actions may include withdrawal of licenses, sudden and unexpected tax audits, criminal prosecutions and civil actions, all of which could have a material adverse effect on our business, financial condition and results of operations.
The banking and other financial systems in certain Commonwealth of Independent States (“CIS”) and CEE countries where we operate remain subject to periodic instability and generally do not meet the banking standards of more developed markets. Armed conflict, or the threat of armed conflict, including the significant military action against Ukraine launched by Russia, as well as sanctions targeting banks in the region in response to such military action, could contribute to banking challenges or a banking crisis in these countries. Such events, or a financial crisis or the bankruptcy or insolvency of banks through which we receive, or with which we hold, funds may result in the loss of our deposits or adversely affect our ability to complete banking transactions in that region, which could materially adversely affect our business and financial condition.
Furthermore, existing tensions and the emergence of new or escalated tensions in CIS and CEE countries, including the significant military action against Ukraine launched by Russia, has exacerbated and could further exacerbate tensions between such countries and the U.S. Such tensions, concerns regarding information security, and actual and potential imposition of additional sanctions by the U.S. and other countries, or responses by Russia to such additional sanctions, may discourage existing or prospective clients to engage our services, have a negative effect on our ability to develop or maintain our operations in the countries where we currently operate, and disrupt our ability to attract, hire and retain employees. The occurrence of any such event may have a material adverse effect on our business, financial condition and results of operations.
As a result of our acquisitions of Tacit in May 2021, Mutual Mobile in December 2022 and NextSphere in April 2023, we have acquired operations in Moldova, Mexico and India respectively. The laws and regulations in Mexico and India to which we have become subject thereby, and interpretations thereof, may change, sometimes substantially, as a result of a variety of factors beyond our control, including political, economic, regulatory or social events. In Mexico, as a result of amendments in May 2019 to the Mexican Federal Labor Law (Ley Federal del Trabajo) and other related regulations, among other things, new labor authorities and courts were created, new bargaining procedures were implemented and provisions related to employees’ freedom of association and organization, collective bargaining agreements, and rules against labor discrimination were issued or amended. We cannot assure you that these changes will not lead to an increase in litigation, labor activism or increasingly contentious labor relations, which in turn may adversely affect our business, financial condition, results of operations and prospects, particularly in Mexico. These and any other policies, laws and regulations which are further adopted could result in a deterioration of investment sentiment, political and economic uncertainty, and increased costs for our business, which may in turn have a material adverse effect on our business, financial condition, liquidity and results of operations.
Our effective tax rate could be adversely affected by several factors.
We conduct business globally and file income tax returns in multiple jurisdictions. Our effective tax rate could be materially adversely affected by several factors, including changes in the amount of income taxed by, or allocated to, the various jurisdictions in which we operate that have differing statutory tax rates; changing tax laws, regulations and interpretations of such tax laws in multiple jurisdictions; and the resolution of issues arising from tax audits or examinations and any related interest or penalties. In particular, there have been significant changes to the taxation systems in CEE countries in recent years as the authorities have gradually replaced or introduced new legislation regulating the application of major taxes such as corporate income tax, value-added tax, corporate property tax, personal income taxes and payroll taxes. The Organization for Economic Cooperation and Development has made a number of proposals, including implementing a new global minimum effective corporate tax rate of 15% for large multinational companies and rules that would result in the reallocation of certain profits to market jurisdictions where customers and users are located. Furthermore, any significant changes to U. S. tax law could materially adversely affect our effective tax rate. The recently enacted Inflation Reduction Act includes, among other changes, a 1% excise tax on certain stock repurchases.
The determination of our provision for income taxes and other tax liabilities requires estimation, judgment and calculations where the ultimate tax determination may not be certain. Our determination of tax liability is always subject to review or examination by authorities in various jurisdictions. If a tax authority in any jurisdiction reviews any of our tax returns and proposes an adjustment, including a determination that the transfer prices and terms we have applied are not appropriate, such an adjustment could have an adverse effect on our business, financial condition and results of operations.
We are unable to predict what tax reforms may be proposed or enacted in the future or what effect such changes would have on our business, but such changes, to the extent they are brought into tax legislation, regulations, policies or practices in jurisdictions in which we operate, could increase the estimated tax liability that we have expensed to date and paid or accrued



on our balance sheets, and otherwise affect our financial position, future results of operations, cash flows in a particular period and overall or effective tax rates in the future in countries where we have operations, reduce post-tax returns to our stockholders and increase the complexity, burden and cost of tax compliance.
There may be adverse tax and employment law consequences if the independent contractor status of some of our personnel or the exempt status of our employees is successfully challenged.
Certain of our personnel are retained as independent contractors. The criteria to determine whether an individual is considered an independent contractor or an employee are typically fact intensive and vary by jurisdiction, as can the interpretation of the applicable laws. If a government authority or court makes any adverse determination with respect to some or all of our independent contractors, we could incur significant costs, including for prior periods, in respect of tax withholding, social security taxes or payments, workers’ compensation and unemployment contributions, and recordkeeping, or we may be required to modify our business model, any of which could materially adversely affect our business, financial condition and results of operations.
Global mobility of employees may potentially create additional tax liabilities for us in different jurisdictions.
In performing services to clients, our employees have been and may be required to travel to various locations. Depending on the length of the required travel and the nature of employees’ activities the tax implications of travel arrangements vary, with generally more extensive tax consequences in cases of longer travel. Such tax consequences mainly include payroll tax liabilities related to employee compensation and, in cases envisaged by international tax legislation, taxation of profits generated by employees during their time of travel.
We have internal procedures, policies and systems, including an internal mobility program, for monitoring our tax liabilities arising in connection with the business travel. However, considering that the tax authorities worldwide are paying closer attention to global mobility issues, our operations may be adversely affected by additional tax charges related to the activity of our mobile employees. These risks may also affect us as we are relocating employees from Ukraine to other locations.
Tax authorities may disagree with our positions and conclusions regarding certain tax positions, or may apply existing rules in an arbitrary or unforeseen manner, resulting in unanticipated costs, taxes or non-realization of expected benefits.
A tax authority may disagree with tax positions that we have taken, which could result in increased tax liabilities. For example, a tax authority could challenge our allocation of income by tax jurisdiction and the amounts paid between our affiliated companies pursuant to our intercompany arrangements and transfer pricing policies, including methodologies for valuing developed technology and amounts paid with respect to our intellectual property development.
A tax authority may take the position that material income tax liabilities, interest and penalties are payable by us, where there has been a technical violation of contradictory laws and regulations that are relatively new and have not been subject to extensive review or interpretation, in which case we expect that we might contest such assessment. High-profile companies can be particularly vulnerable to aggressive application of unclear requirements. Many companies must negotiate their tax bills with tax inspectors who may demand higher taxes than applicable law appears to provide. Contesting such an assessment may be lengthy and costly and if we were unsuccessful in disputing the assessment, the implications could increase our anticipated effective tax rate, where applicable.
Our business, financial condition and results of operations may be adversely affected by fluctuations in foreign currency exchange rates.
Grid Dynamics is exposed to foreign currency exchange rate risk and its profit margins are subject to volatility between periods due to changes in foreign currency exchange rates relative to the U.S. dollar. Grid Dynamics’ functional currency is the US Dollar. That said, the company's revenues and costs are exposed to a number of currencies that include EURO, British pounds, Mexican pesos, Moldovan leu and Indian rupees. As we do not hedge our foreign currency, we are exposed to foreign currency exchange transaction risk related to funding our non-U.S. operations and to foreign currency translation risk related to certain of our subsidiaries’ cash balances that are denominated in currencies other than the U.S. dollar. In addition, Grid Dynamics’ profit margins are subject to volatility as a result of changes in foreign exchange rates. In the three and six months ended June 30, 2023, approximately 41.4% and 38.0% of Grid Dynamics’ combined cost of revenue and total operating expenses were denominated in currencies other than the U.S. dollar, respectively. Comparatively, approximately 36.1% and 38.1% of Grid Dynamics’ combined cost of revenue and total operating expenses were denominated in currencies other than the U.S. dollar, In the three and six months ended June 30, 2022, respectively. Any significant fluctuations in currency exchange rates may have a material impact on our business and results of operations. In some countries, we may be subject to regulatory or practical



restrictions on the movement of cash and the exchange of foreign currencies, which would limit our ability to use cash across our global operations and increase our exposure to currency fluctuations. This risk could increase as we continue expanding our global operations, which may include entering emerging markets that may be more likely to impose these types of restrictions. Currency exchange volatility caused by political or economic instability or other factors, could also materially impact our results. See the section titled, “Quantitative and Qualitative Disclosures about Market Risk—Foreign Currency Exchange Rate Risk” in our most recent annual report on Form 10-K and this quarterly report on Form 10-Q for more information about our exposure to foreign currency exchange rates.
We may be exposed to liability for actions taken by our subsidiaries.
In certain cases, we may be jointly and severally liable for losses of our subsidiaries. Irrespective of incurring liability for losses of our subsidiaries, we may incur secondary liability and, in certain cases, liability to creditors for obligations of our subsidiaries in certain instances involving bankruptcy or insolvency.
Further, an effective parent is secondarily liable for an effective subsidiary’s debts if the effective subsidiary becomes insolvent or bankrupt as a result of the action or inaction of the effective parent. Compensation for the effective subsidiary’s losses from the effective parent that caused the effective subsidiary to take action or fail to take action, knowing that such action or failure to take action would result in losses, may be claimed, inter alia, by the other stockholders of the effective subsidiary, the administrators and creditors in an insolvency proceeding. We could be found to be the effective parent of the subsidiaries, in which case we could become liable for their debts, which could have a material adverse effect on our business, financial condition and results of operations or prospects.
Our profitability may suffer if we are unable to maintain our resource utilization and productivity levels.
As most of our client projects are performed and invoiced on a time and materials basis, our management tracks and projects billable hours as an indicator of business volume and corresponding resource needs for IT professionals. To maintain our gross profit margins, we must effectively utilize our IT professionals, which depends on our ability to:
integrate and train new personnel;
efficiently transition personnel from completed projects to new assignments;
forecast customer demand for services; and
deploy personnel with appropriate skills and seniority to projects.
If we experience a slowdown or stoppage of work for any client, or on any project for which we have dedicated personnel or facilities, we may be unable to reallocate these personnel or assets to other clients and projects to keep their utilization and productivity levels high. If we are unable to maintain appropriate resource utilization levels, our profitability may suffer.
If we are unable to accurately estimate the cost of service or fail to maintain favorable pricing for our services, our contracts may be unprofitable.
Grid Dynamics expects proportionate revenue from fixed-fee contracts to increase in future periods. In order for our contracts to be profitable, we must be able to accurately estimate our costs to provide the services required by the applicable contract and appropriately price our contracts. Such estimates and pricing structures used by us for our contracts are highly dependent on internal forecasts, assumptions and predictions about our projects, the marketplace, global economic conditions (including foreign exchange volatility) and the coordination of operations and personnel in multiple locations with different skill sets and competencies. Due to the inherent uncertainties that are beyond our control, we may underprice our projects, fail to accurately estimate the costs of performing the work or fail to accurately assess the risks associated with potential contracts. In select cases, we also offer volume discounts once a client reaches certain contractual spend thresholds, which may lower the reference price for a client or result in a loss of profits if we do not accurately estimate the amount of discounts to be provided. We may not be able to recognize revenues from fixed-fee contracts in the period in which our services are performed, which may cause our margins to fluctuate. Any increased or unexpected costs, delays or failures to achieve anticipated cost savings, or unexpected risks we encounter in connection with the performance of our contracts, including those caused by factors outside our control, could make these contracts less profitable or unprofitable.



We face risks associated with the long selling and implementation cycle for our services that require significant resource commitments prior to realizing revenues for those services.
We have a long selling cycle for our services, which requires us to expend substantial time and resources to educate clients on the value of our services and our ability to meet their requirements. In certain cases, we may begin work and incur costs prior to executing a contract. Our selling cycle is subject to many risks and delays over which we have little or no control, including clients’ decisions to choose alternatives to our services (such as other IT services providers or in-house resources) and the timing of clients’ budget cycles and approval processes. Therefore, selling cycles for new clients can be especially unpredictable and we may fail to close sales with prospective clients to whom we have devoted significant time and resources. Any significant failure to generate revenues or delays in recognizing revenues after incurring costs related to sales processes could have a material adverse effect on our business, financial condition and results of operations.
Failure to obtain engagements for and effectively manage increasingly large and complex projects may have an adverse effect on our business, financial condition and results of operations.
Our operating results are dependent on the scale of our projects and the prices we are able to charge for our services. In order to successfully perform larger and more complex projects, we need to establish and maintain effective, close relationships with our clients, continue high levels of client satisfaction and develop a thorough understanding of our clients’ needs. We may also face a number of challenges managing larger and more complex projects, including:
maintaining high quality control and process execution standards;
maintaining planned resource utilization rates on a consistent basis;
using an efficient mix of on-site, off-site and offshore staffing;
maintaining productivity levels;
implementing necessary process improvements;
recruiting and retaining sufficient numbers of highly skilled IT personnel; and
controlling costs.
There is no guarantee that we may be able to overcome such challenges. In addition, large and complex projects may involve multiple engagements or stages, and there is a risk that a client may choose not to retain us for additional stages or may cancel or delay additional planned engagements. Our failure to successfully obtain engagements for and effectively manage large and complex projects may have an adverse effect on our business, financial condition and results of operations.
Increases in compensation expenses, including stock-based compensation expenses, could lower our profitability, and dilute our existing stockholders.
Wages and other compensation costs in the countries in which we maintain significant operations and delivery centers are lower than comparable wage costs in more developed countries. However, wages in the technology industry in these countries may increase at a faster rate than in the past, which may make us less competitive unless we are able to increase the efficiency and productivity of our people. If we increase operations and hiring in more developed economies, our compensation expenses will increase because of the higher wages demanded by technology professionals in those markets. Wage inflation, whether driven by competition for talent or ordinary course pay increases, could increase our cost of services as well as selling, general and administrative expenses and reduce our profitability if we are not able to pass those costs on to our customers or charge premium prices when justified by market demand.
In addition, we have granted certain equity-based awards under our equity incentive plans and expect to continue doing so. For the six months ended June 30, 2023 and 2022, Grid Dynamics recorded $20.4 million and $25.0 million, respectively, of stock-based compensation expense related to the grant of equity-based awards. If we do not grant equity awards, or if we reduce the value of equity awards we grant, we may not be able to attract, hire and retain key personnel. If we grant more equity awards to attract, hire and retain key personnel, the expenses associated with such additional equity awards could materially adversely affect our results of operations. If the anticipated value of these equity awards does not materialize because of volatility or lack of positive performance in our stock price, we may be unable to retain our key personnel or attract and retain new key employees in the future, in which case our business may be severely disrupted our ability to attract and retain personnel could be adversely affected. The issuance of equity-based compensation may also result in dilution to stockholders.



Failure to collect receivables from, or bill for unbilled services to, clients may have a material adverse effect on our results of operations and cash flows.
Our business depends on our ability to successfully obtain payment from our clients of the amounts they owe for work performed. We usually bill and collect such amounts on relatively short cycles and maintain allowances for doubtful accounts. However, actual losses on client balances could differ from those that we anticipate and, as a result, we might need to adjust our allowances.
There is no guarantee that we will accurately assess the creditworthiness of our clients. If clients suffer financial difficulties, it could cause them to delay payments, request modifications to their payment arrangements that could increase our receivables balance, or default on their payment obligations.
In addition, some of our clients may delay payments due to changes in internal payment procedures driven by rules and regulations to which they are subject. Timely collection of client balances also depends on our ability to complete our contractual commitments and bill and collect contracted revenues. If we are unable to meet our contractual requirements, we may experience delays in collection of or inability to collect accounts receivable. If this occurs, our financial condition, results of operations and cash flows could be materially adversely affected.
Our debt service obligations may adversely affect our financial condition and cash flows from operations.
On March 15, 2022, we entered into a Credit Agreement (the “2022 Credit Agreement”), by and among us, as borrower, the guarantors party thereto from time to time, the lenders party thereto from time to time, and JPMorgan Chase Bank, N.A., as administrative agent for the lenders (the “Agent”). The 2022 Credit Agreement provides for a three-year secured multicurrency revolving loan facility in an initial aggregate principal amount of up to $30.0 million, with a $10.0 million letter of credit sublimit. We may increase the size of the revolving loan facility up to $50.0 million, subject to certain conditions and additional commitments from existing and/or new lenders. The 2022 Credit Agreement contains customary affirmative and negative covenants, including covenants limiting the ability of the Company and its subsidiaries to, among other things, incur debt, grant liens, undergo certain fundamental changes, make investments and acquisitions, make certain restricted payments, dispose of assets, enter into certain transactions with affiliates, and enter into burdensome agreements, in each case, subject to limitations and exceptions set forth in the 2022 Credit Agreement. The Company is also required to maintain compliance with a consolidated total leverage ratio, determined in accordance with the terms of the 2022 Credit Agreement. Our obligations under the 2022 Credit Agreement are required to be guaranteed by certain of our domestic subsidiaries meeting materiality thresholds set forth in the 2022 Credit Agreement. Such obligations, including the guaranties, are secured by substantially all of the personal property of our and our subsidiary guarantors.

Maintenance of our indebtedness, contractual restrictions, and additional issuances of indebtedness could:
cause us to dedicate a substantial portion of our cash flows from operations towards debt service obligations and principal repayments;
increase our vulnerability to adverse changes in general economic, industry, and competitive conditions;
limit our flexibility in planning for, or reacting to, changes in our business and our industry;
impair our ability to obtain future financing for working capital, capital expenditures, acquisitions, general corporate, or other purposes; and
due to limitations within the debt instruments, restrict our ability to take certain corporate actions, subject to customary exceptions.

We are required to comply with the covenants set forth in our credit agreement. If we breach any of the covenants and do not obtain a waiver from the lenders, then, subject to applicable cure periods, we would not be able to incur additional indebtedness under the credit agreement, and any outstanding indebtedness under the credit agreement may be declared immediately due and payable.
We may need additional capital and failure to raise additional capital on terms favorable to us, or at all, could limit our ability to grow our business and develop or enhance our service offerings to respond to market demand or competitive challenges.
We may require additional cash resources due to changed business conditions or other future developments. If existing resources are insufficient to satisfy cash requirements, we may seek to sell additional equity or debt securities or obtain one or



more credit facilities. The sale of additional equity securities could result in dilution to stockholders. The incurrence of indebtedness would result in increased debt service obligations and could require us to agree to operating and financing covenants that would restrict our operations. In addition, actual events involving limited liquidity, defaults, non-performance or other adverse developments that affect financial institutions, transactional counterparties or other companies in the financial services industry or the financial services industry generally, or concerns or rumors about any events of these kinds or other similar risks, have in the past and may in the future lead to market-wide liquidity problems. Our cash is held with high-quality financial institutions. Deposits held with banks may, at times, exceed the amount of insurance provided on such deposits. Additionally we hold cash deposits in countries where the banking sector remains periodically unstable, banking and other financial systems generally do not meet the banking standards of more developed markets, and bank deposits made by corporate entities are not insured. Such countries apart from Ukraine include Armenia, Moldova, and Mexico. We place our cash with financial institutions considered stable in the region and conducts ongoing evaluations of the credit worthiness of the financial institutions with which we operate. However, a banking crisis, bankruptcy or insolvency of banks that process or hold our funds, may result in the loss of our deposits or adversely affect our ability to complete banking transactions, which could adversely affect our liquidity, business and financial condition.
Our ability to obtain additional capital on acceptable terms is subject to a variety of uncertainties, including investors’ perception of, and demand for, securities of IT services companies, conditions in the capital markets in which we may seek to raise funds, our future results of operations and financial condition, and general economic and political conditions. Financing may not be available in amounts or on terms acceptable to us, or at all, which could limit our ability to grow our business and develop or enhance our service offerings to respond to market demand or competitive challenges.
War, terrorism, other acts of violence, or natural or man-made disasters may affect the markets in which we operate, our clients and our service delivery.
Our business may be adversely affected by instability, disruption or destruction in a geographic region in which we operate, regardless of cause, including war, terrorism, riot, civil insurrection or social unrest, climate change, and natural or man-made disasters, including famine, flood, fire, earthquake, storm or pandemic events and spread of disease, such as the COVID-19 pandemic. For example, the significant military action against Ukraine launched by Russia has affected and will further affect our business. Such events may cause clients to delay their decisions on spending for the services provided by us and give rise to sudden significant changes in regional and global economic conditions and cycles. These events also pose significant risks to our personnel and to physical facilities and operations, which could materially adversely affect our financial results.
Acquisitions could be difficult to identify and integrate, divert the attention of management, disrupt our business, dilute stockholder value and adversely affect our financial condition and results of operations, we may not achieve the financial and strategic goals that were contemplated at the time of a transaction, and we may be exposed to claims, liabilities and disputes as a result of the transaction that may adversely impact our business, operating results and financial condition.
We continuously review and consider strategic acquisitions of businesses, products or technologies. For example, in December 2020 we acquired Daxx, in May 2021 we acquired Tacit, in December 2022 we acquired Mutual Mobile, and in April 2023 we acquired NextSphere Technologies. In the future we may seek to acquire or invest in other businesses, products or technologies that we believe could complement or expand our services, enhance our technical capabilities or otherwise offer growth opportunities. The pursuit of potential acquisitions may divert the attention of management and cause us to incur various expenses in identifying, investigating and pursuing suitable acquisitions, whether or not the acquisition purchases are completed. Additionally, we may not be able to find and identify desirable acquisition targets or be successful in entering into an agreement with any particular target or obtain adequate financing to complete such acquisitions. If we acquire businesses, we may not be able to successfully integrate the acquired personnel, operations, and technologies, or effectively manage the combined business following the acquisition.
Additionally, we may not be able to find and identify desirable acquisition targets or be successful in entering into an agreement with any particular target or obtain adequate financing to complete such acquisitions. Acquisitions could also result in dilutive issuances of equity securities or the incurrence of debt, which could adversely affect our financial condition, cash flows and results of operations. In addition, if an acquired business fails to meet our expectations, we may not achieve the financial and strategic goals that were contemplated at the time of a transaction, and our business, financial condition and results of operations may be adversely affected. Furthermore, we may acquire businesses that have inferior margins and profitability levels in comparison to our existing business and this may dilute our overall profitability of the company. This, in turn, may result in adverse financial results and dilution to existing stockholders.
Our operating results or financial condition may be adversely impacted by claims or liabilities that we assume from an acquired company or technology or other claims or liabilities otherwise related to an acquisition, including, among others, claims from



governmental and regulatory agencies or bodies, terminated employees, current or former customers, current or former stockholders or other third parties, or arising from contingent payments related to the acquisition; pre-existing contractual relationships that we assume from an acquired company that we would not have otherwise entered into, the termination or modification of which may be costly or disruptive to our business; unfavorable revenue recognition or other accounting treatment as a result of an acquired company’s practices; and intellectual property claims or disputes. We may fail to identify or assess the magnitude of certain liabilities, shortcomings or other circumstances prior to acquiring a company or technology, which could result in unexpected litigation or regulatory exposure and other adverse effects on our business, operating results and financial condition.
We face risks associated with the transparency, quality, and reliability of financial information of a business we acquire.
Although we perform due diligence on a targeted business that we intend to acquire, we are exposed to risks associated with the quality and reliability of the financial statements of the acquired business. This risk may be higher with smaller businesses and businesses that are operated in jurisdictions and countries with poorer regulatory and compliance requirements. In such situation where we acquire a target with unreliable financial statements, we are exposed to material risks that may impact the reliability of our overall financial statements and may adversely impact our stock price.
We also cannot assure you that the diligence we conduct when evaluating future acquisitions will reveal all material issues that may be present, that it would be possible to uncover all material issues through a customary amount of due diligence, or that factors outside of our control will not later arise. Even if our due diligence successfully identifies certain risks, unexpected risks may arise and previously known risks may materialize in a manner not consistent with our preliminary risk analysis. Further, as a result of a completed acquisition, purchase accounting, and integration of the acquired business, we may be required to take write-offs or write-downs, restructuring and impairment or other charges that could negatively affect our business, assets, liabilities, prospects, outlook, financial condition and results of operations.
Some of the additional risks associated with acquiring a business include, but not limited to the following:
inability to integrate or benefit from acquired technologies or services;
product synergies, cost reductions, increases in revenue and economies of scale may not materialize as expected;
the business culture of the acquired entity may not match well with our culture;
unforeseen delays, unanticipated costs and liabilities may arise when integrating operations, processes and systems in geographies where we have not conducted business;
unanticipated costs or liabilities associated with the strategic transactions;
incurrence of transaction-related costs;
assumption of the existing obligations or unforeseen liabilities of the acquired business;
difficulty integrating the accounting systems, security infrastructure, operations, and personnel of the acquired business;
difficulties and additional expenses associated with supporting legacy products and hosting infrastructure of the acquired business;
difficulty converting the current and prospective customers of the acquired business onto our platform and contract terms, including disparities in the revenue, licensing, support, or professional services model of the acquired company;
diversion of management’s attention from other business concerns;
adverse effects to our existing business relationships with business partners and customers as a result of the strategic transactions;
unexpected costs may arise due to unforeseen changes in tax, payroll, pension, labor, trade, environmental and safety policies in new jurisdictions where the acquired entity operates;
difficulty in retaining, motivating and integrating key management and other employees of the acquired business;
use of resources that are needed in other parts of our business;
dispute over contingent payments; and
use of substantial portions of our available cash to consummate the strategic transaction.



Changes in financial accounting standards or practices may cause adverse, unexpected financial reporting fluctuations and affect our reported results of operations.
Generally accepted accounting principles in the U.S. are subject to interpretation by the Financial Accounting Standards Board (“FASB”), the SEC and various bodies formed to promulgate and interpret appropriate accounting principles. A change in accounting standards or practices can have a significant effect on our reported results and may even affect our reporting of transactions completed before the change is effective. New accounting pronouncements and varying interpretations of accounting pronouncements have occurred and may occur in the future. Changes to existing rules or the questioning of current practices may adversely affect our reported financial results or the way we conduct our business.
Reports published by analysts, including projections in those reports that differ from our actual results, could adversely affect the price and trading volume of our common stock.
Securities research analysts may establish and publish their own periodic projections for us. These projections may vary widely and may not accurately predict the results we actually achieve. Our share price may decline if our actual results do not match the projections of these securities research analysts. Similarly, if one or more of the analysts who write reports on us downgrades our stock or publishes inaccurate or unfavorable research about our business, our share price could decline. If one or more of these analysts ceases coverage of us or fails to publish reports on us regularly, our share price or trading volume could decline and demand for our shares could decrease.
Risks Related to Government Regulations
We are exposed to various risks related to the global regulatory environment as well as legal proceedings, claims and the like.
As a public company with global operations, we are subject to the laws of the United States and multiple foreign jurisdictions and the rules and regulations of various governing bodies, which may differ among jurisdictions, including those related to financial and other disclosures, accounting standards, corporate governance, intellectual property, tax, trade (including import, export and customs), antitrust, environment, health and safety (including those relating to climate change), employment, immigration and travel regulations, privacy, data protection and localization, anti-corruption, investment and treasury regulations. Changing, inconsistent or conflicting laws, rules and regulations, and ambiguities in their interpretation and application create uncertainty and challenges, and compliance with laws, rules and regulations may be onerous and expensive, divert management time and attention from revenue-generating activities, and otherwise adversely impact our business operations. Violations or alleged violations of law, rules and regulations, including, among others, those described above, could result in fines, criminal penalties, restrictions on our business, and damage to our reputation, and could have an adverse impact on our business operations, financial condition and results of operations.
From time to time we may be involved in legal proceedings or claims regarding a variety of legal or regulatory matters or receive governmental or third-party requests for information regarding compliance or regulatory matters. Legal proceedings, claims, and such requests for information, whether with or without merit, may be time-consuming and expensive; divert management’s attention and other resources; result in adverse judgments for damages, injunctive relief, penalties and fines; and negatively affect our business. There can be no assurance regarding the outcome of any legal proceedings, claims or the like.
Failure to comply with laws and regulations relating to privacy, data protection, and cybersecurity could lead to government enforcement actions, private litigation and adverse publicity.
We receive, store and process personal information and other data from and about customers in addition to our employees and contractors. Our handling of data is subject to a variety of laws and regulations, including regulation by various government agencies and various state, local and foreign agencies. Our data handling also is subject to contractual obligations and may be deemed to be subject to industry standards, including certain industry standards that we undertake to comply with. The laws and regulations relating to privacy. data protection and cybersecurity are evolving, can be subject to significant change and may result in ever-increasing regulatory and public scrutiny and escalating levels of enforcement and sanctions..
For example, the European Union has implemented the General Data Protection Regulation (“GDPR”), which came into effect on May 25, 2018. The GDPR has a significant impact on how businesses can collect and process the personal data of individuals in the European Economic Area (“EEA”). The regulation includes stringent operational requirements for processors and controllers of personal data and imposes significant penalties for non-compliance of up to the greater of €20 million or 4% of global annual revenues. With regard to transfers to the U.S. of personal data from our employees and European customers and users, we rely upon standard contractual clauses approved by the European Commission (the “SCCs”). The SCCs have been subject to legal challenge and may be modified or invalidated, and we may be unsuccessful in maintaining legitimate



means for the transfer and receipt of personal data from the EEA. In 2020, the Court of Justice of the European Union (the “CJEU”) deemed the SCCs valid, but ruled that transfers made pursuant to the SCCs and other alternative transfer mechanisms must be analyzed on a case-by-case basis.  Subsequent guidance from EU regulators has stated that in certain cases, the SCCs must be accompanied by the use of supplementary measures. Concerns remain about the potential for the SCCs and other mechanisms to face additional challenges. On June 4, 2021, the European Commission published new SCCs and required their implementation. Additionally, the United Kingdom has enacted legislation that substantially implements the GDPR, with a similar penalty structure, and has issued new standard contractual clauses to support personal data transfers out of the United Kingdom (“UK SCCs”). We may, in addition to other impacts of the Schrems II decision and other developments relating to cross-border transfer, experience additional costs associated with increased compliance burdens, and we and our customers face the potential for regulators in the EEA, Switzerland, or the United Kingdom to apply different standards to the transfer of personal data from those regions to the U.S., and to block, or require ad hoc verification of measures taken with respect to, certain data flows from those regions to the U.S. We also may be required to engage in new contract negotiations with third parties that aid in processing data on our behalf. We may experience reluctance or refusal by current or prospective customers in those regions to use our products, and may find it necessary or desirable to make further changes to our handling of personal data of residents of those regions. The regulatory environment applicable to the handling of personal data of residents of the EEA, Switzerland, and the United Kingdom, and our actions taken in response, may cause us to assume additional liabilities or incur additional costs and obligations and could result in our business, operating results and financial condition being harmed. Additionally, we and our customers may face a risk of enforcement actions by data protection authorities relating to personal data transfers. Any such enforcement actions could result in substantial costs and diversion of resources, distract management and technical personnel and negatively affect our business, operating results and financial condition.
In addition, California has enacted legislation that has been described as the first “GDPR-like” law in the U.S. The California state legislature passed the California Consumer Privacy Act (“CCPA”) in 2018 and California voters approved a ballot measure subsequently establishing the California Privacy Rights Act (“CPRA”) in 2020, which modifies the CCPA and increase the privacy and security obligations of entities handling certain personal information of California residents, including requiring covered companies to provide new disclosures to California consumers, and afford such consumers new abilities to opt-out of certain sales of personal information. The CCPA came into effect on January 1, 2020, and the California Attorney General may bring enforcement actions, with penalties for violations of the CCPA. The CPRA is effective as of January 1, 2023, instilling enforcement authority in a new dedicated regulatory body, the California Privacy Protection Agency. Other states have also proposed, and in certain aspects enacted, legislation similar to the CCPA including Virginia, Colorado, Utah, and Connecticut, all of which enacted such laws with effectiveness in 2023. Aspects of the CCPA, CPRA, other state laws, and their interpretations remain uncertain. We cannot yet fully predict the impact of these laws on our business or operations, but developments regarding these and other privacy and data protection laws and regulations around the world may require us to modify our data processing practices and policies and to incur substantial additional costs and expenses in an effort to maintain compliance on an ongoing basis. Other countries and jurisdictions throughout the world are considering or enacting laws and regulations requiring the local storage of data. For example, under Russian law, all data operators collecting personal data of Russian citizens through electronic communications, including the Internet, must comply with Russian laws regulating the local storage of such data in databases located in the territory of Russia. This law applies not only to local data controllers but also to data controllers established outside Russia to the extent they gather personal data relating to Russian nationals through websites aimed at the territory of Russia.
We have been undertaking measures in an effort to comply with the GDPR, CCPA, CPRA and other applicable privacy and data protection laws and regulations, and our efforts to comply with these laws and regulations may require us to incur substantial operational costs and to require its data handling practices. The costs of our measures designed to comply with, and other burdens imposed by, such laws, regulations and policies that are applicable to us may limit the use and adoption of our products and solutions, alter the way we conduct business and/or could otherwise have a material adverse impact on our results of operations. For example, we may find it necessary to establish systems to maintain data originated in certain jurisdictions within those jurisdictions, which may involve substantial expense and distraction from other aspects of our business. Further, the costs of compliance with, and other burdens imposed by, such laws, regulations and policies that are applicable to us, may limit the use and adoption of our products and solutions and could have a material adverse impact on our results of operations.
Any failure or perceived failure (including as a result of deficiencies in our policies, procedures or measures relating to privacy, data protection, cybersecurity, marketing or client communications) by us to comply with laws, regulations, policies, legal or contractual obligations, industry standards, or regulatory guidance relating to privacy, data protection or cybersecurity may result in governmental investigations and enforcement actions, litigation, fines and penalties or adverse publicity and could cause our clients to lose trust in us, which could have a material adverse effect on our reputation, business, financial condition and results of operations.



We expect that there will continue to be new proposed laws, regulations and industry standards relating to privacy, data protection, cybersecurity, marketing, consumer communications and information security in the U.S., the European Union, Russia and other jurisdictions, and we cannot determine the impact such future laws, regulations and standards may have on our business. Future laws, regulations, standards and other obligations or any changed interpretation or enforcement of existing laws or regulations could impair our ability to develop and market new services and maintain and grow our client base and increase revenue.
We are subject to governmental export controls and trade and economic sanctions that could impair our ability to compete in international markets or subject us to liability if we violate these controls.
Our operations are subject to laws and regulations restricting our operations, including activities involving restricted countries, organizations, entities and persons that have been identified as unlawful actors or that are subject to U.S. sanctions imposed by the Office of Foreign Assets Control (“OFAC”) or other international economic sanctions that prohibit us from engaging in trade or financial transactions with certain countries, businesses, organizations and individuals. Additionally, the United States and various foreign governments have imposed controls, export license requirements and restrictions on the import or export of certain products, technologies and software. For example, as mentioned above, following Russia’s invasion of Ukraine, the United States and other countries imposed certain economic sanctions and severe export control restrictions against Russia and Belarus as well as certain Russian nationals which required us to terminate certain business relationships. As of June 2023, our former subsidiary in Russia is liquidated and are not performing any client services from Russia. These sanctions and restrictions have continued to increase as the conflict has further escalated, and the United States and other countries could impose wider sanctions and export restrictions and take other actions in the future that could further impact our business. Obtaining the necessary export license or other authorization for a particular sale may be time-consuming and may result in the delay or loss of sales opportunities.
We have implemented controls to ensure that we are in compliance with export controls, OFAC sanctions, and similar sanctions, laws and regulations, and we periodically undergo a review of those controls. This review could result in the discovery of issues or violations with respect to the foregoing by us or our employees, independent contractors, subcontractors or agents of which we were previously unaware.
Any investigation of any potential violations of such laws by the U.S. or other jurisdictions could also have an adverse impact on our reputation, business, financial condition and results of operations.
Failure to comply with anti-bribery and anti-corruption laws and anti-money laundering laws, and similar laws, could subject us to penalties and other adverse consequences.
We are subject to the U.S. Foreign Corrupt Practices Act of 1977 (the “FCPA”), the U.S. domestic bribery statute contained in 18 U.S.C. § 201, the United Kingdom Bribery Act 2010, and possibly other anti-bribery and anti-corruption laws and anti-money laundering laws in countries outside of the United States where we conduct our activities. Anti-corruption and anti-bribery laws have been enforced aggressively in recent years and are interpreted broadly to generally prohibit companies, their employees, agents, representatives, business partners, and third-party intermediaries from authorizing, offering, or providing, directly or indirectly, improper payments or benefits to recipients in the public or private sector. We operate in many parts of the world that have experienced governmental corruption to some degree, and, in certain circumstances, strict compliance with anti-bribery laws may conflict with local customs and practices.
We sometimes leverage third parties to sell our products and conduct our business abroad. We, our employees, agents, representatives, business partners and third-party intermediaries may have direct or indirect interactions with officials and employees of government agencies or state-owned or affiliated entities and we may be held liable for the corrupt or other illegal activities of these employees, agents, representatives, business partners or third-party intermediaries even if we do not explicitly authorize such activities. We cannot assure you that all of our employees, agents, representatives, business partners or third-party intermediaries will not take actions in violation of applicable law for which we may be ultimately held responsible. As we increase our international sales and business, our risks under these laws may increase.
These laws also require that we keep accurate books and records and maintain internal controls and compliance procedures designed to prevent any such actions. While we have policies and procedures to address compliance with such laws, we cannot assure you that none of our employees, agents, representatives, business partners or third-party intermediaries will take actions in violation of our policies and applicable law, for which we may be ultimately held responsible.
Any allegations or violation of the FCPA or other applicable anti-bribery and anti-corruption laws and anti-money laundering laws could result in whistleblower complaints, sanctions, settlements, prosecution, enforcement actions, fines, damages, adverse media coverage, investigations, loss of export privileges, severe criminal or civil sanctions, or suspension or debarment from



government contracts, all of which may have an adverse effect on our reputation, business, results of operations, and prospects. Responding to any investigation or action will likely result in a materially significant diversion of management’s attention and resources and significant defense costs and other professional fees
Changes to the U.S. administration’s fiscal, political, regulatory and other policies may adversely affect our business, financial condition and results of operations.
Recent events, including new policy introductions following the 2020 U.S presidential election, may result in substantial regulatory uncertainty regarding international trade and trade policy. U.S. policies have called for substantial changes to trade agreements, have increased tariffs on certain goods imported into the U.S. and have raised the possibility of imposing significant, additional tariff increases. In the past, unilateral tariffs on imported products by the U.S. have triggered retaliatory actions from certain foreign governments, including China and may trigger retaliatory actions by other foreign governments, potentially resulting in a “trade war.” While we cannot predict the extent to which the U.S. or other countries will impose quotas, duties, tariffs, taxes or other similar restrictions upon the import or export of our products in the future, a “trade war” of this nature or other governmental action related to tariffs or international trade agreements could have an adverse impact on demand for our services, sales and clients and affect the economies of the U.S. and various countries, having an adverse effect on our business, financial condition and results of operations.
In addition, regulatory, judicial or other developments regarding SPACs or companies, such as us, that have merged with a SPAC, could have an adverse effect on us. There can be no assurances that such developments or other regulations and legal circumstances unique to SPACs would not have an adverse effect on our business, financial condition and results of operations.
Negative publicity about offshore outsourcing or anti-outsourcing legislation and restriction on immigration may have an adverse effect on our business.
The issue of companies outsourcing services to organizations operating in other countries is a topic of political discussion in many countries, including the U.S., which is our largest source of revenues. Many organizations and public figures in the U.S. and Europe have publicly expressed concern about a perceived association between offshore outsourcing IT services providers and the loss of jobs in their home countries. For example, measures aimed at limiting or restricting outsourcing by U.S. companies are periodically considered in Congress and in numerous state legislatures to address concerns over the perceived association between offshore outsourcing and the loss of jobs in the U.S. A number of U.S. states have passed legislation that restricts state government entities from outsourcing certain work to offshore IT services providers. Given the ongoing debate over this issue, the introduction and consideration of other restrictive legislation is possible. If enacted, such measures may broaden restrictions on outsourcing by federal and state government agencies and on government contracts with firms that outsource services directly or indirectly, impact private industry with measures such as tax disincentives or intellectual property transfer restrictions, and/or restrict the use of certain business visas. In addition, current or prospective clients may be discouraged from transferring services to providers that utilize offshore delivery centers such as us to avoid any negative perceptions that may be associated with using an offshore provider or for data privacy and security concerns. As a result, our ability to service our clients could be impaired and we may not be able to compete effectively with competitors that operate primarily from within the countries in which our clients operate. Any such slowdown or reversal of the existing industry trends toward offshore outsourcing may have a material adverse effect on our business, financial condition and results of operations. These risks may become more acute as we continue to expand to new geographies.
Some of our projects may involve our personnel obtaining visas to travel and work at customer sites outside of our personnel’s home countries and often in the United States. Our reliance on visas to staff projects with employees who are not citizens of the country where the work is to be performed makes us vulnerable to legislative and administrative changes in the number of visas to be issued in any particular year and other work permit laws and regulations. The process to obtain the required visas and work permits can be lengthy and difficult and variations due to political forces and economic conditions in the number of permitted applications, as well as application and enforcement processes, may cause delays or rejections when trying to obtain visas. Delays in obtaining visas may result in delays in the ability of our personnel to travel to meet with and provide services to our customers or to continue to provide services on a timely basis. In addition, the availability of a sufficient number of visas without significant additional costs could limit our ability to provide services to our customers on a timely and cost-effective basis or manage our sales and delivery centers as efficiently as we otherwise could. Delays in or the unavailability of visas and work permits could have a material adverse effect on our business, results of operations, financial condition and cash flows.



Our subsidiaries in CEE can be forced into liquidation on the basis of formal noncompliance with certain legal requirements.
We operate in CEE primarily through locally organized subsidiaries. Certain provisions of local laws may allow a court to order liquidation of a locally organized legal entity on the basis of its formal noncompliance with certain requirements during formation, reorganization or during its operations. If a company fails to comply with certain requirements including those relating to minimum net assets, governmental or local authorities can seek the involuntary liquidation of such company in court, and the company’s creditors will have the right to accelerate their claims or demand early performance of the company’s obligations as well as demand compensation for any damages. If involuntary liquidation of any of our subsidiaries were to occur, such liquidation could materially adversely affect our business, financial condition and results of operations.
Risks Associated with Intellectual Property
We may not be able to prevent unauthorized use of our intellectual property and our intellectual property rights may not be adequate to protect our business, financial condition and results of operations.
Our success largely depends on methodologies, practices, tools and technical expertise and other intellectual property that we use in designing, developing, implementing and maintaining our services and solutions. We rely upon a combination of nondisclosure, confidentiality, assignment of invention and other contractual arrangements as well as trade secret, patent, copyright and trademark laws to protect our intellectual property rights. We may also rely on litigation to enforce our intellectual property rights and contractual rights.
The nondisclosure and confidentiality agreements that we enter into with our employees, independent contractors, vendors and clients in order to protect our proprietary information may not provide meaningful protection against unauthorized use, misappropriation or disclosure for trade secrets, know-how or other proprietary information and there can be no assurance that others will not independently develop the know-how and trade secrets or develop better methods than us. Policing unauthorized use of such proprietary information is difficult and expensive. We may not be able to deter current and former employees, contractors, vendors, clients and other parties from breaching confidentiality agreements and misappropriating proprietary information and it is possible that third parties may copy, reverse engineer, or otherwise obtain and use our information and proprietary technology without authorization or otherwise infringing on our intellectual property rights. If these agreements are breached, we may not have adequate remedies for such breach.
In addition, our current and former employees or contractors could challenge our exclusive rights in the intellectual property they have developed in the course of their employment. In certain countries in which we operate, an employer is deemed to own the copyright in works created by its employees during the course, and within the scope, of their employment, provided certain requirements are complied with. The employer may be required to satisfy additional legal requirements in order to make further use and dispose of such works. While we believe that we have complied with all such requirements and have fulfilled all requirements necessary to acquire all rights in intellectual property developed by our contractors and subcontractors, these requirements are often ambiguously defined and enforced.
Implementation of intellectual property-related laws in CIS and CEE countries in which we operate has historically been lacking and there is no assurance that we will be able to enforce or defend our rights under our non-disclosure, confidentiality or assignment of invention agreements or that protection of intellectual property rights in such countries will be as effective as that in the U.S. Any litigation relating to our intellectual property may not prove successful and might result in substantial costs and diversion of resources and management attention.
We have registered or applied to register certain patents, copyrights, and trademarks in the United States and may do so in countries outside the United States. However, there is no guarantee that these registrations will not be challenged, invalidated, or circumvented by third parties. Further, there can also be no assurance that pending or future United States or foreign trademark or patent applications will be approved in a timely manner or at all, or that such registrations will effectively protect our intellectual property or brand.
In some cases, litigation may be necessary to enforce our intellectual property rights or to protect our trade secrets. Litigation could be costly, time consuming and distracting to management and could result in the impairment or loss of portions of our intellectual property. Furthermore, our efforts to enforce our intellectual property rights may be met with defenses, counterclaims and countersuits attacking the validity and enforceability of our intellectual property rights and exposing us to significant damages or injunctions. Our inability to protect our intellectual property against unauthorized copying or use, as well as any costly litigation or diversion of our management’s attention and resources, could delay sales or the implementation of our products, impair the functionality of our products, delay introductions of new products, result in our substituting less-



advanced or more-costly technologies into our products or harm our reputation. In addition, we may be required to license additional intellectual property from third parties to develop and market new products, and we cannot assure you that we could license that intellectual property on commercially reasonable terms or at all.
Due to the foregoing reasons, we cannot guarantee that we will be successful in maintaining existing or obtaining future intellectual property rights or registrations, be able to detect unauthorized use of our intellectual property and take appropriate steps to enforce and protect our rights, or that any such steps will be successful. We can also neither guarantee that we have taken all necessary steps to enforce our intellectual property rights in each jurisdiction in which we operate nor that the intellectual property laws of any jurisdiction in which we operate are adequate to protect our interest or that any favorable judgment obtained by us with respect thereto will be enforced in the courts. Unauthorized use by third parties of, or other failure to protect, our intellectual property, including the costs of enforcing intellectual property rights, could have a material adverse effect on our business, financial condition and results of operations.
We may face intellectual property infringement claims that could be time-consuming and costly to defend and failure to defend against such claims may have a material adverse effect on our reputation, business, financial condition and results of operations.
Our success largely depends on our ability to use and develop our technology, tools, code, methodologies and services without infringing the intellectual property rights of third parties, including patents, copyrights, trade secrets and trademarks. We may be subject to litigation involving claims of patent infringement or violation of other intellectual property rights of third parties.
Our customer contracts often require us to indemnify clients who purchase our services and solutions against potential infringement of intellectual property rights, which subjects us to the risk of indemnification claims. These claims may require us to initiate or defend protracted and costly litigation on behalf of our clients, regardless of the merits of these claims and are often not subject to liability limits or exclusion of consequential, indirect or punitive damages. If any of these claims succeed, we may be forced to pay damages on behalf of our clients, redesign or cease offering our allegedly infringing services or solutions or obtain licenses for the intellectual property such services or solutions allegedly infringe. If we cannot obtain all necessary licenses on commercially reasonable terms, our clients may be forced to stop using our services or solutions and may seek refunds of amounts they have paid us for such services or solutions.
The holders of patents and other intellectual property rights potentially relevant to our service offerings may make claims that we infringe, misappropriate, or otherwise violate their intellectual property rights. There can be no assurance that we will be successful in defending against these allegations or reaching a business resolution that is satisfactory to us. Any intellectual property claims, with or without merit, could be very time-consuming and expensive to settle or litigate, could cause us to incur significant expenses, pay substantial amounts in damages, ongoing royalty or license fees, or other payments, require us to cease making, licensing or using our offerings that incorporate or use the challenged intellectual property, require us to re-engineer all or a portion of our business or require that we comply with other unfavorable terms. The costs of litigation are considerable, and such litigation may divert management and key personnel’s attention and resources, which might seriously harm our business, financial condition and results of operations. Third parties making infringement claims may make it difficult for us to enter into royalty or license agreements which may not be available on commercially acceptable terms. Also, we may be unaware of intellectual property registrations or applications relating to our services that may give rise to potential infringement claims against us. There may also be technologies licensed to and relied on by us that are subject to infringement or other corresponding allegations or claims by third parties which may damage our ability to rely on such technologies.
Parties making infringement claims may be able to obtain substantial damages for the infringement and an injunction to prevent us from delivering our services or using technology involving the allegedly infringing intellectual property. If, as a result of successful infringement claim, we are required to develop non-infringing technology or rebrand our name or cease making, licensing or using products that have infringed a third party’s intellectual property rights, all of which may be time-consuming and expensive. Protracted litigation could also result in existing or prospective clients deferring or limiting their purchase or use of our software product development services or solutions until resolution of such litigation or could require us to indemnify our clients against infringement claims in certain instances. Any intellectual property claims or litigation in this area, whether or not we ultimately win or lose, could damage our reputation and materially adversely affect our business, financial condition and results of operations.
Our use of open source software may lead to possible litigation, negatively affect sales and create liability.
We often incorporate software licensed by third parties under so-called “open source” licenses, which may expose us to liability and have a material impact on our software development services. Use of open source software may entail greater risks than use of third-party commercial software, as open source licensors generally do not provide support, warranties, indemnification, or



other contractual protections regarding infringement claims or the quality of the code. In addition, the public availability of such software may make it easier for others to compromise our services. Although we monitor our use of open source software in an effort both to comply with the terms of the applicable open source licenses and to avoid subjecting our client deliverables to conditions we do not intend, the terms of many open source licenses have not been interpreted by courts in relevant jurisdictions, and there is a risk that these licenses could be construed in a way that could impose unanticipated conditions or restrictions on our clients’ ability to use the software that we develop for them and operate their businesses as they intend. Moreover, we cannot assure you that our processes for controlling our use of open source software in our products will be effective, and we may inadvertently use third-party open source software in a manner that exposes us to claims of non-compliance with the applicable terms of such license, including claims for infringement of intellectual property or for breach of contract. We may face claims challenging the ownership of open source software against companies that incorporate it into our products.
Additionally, some open source licenses contain requirements that we make available source code for modifications or derivative works we create based upon the type of open source software we use. If we combine certain open source software with other software in a specific manner, we could, under open source licenses, be required to release the source code of our proprietary software or software developed for a customer to the public, including authorizing further modification and redistribution, or otherwise be limited in the licensing of such software. Additionally, if a third-party software provider has incorporated open source software into software that we license from such provider, we could be required to disclose source code that incorporates or is a modification of such licensed software.
Therefore, there is a possibility that our clients could be subject to actions by third parties claiming that what we believe to be licensed open source software infringes such third parties’ intellectual property rights, and we would generally be required to indemnify our clients against such claims. In addition, in the event that portions of client deliverables are determined to be subject to an open source license requiring the release of such deliverables, we or our clients could be required to publicly release the affected portions of source code or re-engineer all, or a portion of, the applicable software. Disclosing our proprietary source code could allow our clients’ competitors to create similar products with lower development effort and time and ultimately could result in a loss of sales for our clients. Furthermore, if the license terms for the open source code change, we may be forced to re-engineer our software or incur additional costs. Any of these events could create liability for us to our clients and damage our reputation, which could have a material adverse effect on our business, financial condition and results of operations.
Risks Related to Our Common Stock
Our bylaws provide that the Court of Chancery of the State of Delaware (or, if the Court of Chancery does not have jurisdiction, another State court in Delaware or the federal district court for the District of Delaware) shall, to the fullest extent permitted by law, be the sole and exclusive forum for substantially all disputes between us and our stockholders (other than claims arising under federal securities laws, including the Securities Act or the Exchange Act and any successors thereto), which could limit our stockholders’ ability to obtain a favorable judicial forum for disputes with us or our directors, officers or employees.
Our bylaws provide that the Court of Chancery of the State of Delaware (or, if the Court of Chancery does not have jurisdiction, another State court in Delaware or the federal district court for the District of Delaware) shall, to the fullest extent permitted by law, be the sole and exclusive forum for the following (except for any claim as to which such court determines that there is an indispensable party not subject to the jurisdiction of such court (and the indispensable party does not consent to the personal jurisdiction of such court within 10 days following such determination), which is vested in the exclusive jurisdiction of a court or forum other than such court or for which such court does not have subject matter jurisdiction):
any derivative action or proceeding brought on our behalf;
any action asserting a claim of breach of a fiduciary duty owed by, or otherwise wrongdoing by, any of our directors, officers or other employees to us or our stockholders;
any action arising pursuant to any provision of the Delaware General Corporation Law (the “DGCL”), our certificate of incorporation or bylaws;
any action to interpret, apply, enforce or determine the validity of our certificate of incorporation or bylaws; and
any other action asserting a claim that is governed by the internal affairs doctrine.



However, notwithstanding the exclusive forum provisions, our bylaws explicitly state that they would not preclude the filing of claims brought to enforce any liability or duty created under federal securities laws, including the Exchange Act or Securities Act.
Our amended and restated bylaws also provide that, unless we consent in writing to the selection of an alternative forum, the federal district courts of the United States shall be the sole and exclusive forum for any action asserting a claim arising pursuant to the Securities Act, such a provision known as a “Federal Forum Provision.” Any person or entity purchasing or otherwise acquiring any interest in our shares of capital stock shall be deemed to have notice of and consented to these provisions.
These exclusive forum provisions may limit a stockholder’s ability to bring a claim in a judicial forum that it finds favorable for disputes with us or our directors, officers or other employees, which may discourage lawsuits against us and our directors, officers and other employees. Additionally, a court could determine that the exclusive forum provision is unenforceable. If a court were to find the exclusive forum provision in our bylaws to be inapplicable or unenforceable in an action, we may incur additional costs associated with resolving the dispute in other jurisdictions, which could seriously harm our business.
The price of our common stock may be volatile.
The price of our common stock may fluctuate due to a variety of factors, including:
our ability to effectively service any current and future outstanding debt obligations;
the announcement the introduction of new products or services, or enhancements thereto, by us or our competitors;
developments concerning intellectual property rights;
changes in legal, regulatory and enforcement frameworks impacting our products;
variations in our and our competitors’ results of operations;
the addition or departure of key personnel;
announcements by us or our competitors of acquisitions, investments or strategic alliances;
actual or perceived data security incidents or breaches;
actual or anticipated fluctuations in our quarterly and annual results and those of other public companies in our industry;
the failure of securities analysts to publish research about us, or shortfalls in our results of operations compared to levels forecast by securities analysts;
any delisting of our common stock from NASDAQ due to any failure to meet listing requirements;
the military action launched by Russian forces in Ukraine, the actions that have been and could be taken by other countries, including new and stricter sanctions and actions taken in response to such sanctions, and the effect of these developments on our business and results of operations;
adverse developments from litigation; and
the general state of the securities market, including valuation adjustments and lowering multiples.
These market and industry factors may materially reduce the market price of our common stock, regardless of our operating performance.
As of June 30, 2023, approximately 26.4 percent of our outstanding common stock was held or beneficially owned by our executive officers and directors, or by stockholders controlled by our executive officers or directors. The concentration of ownership provides such persons with substantial control over us, which could limit your ability to influence the outcome of key transactions, including a change of control, and future resales of our common stock held by such persons may cause the market price of our common stock to drop significantly.
As a result, such stockholders, acting together, have significant influence over all matters that require approval by our stockholders, including the election of directors and approval of significant corporate transactions. Corporate action might be taken even if other stockholders oppose them. This concentration of ownership might also have the effect of delaying or preventing a change of control of our company that other stockholders may view as beneficial.



To the extent that such persons purchase additional shares of ours, the percentage of shares that will be held by them will increase, decreasing the percentage of shares that are held by public stockholders.
If any significant stockholder sells large amounts of our common stock in the open market or in privately negotiated transactions, this could have the effect of increasing the volatility in the price of our common stock or putting significant downward pressure on the price of our common stock.
We do not currently intend to pay dividends on our common stock and, consequently, your ability to achieve a return on your investment will depend on appreciation in the price of our common stock.
We have not paid any cash dividends on our common stock since our merger with ChaSerg. The payment of any cash dividends will be dependent upon our revenue, earnings and financial condition from time to time. The payment of any dividends will be within the discretion of our board of directors. It is presently expected that we will retain all earnings for use in our business operations and, accordingly, it is not expected that our board of directors will declare any dividends in the foreseeable future. Our ability to declare dividends may be limited by the terms of any financing and/or other agreements entered into by us or our subsidiaries from time to time and by requirements under the laws of our subsidiaries’ respective jurisdictions of incorporation to set aside a portion of their net income in each year to legal reserves. Therefore, you are not likely to receive any dividends on your common stock for the foreseeable future and the success of an investment in shares of our common stock will depend upon any future appreciation in its value. Consequently, investors may need to sell all or part of their holdings of our common stock after price appreciation, which may never occur, as the only way to realize any future gains on their investment. There is no guarantee that shares of our common stock will appreciate in value or even maintain the price at which our stockholders have purchased their shares.
Delaware law and our certificate of incorporation and bylaws contain certain provisions, including anti-takeover provisions, that limit the ability of stockholders to take certain actions and could delay or discourage takeover attempts that stockholders may consider favorable.
Our certificate of incorporation and bylaws, and the DGCL, contain provisions that could have the effect of rendering more difficult, delaying, or preventing an acquisition deemed undesirable by our board of directors and therefore depress the trading price of our common stock. These provisions could also make it difficult for stockholders to take certain actions, including electing directors who are not nominated by the current members of our board of directors or taking other corporate actions, including effecting changes in our management. Among other things, our certificate of incorporation and bylaws include provisions regarding:
a classified board of directors with three-year staggered terms, which could delay the ability of stockholders to change the membership of a majority of our board of directors;
the ability of our board of directors to issue shares of preferred stock, including “blank check” preferred stock, and to determine the price and other terms of those shares, including preferences and voting rights, without stockholder approval, which could be used to significantly dilute the ownership of a hostile acquirer;
the limitation of the liability of, and the indemnification of our directors and officers;
the exclusive right of our board of directors to elect a director to fill a vacancy created by the expansion of the board of directors or the resignation, death or removal of a director, which prevents stockholders from being able to fill vacancies on our board of directors;
the requirement that directors may only be removed from our board of directors for cause;
a prohibition on stockholder action by written consent, which forces stockholder action to be taken at an annual or special meeting of stockholders and could delay the ability of stockholders to force consideration of a stockholder proposal or to take action, including the removal of directors;
the requirement that a special meeting of stockholders may be called only by our board of directors, the chairman of our board of directors, or our chief executive officer, which could delay the ability of stockholders to force consideration of a proposal or to take action, including the removal of directors;
controlling the procedures for the conduct and scheduling of board of directors and stockholder meetings;



the requirement for the affirmative vote of holders of at least a majority of the voting power of all of the then outstanding shares of the voting stock, voting together as a single class, to amend, alter, change or repeal any provision of our certificate of incorporation or our bylaws, which could preclude stockholders from bringing matters before annual or special meetings of stockholders and delay changes in our board of directors and also may inhibit the ability of an acquirer to effect such amendments to facilitate an unsolicited takeover attempt;
the ability of our board of directors to amend the bylaws, which may allow our board of directors to take additional actions to prevent an unsolicited takeover and inhibit the ability of an acquirer to amend the bylaws to facilitate an unsolicited takeover attempt; and
advance notice procedures with which stockholders must comply to nominate candidates to our board of directors or to propose matters to be acted upon at a stockholders’ meeting, which could preclude stockholders from bringing matters before annual or special meetings of stockholders and delay changes in our board of directors and also may discourage or deter a potential acquirer from conducting a solicitation of proxies to elect the acquirer’s own slate of directors or otherwise attempting to obtain control of our company.
These provisions, alone or together, could delay or prevent hostile takeovers and changes in control or changes in our board of directors or management.
In addition, as a Delaware corporation, we are subject to provisions of Delaware law, including Section 203 of the DGCL, which may prohibit certain stockholders holding 15% or more of our outstanding capital stock from engaging in certain business combinations with us for a specified period of time.
Any provision of our certificate of incorporation, bylaws or Delaware law that has the effect of delaying or preventing a change in control could limit the opportunity for our stockholders to receive a premium for their shares of our capital stock and could also affect the price that some investors are willing to pay for our common stock.
Item 2. Unregistered Sales of Equity Securities and Use of Proceeds.
None.
Purchases of Equity Securities
None.
Item 3. Default Upon Senior Securities
None.
Item 4. Mine Safety Disclosures
None.
Item 5. Other Information
During our last fiscal quarter, the following officer, as defined in Rule 16a-1(f), terminated two “Rule 10b5-1 trading arrangements” as defined in Regulation S-K Item 408, as follows:
On May 16, 2023, Stan Klimoff, our former Chief Strategy Officer, terminated two Rule 10b5-1 trading arrangements providing for the sale from time to time of an aggregate of up to 144,000 shares of our common stock for Mr. Klimoff’s personal account and for the sale from time to time of an aggregate of 72,084 shares of our common stock for Mr. Klimoff’s trust account. The trading arrangement was intended to satisfy the affirmative defense in Rule 10b5-1(c). Each Rule 10b5-1 plan was set to sell a portion of Mr. Klimoff’s shares each month starting on September 7, 2022. The duration of the trading arrangement for Mr. Klimoff’s personal account was until August 31, 2023, or earlier if all transactions under the trading arrangement are completed. The duration of the trading arrangement for Mr. Klimoff’s trust account was until August 8, 2023, or earlier if all transactions under the trading arrangement are completed.
No other officers or directors, as defined in Rule 16a-1(f), adopted or terminated a “Rule 10b5-1 trading arrangement” as defined in Regulation S-K Item 408, during the last fiscal quarter.



Item 6. Exhibits.
The exhibits listed in the accompanying Exhibit Index are filed or incorporated by reference as part of this Quarterly Report on Form 10-Q.
EXHIBIT INDEX
Exhibit Number
Description
Incorporated by Reference From FormIncorporated by Reference From Exhibit NumberDate Filed
31.1Filed herewith
31.2Filed herewith
32.1*Furnished herewith
32.2*Furnished herewith
101.INSXBRL Instance Document - the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.Filed herewith
101.SCHXBRL Taxonomy Extension Schema DocumentFiled herewith
101.CALXBRL Taxonomy Extension Calculation Linkbase DocumentFiled herewith
101.DEFXBRL Taxonomy Extension Definition Linkbase DocumentFiled herewith
101,LABXBRL Taxonomy Extension Label Linkbase DocumentFiled herewith
101.PREXBRL Taxonomy Extension Presentation Linkbase DocumentFiled herewith
104Cover Page Interactive Data File the cover page interactive data is embedded within the Inline XBRL document or included within the Exhibit 101 attachmentsFiled herewith
*    The certifications furnished in Exhibits 32.1 and 32.2 hereto are deemed to accompany this Quarterly Report on Form 10-Q and will not be deemed “filed” for purposes of Section 18 of the Securities Exchange Act of 1934, as amended. Such certifications will not be deemed to be incorporated by reference into any filings under the Securities Act of 1933, as amended, or the Securities Exchange Act of 1934, as amended, except to the extent that the registrant specifically incorporates it by reference.



SIGNATURES
Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.
Grid Dynamics Holdings, Inc.
Date: August 3, 2023By:/s/ Leonard Livschitz
Leonard Livschitz
Chief Executive Officer and Director
(Principal Executive Officer)
Date: August 3, 2023By:/s/ Anil Doradla
Anil Doradla
Chief Financial Officer
(Principal Financial and Accounting Officer)


EX-31.1 2 gdyn-20230630xex311.htm EX-31.1 Document

Exhibit 31.1
CERTIFICATION OF PRINCIPAL EXECUTIVE OFFICER
PURSUANT TO
SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002
I, Leonard Livschitz, certify that:
1.I have reviewed this quarterly report on Form 10-Q of Grid Dynamics Holdings, Inc.;
2.Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;
3.Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;
4.The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:
(a)designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
(b)designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
(c)evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
(d)disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and
5.The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):
(a)all significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and
(b)any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.
Date: August 3, 2023By:/s/ Leonard Livschitz
Name:Leonard Livschitz
Title:Chief Executive Officer and Director
(Principal Executive Officer)


EX-31.2 3 gdyn-20230630xex312.htm EX-31.2 Document

Exhibit 31.2
CERTIFICATION OF PRINCIPAL FINANCIAL OFFICER
PURSUANT TO
SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002
I, Anil Doradla, certify that:
1.I have reviewed this quarterly report on Form 10-Q of Grid Dynamics Holdings, Inc.;
2.Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;
3.Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;
4.The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:
(a)designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
(b)designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
(c)evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
(d)disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and
5.The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):
(a)all significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and
(b)any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.
Date: August 3, 2023By:/s/ Anil Doradla
Name:Anil Doradla
Title:Chief Financial Officer
(Principal Financial and Accounting Officer)


EX-32.1 4 gdyn-20230630xex321.htm EX-32.1 Document

Exhibit 32.1
CERTIFICATION PURSUANT TO
18 U.S.C. SECTION 1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
I, Leonard Livschitz, Chief Executive Officer of Grid Dynamics Holdings, Inc. (the “Company”), certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that to my knowledge:
(1)The quarterly report on Form 10-Q for the Company for the quarter ended June 30, 2023 (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.
Date: August 3, 2023By:/s/ Leonard Livschitz
Name:Leonard Livschitz
Title:Chief Executive Officer and Director
(Principal Executive Officer)


EX-32.2 5 gdyn-20230630xex322.htm EX-32.2 Document

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
I, Anil Doradla, Chief Financial Officer of Grid Dynamics Holdings, Inc. (the “Company”), certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that to my knowledge:
(1)The quarterly report on Form 10-Q for the Company for the quarter ended June 30, 2023 (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.
Date: August 3, 2023By:/s/ Anil Doradla
Name:Anil Doradla
Title:Chief Financial Officer
(Principal Financial and Accounting Officer)


EX-101.SCH 6 gdyn-20230630.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0000001 - Document - Cover Page link:presentationLink link:calculationLink link:definitionLink 0000002 - Statement - UNAUDITED CONDENSED CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 0000003 - Statement - UNAUDITED CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000004 - Statement - UNAUDITED CONDENSED CONSOLIDATED STATEMENTS OF LOSS AND COMPREHENSIVE LOSS link:presentationLink link:calculationLink link:definitionLink 0000005 - Statement - UNAUDITED CONSOLIDATED STATEMENT OF STOCKHOLDERS’ EQUITY link:presentationLink link:calculationLink link:definitionLink 0000006 - Statement - UNAUDITED CONDENSED CONSOLIDATED STATEMENT OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 0000007 - Disclosure - Nature of operations and summary of significant accounting policies link:presentationLink link:calculationLink link:definitionLink 0000008 - Disclosure - Acquisitions link:presentationLink link:calculationLink link:definitionLink 0000009 - Disclosure - Fair Value link:presentationLink link:calculationLink link:definitionLink 0000010 - Disclosure - Prepaid expenses and other current assets link:presentationLink link:calculationLink link:definitionLink 0000011 - Disclosure - Property and equipment, net link:presentationLink link:calculationLink link:definitionLink 0000012 - Disclosure - Intangible assets, net link:presentationLink link:calculationLink link:definitionLink 0000013 - Disclosure - Accrued expenses and other current liabilities link:presentationLink link:calculationLink link:definitionLink 0000014 - Disclosure - Debt link:presentationLink link:calculationLink link:definitionLink 0000015 - Disclosure - Revenue link:presentationLink link:calculationLink link:definitionLink 0000016 - Disclosure - Leases link:presentationLink link:calculationLink link:definitionLink 0000017 - Disclosure - Income taxes link:presentationLink link:calculationLink link:definitionLink 0000018 - Disclosure - Stock-based compensation link:presentationLink link:calculationLink link:definitionLink 0000019 - Disclosure - Earnings per share link:presentationLink link:calculationLink link:definitionLink 0000020 - Disclosure - Commitments and contingencies link:presentationLink link:calculationLink link:definitionLink 0000021 - Disclosure - Subsequent events link:presentationLink link:calculationLink link:definitionLink 9954701 - Disclosure - Nature of operations and summary of significant accounting policies (Policies) link:presentationLink link:calculationLink link:definitionLink 9954702 - Disclosure - Acquisitions (Tables) link:presentationLink link:calculationLink link:definitionLink 9954703 - Disclosure - Fair Value (Tables) link:presentationLink link:calculationLink link:definitionLink 9954704 - Disclosure - Prepaid expenses and other current assets (Tables) link:presentationLink link:calculationLink link:definitionLink 9954705 - Disclosure - Property and equipment, net (Tables) link:presentationLink link:calculationLink link:definitionLink 9954706 - Disclosure - Intangible assets, net (Tables) link:presentationLink link:calculationLink link:definitionLink 9954707 - Disclosure - Accrued expenses and other current liabilities (Tables) link:presentationLink link:calculationLink link:definitionLink 9954708 - Disclosure - Revenue (Tables) link:presentationLink link:calculationLink link:definitionLink 9954709 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink 9954710 - Disclosure - Stock-based compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 9954711 - Disclosure - Earnings per share (Tables) link:presentationLink link:calculationLink link:definitionLink 9954712 - Disclosure - Acquisitions - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954713 - Disclosure - Acquisitions - Assets acquired and liabilities assumed (Details) link:presentationLink link:calculationLink link:definitionLink 9954714 - Disclosure - Acquisitions - Intangible assets acquired (Details) link:presentationLink link:calculationLink link:definitionLink 9954715 - Disclosure - Acquisitions - Pro forma information (Details) link:presentationLink link:calculationLink link:definitionLink 9954716 - Disclosure - Fair Value - Fair Value Of Contingent Consideration Payable (Details) link:presentationLink link:calculationLink link:definitionLink 9954717 - Disclosure - Fair Value - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954718 - Disclosure - Fair Value -Financial Assets and Liabilities Not Measured at Fair Value on a Recurring Basis (Details) link:presentationLink link:calculationLink link:definitionLink 9954719 - Disclosure - Prepaid expenses and other current assets (Details) link:presentationLink link:calculationLink link:definitionLink 9954720 - Disclosure - Property and Equipment, net (Details) link:presentationLink link:calculationLink link:definitionLink 9954721 - Disclosure - Intangible assets, net - Summary of Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 9954722 - Disclosure - Intangible assets, net - Future Amortization Expenses (Detail) link:presentationLink link:calculationLink link:definitionLink 9954723 - Disclosure - Accrued expenses and other current liabilities - Components of Accrued Expenses and Other Current Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 9954724 - Disclosure - Accrued expenses and other current liabilities - Related Parties (Details) link:presentationLink link:calculationLink link:definitionLink 9954725 - Disclosure - Debt - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954726 - Disclosure - Revenue - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954727 - Disclosure - Revenue - Disaggregation of Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 9954728 - Disclosure - Revenue - Concentration Risk (Details) link:presentationLink link:calculationLink link:definitionLink 9954729 - Disclosure - Revenue - Related Parties (Details) link:presentationLink link:calculationLink link:definitionLink 9954730 - Disclosure - Leases - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954731 - Disclosure - Leases - Lease Cost (Details) link:presentationLink link:calculationLink link:definitionLink 9954732 - Disclosure - Leases - Schedule of Supplemental Lease Information (Details) link:presentationLink link:calculationLink link:definitionLink 9954733 - Disclosure - Leases - Operating Lease Maturities (Details) link:presentationLink link:calculationLink link:definitionLink 9954733 - Disclosure - Leases - Operating Lease Maturities (Details) link:presentationLink link:calculationLink link:definitionLink 9954734 - Disclosure - Income taxes (Details) link:presentationLink link:calculationLink link:definitionLink 9954735 - Disclosure - Stock-based compensation - Schedule of employee stock-based compensation recognized (Details) link:presentationLink link:calculationLink link:definitionLink 9954736 - Disclosure - Stock-based compensation - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954737 - Disclosure - Stock-based compensation - Schedule of option activity (Details) link:presentationLink link:calculationLink link:definitionLink 9954738 - Disclosure - Stock-based compensation - Schedule of restricted stock unit and performance stock unit activity (Details) link:presentationLink link:calculationLink link:definitionLink 9954739 - Disclosure - Earnings per share - Schedule of Computation of Basic and Diluted Earnings Per Share (Details) link:presentationLink link:calculationLink link:definitionLink 9954740 - Disclosure - Earnings per share - Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 gdyn-20230630_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 8 gdyn-20230630_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 9 gdyn-20230630_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Deferred income taxes Deferred Income Taxes and Tax Credits Stock Appreciation Rights (SARs) Stock Appreciation Rights (SARs) [Member] Variable Rate [Domain] Variable Rate [Domain] Change in fair value of contingent consideration payable included in Other income/(expense) Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Gain (Loss) Included in Earnings Pay vs Performance Disclosure [Line Items] Accrued expenses Accrued Liabilities, Current Statistical Measurement [Domain] Statistical Measurement [Domain] Line of credit, maximum borrowing capacity Line of Credit Facility, Maximum Borrowing Capacity Engineering, research, and development Research and Development Expense Acquisition date fair value of contingent consideration payable Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Issuances Changes in assets and liabilities: Increase (Decrease) in Operating Capital [Abstract] Underlying Security Market Price Change Underlying Security Market Price Change, Percent Related Party Transaction [Line Items] Related Party Transaction [Line Items] Cash and cash equivalents Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents Award Type [Domain] Award Type [Domain] Fair Value as of Grant Date Award Grant Date Fair Value Outstanding, beginning balance (in shares) Outstanding, ending balance (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number Operating lease, remaining term Lessee, Operating Lease, Remaining Lease Term Mutual Mobile Mutual Mobile Inc. [Member] Mutual Mobile Inc. Debt Debt Disclosure [Text Block] Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Payments to acquire business Payments to Acquire Businesses, Gross Schedule of business acquisition, assets acquired and liabilities assumed Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block] Revolving Credit Facility Revolving Credit Facility [Member] Effect of exchange rate changes on cash and cash equivalents Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations Deferred tax liabilities Deferred Income Tax Liabilities, Net MNPI Disclosure Timed for Compensation Value MNPI Disclosure Timed for Compensation Value [Flag] Performance stock units Performance Shares [Member] Accounts payable Accounts Payable, Current Computers and equipment Computer Equipment [Member] Accrued income taxes Increase (Decrease) in Accrued Taxes Payable Restatement Determination Date: Restatement Determination Date [Axis] Purchase of investment Payments to Acquire Investments Unbilled receivable Unbilled Receivables [Member] Unbilled Receivables Commitments and contingencies (Note 14) Commitments and Contingencies Insider Trading Policies and Procedures [Line Items] Rule 10b5-1 Arrangement Terminated Rule 10b5-1 Arrangement Terminated [Flag] Payments of tax obligations resulted from exercises of stock options, net of proceeds Payment Net of Proceeds, Tax Withholding, Share-Based Payment Arrangement Amount of cash outflow to satisfy grantee's tax withholding obligation for options exercised under share-based payment arrangement net of amount of cash inflow from exercise . Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] 2028 Lessee, Operating Lease, Liability, to be Paid, Year Five Contract liabilities Deferred Revenue, Current Restatement does not require Recovery Restatement Does Not Require Recovery [Text Block] Geographical [Axis] Geographical [Axis] Line of Credit Facility [Line Items] Line of Credit Facility [Line Items] Income taxes Income Tax Disclosure [Text Block] Mutual Mobile and NextSphere Mutual Mobile and NextSphere [Member] Mutual Mobile and NextSphere combined Property, plant and equipment Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment Customer [Axis] Customer [Axis] Current liabilities Liabilities, Current [Abstract] Schedule of business acquisition, finite-lived intangibles Schedule of Finite-Lived Intangible Assets Acquired as Part of Business Combination [Table Text Block] Business Acquisition [Line Items] Business Acquisition [Line Items] Weighted Average Grant Date Fair Value Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract] Fair Value, Recurring and Nonrecurring [Table] Fair Value, Recurring and Nonrecurring [Table] Payment of contingent consideration related to previously acquired businesses Payment for Contingent Consideration Liability, Financing Activities Diluted (in dollars per share) Earnings Per Share, Diluted PEO Total Compensation Amount PEO Total Compensation Amount Property, Plant and Equipment [Table] Property, Plant and Equipment [Table] Accounts receivable, net of allowance of $524 and $443 as of June 30, 2023 and December 31, 2022, respectively Accounts receivable Accounts Receivable, after Allowance for Credit Loss, Current Trading Arrangements, by Individual Trading Arrangements, by Individual [Table] Level 3 Fair Value, Inputs, Level 3 [Member] Options outstanding, beginning balance (in shares) Options outstanding, ending balance (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number Exercise of stock options Stock Issued During Period, Value, Stock Options Exercised Trading Symbol Trading Symbol Non-PEO NEO Average Compensation Actually Paid Amount Non-PEO NEO Average Compensation Actually Paid Amount Non-compete agreements Noncompete Agreements [Member] Options granted (in dollars per share) Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price Net income/(loss) Net income/(loss) Net loss Net Income (Loss) Thereafter Finite-Lived Intangible Asset, Expected Amortization, after Year Five Total current liabilities Liabilities, Current Fair Value Disclosures [Abstract] Changed Peer Group, Footnote Changed Peer Group, Footnote [Text Block] Company Selected Measure Name Company Selected Measure Name Leases Lessee, Operating Leases [Text Block] Liabilities and equity Liabilities and Equity [Abstract] Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets [Line Items] Compensation Related Costs [Abstract] Cash and Cash Equivalents [Domain] Cash and Cash Equivalents [Domain] Prepaid income taxes Prepaid Taxes Stockholders’ equity Equity, Attributable to Parent [Abstract] Concentration Risk Benchmark [Domain] Concentration Risk Benchmark [Domain] Exercise of stock options (in shares) Options exercised (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period Schedule of Computation of Basic and Diluted Earnings Per Share Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Executive Category: Executive Category [Axis] Number of Shares Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward] Options exercised (in dollars per share) Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price Level 1 Fair Value, Inputs, Level 1 [Member] Name Measure Name Name Forgone Recovery, Individual Name Reported Value Measurement Reported Value Measurement [Member] Goodwill Goodwill Schedule of property and equipment Property, Plant and Equipment [Table Text Block] Equity Components [Axis] Equity Components [Axis] Additional 402(v) Disclosure Additional 402(v) Disclosure [Text Block] Remaining shares available for grant (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant Lessee, Lease, Description [Table] Lessee, Lease, Description [Table] Measurement Basis [Axis] Measurement Basis [Axis] Options granted (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross Underlying Securities Award Underlying Securities Amount Entity Small Business Entity Small Business Weighted average shares outstanding Weighted Average Number of Shares Outstanding, Basic [Abstract] 2026 Finite-Lived Intangible Asset, Expected Amortization, Year Four Stan Klimoff Trading Arrangement, Tranche One [Member] Stan Klimoff Trading Arrangement, Tranche One Local Phone Number Local Phone Number Accounts receivable Increase (Decrease) in Accounts Receivable Fair Value Measurement [Domain] Fair Value Measurement [Domain] Recovery of Erroneously Awarded Compensation Disclosure [Line Items] Letter of Credit Letter of Credit [Member] Accounts receivable Accounts Receivable [Member] Measurement Frequency [Axis] Measurement Frequency [Axis] Operating lease liabilities, noncurrent Operating Lease, Liability, Noncurrent Nature of operations and summary of significant accounting policies Organization, Consolidation and Presentation of Financial Statements Disclosure and Significant Accounting Policies [Text Block] Restricted stock units Restricted Stock Units (RSUs) [Member] Forgone Recovery due to Violation of Home Country Law, Amount Forgone Recovery due to Violation of Home Country Law, Amount Debt issuance cost Payments of Debt Issuance Costs Fair Value, Liabilities Reconciliation [Roll Forward] Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] Portion at Fair Value Measurement Portion at Fair Value Measurement [Member] Income Statement Location [Axis] Income Statement Location [Axis] Line of Credit Facility [Table] Line of Credit Facility [Table] Tax withholding obligation Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation Schedule of Operating Lease Maturities Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block] Europe Europe [Member] Principles of consolidation, variable interest entities Consolidation, Variable Interest Entity, Policy [Policy Text Block] Payables and Accruals [Abstract] Accrued income taxes Accrued Income Taxes, Current Product and Service [Domain] Product and Service [Domain] Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block] Other Performance Measure, Amount Other Performance Measure, Amount Aggregate Available Trading Arrangement, Securities Aggregate Available Amount Schedule of Lease Cost and Supplemental Lease Information Lease, Cost [Table Text Block] Engineering, research, and development Research and Development Expense [Member] Cash flows from investing activities Net Cash Provided by (Used in) Investing Activities [Abstract] Insider Trading Policies and Procedures Not Adopted Insider Trading Policies and Procedures Not Adopted [Text Block] Antidilutive securities excluded from computation of earnings per share (in shares) Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Award Type [Axis] Award Type [Axis] Granted (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period Plan Name [Domain] Plan Name [Domain] Document Quarterly Report Document Quarterly Report Unrecognized compensation expense, excluding options Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV [Domain] General and administrative General and Administrative Expense [Member] Property and equipment, gross Property, Plant and Equipment, Gross Options outstanding, weighted average contractual term (in years) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term Lease assets obtained in exchange for liabilities Right-of-Use Asset Obtained in Exchange for Operating Lease Liability Trading Arrangement: Trading Arrangement [Axis] Less: imputed interest Lessee, Operating Lease, Liability, Undiscounted Excess Amount Contingent consideration, measurement input Business Combination, Contingent Consideration, Liability, Measurement Input Use of estimates Use of Estimates, Policy [Policy Text Block] PEO Actually Paid Compensation Amount PEO Actually Paid Compensation Amount Entity File Number Entity File Number Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table] Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table] Prepaid expenses Prepaid Expense, Current Measurement Input, Discount Rate Measurement Input, Discount Rate [Member] Schedule of restricted stock unit activity Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block] Operating lease liabilities, current Operating Lease, Liability, Current Acquired software Computer Software, Intangible Asset [Member] Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items] Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items] Entity Shell Company Entity Shell Company 2026 Lessee, Operating Lease, Liability, to be Paid, Year Three Business Acquisition, Acquiree [Domain] Business Acquisition, Acquiree [Domain] Property, Plant and Equipment [Line Items] Property, Plant and Equipment [Line Items] Recently adopted accounting pronouncements and recently issued accounting pronouncements New Accounting Pronouncements, Policy [Policy Text Block] Intangible assets, net Intangible assets, net Finite-Lived Intangible Assets, Net Restatement Determination Date Restatement Determination Date Unbilled receivables Unbilled Receivables, Current Rule 10b5-1 Arrangement Adopted Rule 10b5-1 Arrangement Adopted [Flag] Cash and cash equivalents, beginning of period Cash and cash equivalents, end of period Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents Less: Accumulated amortization Finite-Lived Intangible Assets, Accumulated Amortization 2025 Lessee, Operating Lease, Liability, to be Paid, Year Two Issuance of shares and payments of tax obligations resulted from net share settlement of vested stock awards Restricted Stock, Value, Shares Issued Net of Tax Withholdings Customer 2 Customer Two [Member] Customer Two Stock Price or TSR Estimation Method Stock Price or TSR Estimation Method [Text Block] Operating lease cost Operating Lease, Cost Common stock, shares issued (in shares) Common Stock, Shares, Issued Vested and released (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period Consideration transferred Business Combination, Consideration Transferred Gross profit Gross Profit Security Exchange Name Security Exchange Name Accumulated other comprehensive income/(loss) Accumulated Other Comprehensive Income (Loss), Net of Tax Stock options Stock options to purchase common stock Employee Stock Option [Member] Period for recognition Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition Maximum Maximum [Member] Comprehensive income/(loss) Comprehensive Income (Loss), Net of Tax, Attributable to Parent Document Type Document Type Tabular List, Table Tabular List [Table Text Block] Diluted loss per share (in usd per share) Business Acquisition, Pro Forma Earnings Per Share, Diluted Short-term lease cost Short-Term Lease, Cost Entity Address, Address Line One Entity Address, Address Line One Entity Address, Address Line Two Entity Address, Address Line Two Customer 1 Customer One [Member] Customer One Accrued expenses and other current liabilities Total accrued expenses and other current liabilities Accrued Liabilities and Other Liabilities Antidilutive Securities, Name [Domain] Antidilutive Securities, Name [Domain] Stock-based compensation Share-Based Payment Arrangement [Text Block] Basis of presentation Basis of Accounting, Policy [Policy Text Block] Weighted Average Exercise Price Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract] Business Acquisition [Axis] Business Acquisition [Axis] Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table] Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table] Allowance for doubtful accounts Accounts Receivable, Allowance for Credit Loss, Current Tradenames Trademarks and Trade Names [Member] Customer Concentration Risk Customer Concentration Risk [Member] Schedule of Intangible assets Schedule of Finite-Lived Intangible Assets [Table Text Block] Variable Rate [Axis] Variable Rate [Axis] Income Statement [Abstract] Income Statement [Abstract] Contract with Customer, Basis of Pricing [Axis] Contract with Customer, Basis of Pricing [Axis] Unbilled receivables Increase (Decrease) in Contract with Customer, Asset Options forfeited (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures in Period Value added, goods and service taxes receivable Value Added Tax Receivable, Current Prepaid income taxes Increase (Decrease) in Prepaid Taxes Title of 12(b) Security Title of 12(b) Security Insider Trading Policies and Procedures Adopted Insider Trading Policies and Procedures Adopted [Flag] Cash equivalents Cash and Cash Equivalents, Fair Value Disclosure Acquisitions Business Combination Disclosure [Text Block] Aggregate Erroneous Compensation Not Yet Determined Aggregate Erroneous Compensation Not Yet Determined [Text Block] Net loss Business Acquisition, Pro Forma Net Income (Loss) Fair Value, Liability, Recurring Basis, Unobservable Input Reconciliation, Gain (Loss), Statement of Income or Comprehensive Income [Extensible Enumeration] Fair Value, Liability, Recurring Basis, Unobservable Input Reconciliation, Gain (Loss), Statement of Income or Comprehensive Income [Extensible Enumeration] Outstanding, beginning balance (in dollars per share) Outstanding, ending balance (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value Other prepaid and current assets Other Assets, Current Income Tax Disclosure [Abstract] Income Tax Disclosure [Abstract] Forgone Recovery due to Expense of Enforcement, Amount Forgone Recovery due to Expense of Enforcement, Amount Share-based Payment Arrangement [Abstract] Share-Based Payment Arrangement [Abstract] Entity Tax Identification Number Entity Tax Identification Number Total lease cost Lease, Cost Statistical Measurement [Axis] Statistical Measurement [Axis] Entity Interactive Data Current Entity Interactive Data Current Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Other noncurrent assets Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Noncurrent Assets Total Shareholder Return Amount Total Shareholder Return Amount Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Adjustment To PEO Compensation, Footnote Adjustment To PEO Compensation, Footnote [Text Block] Variable lease cost Variable Lease, Cost (Reversal) Variable Lease, Cost (Reversal) Related and Nonrelated Party Status [Axis] Related and Nonrelated Party Status [Axis] Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Accumulated deficit Retained Earnings (Accumulated Deficit) Measure: Measure [Axis] Commitments and Contingencies Disclosure [Abstract] Commitments and Contingencies Disclosure [Abstract] Name Outstanding Recovery, Individual Name Technology, Media and Telecom Technology, Media, And Telecom [Member] Technology, Media, And Telecom Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Current assets Assets, Current [Abstract] Leases [Abstract] Guarantee deposits placed Security Deposit Entity Address, State or Province Entity Address, State or Province Compensation Actually Paid vs. Total Shareholder Return Compensation Actually Paid vs. Total Shareholder Return [Text Block] Cash flows from operating activities Net Cash Provided by (Used in) Operating Activities [Abstract] Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] Schedule of Related Party Transactions, by Related Party [Table] Schedule of Related Party Transactions, by Related Party [Table] 2023 (excluding six months ended June 30, 2023) Finite-Lived Intangible Asset, Expected Amortization, Year One Lease liability payments Operating Lease, Payments Common stock, shares outstanding (in shares) Common Stock, Shares, Outstanding PEO PEO [Member] Beginning balance (in shares) Ending balance (in shares) Shares, Outstanding Non-cash net change in lease assets due to lease modifications Noncash Increase (Decrease) In Operating Lease, Right-of-Use Asset Noncash Increase (Decrease) In Operating Lease, Right-of-Use Asset Common stock, par value (in dollars per share) Common Stock, Par or Stated Value Per Share Foreign currency translation adjustments, net of tax Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent Net cash used in investing activities Net Cash Provided by (Used in) Investing Activities Customer [Domain] Customer [Domain] Number of Options Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward] Outstanding Aggregate Erroneous Compensation Amount Outstanding Aggregate Erroneous Compensation Amount Effective tax rate, percentage Effective Income Tax Rate Reconciliation, Percent Current assets Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets Total Operating Lease, Liability Measurement Input Type [Domain] Measurement Input Type [Domain] Options vested and exercisable, aggregate intrinsic value Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Aggregate Intrinsic Value Credit Facility [Axis] Credit Facility [Axis] Total liabilities Liabilities Total Shareholder Return Vs Peer Group Total Shareholder Return Vs Peer Group [Text Block] Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] Options vested and exercisable (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Exercise Price Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract] Prepaid expenses and other current assets Increase (Decrease) in Prepaid Expense and Other Assets Accumulated other comprehensive income/(loss) AOCI Attributable to Parent [Member] Aggregate Erroneous Compensation Amount Aggregate Erroneous Compensation Amount Measurement Frequency [Domain] Measurement Frequency [Domain] Property and equipment, net Property, Plant and Equipment Disclosure [Text Block] All Executive Categories All Executive Categories [Member] Repayment of debt Repayments of Long-Term Lines of Credit 2018 Plan 2018 Stock Plan [Member] Non-Rule 10b5-1 Arrangement Adopted Non-Rule 10b5-1 Arrangement Adopted [Flag] Plan Name [Axis] Plan Name [Axis] Debt Disclosure [Abstract] North America North America [Member] Long-Lived Tangible Asset [Domain] Long-Lived Tangible Asset [Domain] Income/(loss) per share Earnings Per Share [Abstract] Sales and marketing Selling and Marketing Expense Common stock, $0.0001 par value; 110,000,000 shares authorized; 75,333,893 and 74,156,458 issued and outstanding as of June 30, 2023 and December 31, 2022, respectively Common Stock, Value, Issued General and administrative General and Administrative Expense 2020 Plan 2020 Equity Incentive Plan [Member] 2020 Equity Incentive Plan Financial Assets and Liabilities Not Measured at Fair Value on a Recurring Basis Fair Value Measurements, Nonrecurring [Table Text Block] Trade name Trade Names [Member] Operating lease right-of-use assets amortization expense Operating Lease, Right-of-Use Asset, Periodic Reduction Awards Close in Time to MNPI Disclosures, Table Awards Close in Time to MNPI Disclosures [Table Text Block] Total current assets Assets, Current Customer deposits Contract with Customer, Refund Liability, Current Schedules of Concentration of Risk, by Risk Factor Schedules of Concentration of Risk, by Risk Factor [Table Text Block] Revenue from Contract with Customer [Abstract] Acquisition fair value of contingent consideration issued for acquisition of business Contingent consideration Business Combination, Contingent Consideration, Liability All Individuals All Individuals [Member] Supplemental disclosure of cash flow information: Supplemental Cash Flow Information [Abstract] Other income/(expenses), net Other Nonoperating Income (Expense) Entity Filer Category Entity Filer Category Non-PEO NEO Average Total Compensation Amount Non-PEO NEO Average Total Compensation Amount Payable Other Liabilities Statement [Table] Statement [Table] Current Fiscal Year End Date Current Fiscal Year End Date Value added tax payable Sales and Excise Tax Payable, Current PEO Name PEO Name Concentration risk percentage Concentration Risk, Percentage Other liabilities Other Sundry Liabilities, Current Contingent consideration payable, beginning balance Contingent consideration payable, ending balance Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability Value Base Rate Base Rate [Member] Granted (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value 2027 Finite-Lived Intangible Asset, Expected Amortization, Year Five Options exercised (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expirations in Period Schedule of Prepaid and Other Current Assets Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Table Text Block] Net cash provided by operating activities Net Cash Provided by (Used in) Operating Activities Schedule of Finite-Lived Intangible Assets, Future Amortization Expense Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] Contingent consideration payable Business Combination, Contingent Consideration, Liability, Current Erroneously Awarded Compensation Recovery Erroneously Awarded Compensation Recovery [Table] Fair Value, Nonrecurring Fair Value, Nonrecurring [Member] Furniture and fixtures Furniture and Fixtures [Member] Award Timing, How MNPI Considered Award Timing, How MNPI Considered [Text Block] Accrued compensation and benefits Increase (Decrease) in Employee Related Liabilities Statement of Financial Position [Abstract] Statement of Financial Position [Abstract] Business Combination and Asset Acquisition [Abstract] Total stockholders’ equity Beginning balance Ending balance Equity, Attributable to Parent Stan Klimoff [Member] Stan Klimoff Schedule of Finite-Lived Intangible Assets [Table] Schedule of Finite-Lived Intangible Assets [Table] Revenue Business Acquisition, Pro Forma Revenue Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table] Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name [Domain] Concentration Risk Type [Axis] Concentration Risk Type [Axis] Subsequent Events [Abstract] Subsequent Events [Abstract] Income/(loss) before income taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Deferred taxes Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liabilities Equity securities without readily determinable fair value, amount Equity Securities without Readily Determinable Fair Value, Amount Long-Lived Tangible Asset [Axis] Long-Lived Tangible Asset [Axis] Depreciation and amortization Depreciation, Depletion and Amortization, Nonproduction Total liabilities assumed Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities Level 2 Fair Value, Inputs, Level 2 [Member] Entity Emerging Growth Company Entity Emerging Growth Company Increase (Decrease) in Stockholders' Equity [Roll Forward] Increase (Decrease) in Stockholders' Equity [Roll Forward] Named Executive Officers, Footnote Named Executive Officers, Footnote [Text Block] Intangible assets Fair Value Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles Document Fiscal Period Focus Document Fiscal Period Focus 2024 Lessee, Operating Lease, Liability, to be Paid, Year One Useful Life Estimated Useful Life Finite-Lived Intangible Asset, Useful Life Accrued expenses and other current liabilities Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities Pay vs Performance Disclosure, Table Pay vs Performance [Table Text Block] Antidilutive Securities [Axis] Antidilutive Securities [Axis] 2027 Lessee, Operating Lease, Liability, to be Paid, Year Four Title Trading Arrangement, Individual Title Options outstanding, beginning balance (in dollars per share) Option outstanding, ending balance (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price Stock-based compensation Share-Based Payment Arrangement, Noncash Expense Stan Klimoff Trading Arrangement, Tranche Two [Member] Stan Klimoff Trading Arrangement, Tranche Two Common Stock Common Stock [Member] Individual: Individual [Axis] City Area Code City Area Code Entity Address, Postal Zip Code Entity Address, Postal Zip Code Product and Service [Axis] Product and Service [Axis] Earnings per share Earnings Per Share [Text Block] Income Statement Location [Domain] Income Statement Location [Domain] Other Other Geographic Regions Not Individually Disclosed [Member] Other Geographic Regions Not Individually Disclosed Reconciliation of Level 3 Acquisition-Related Contingent Consideration Payable Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block] Document Fiscal Year Focus Document Fiscal Year Focus Geographical [Domain] Geographical [Domain] Software Software and Software Development Costs [Member] Minimum Minimum [Member] Property and equipment, net Property and equipment, net Property, Plant and Equipment, Net Schedule of option activity Share-Based Payment Arrangement, Option, Activity [Table Text Block] Exercise Price Award Exercise Price Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class [Axis] CPG/Manufacturing(1) Manufactured Product, Other [Member] Maximum contingent consideration Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High Statement of Cash Flows [Abstract] Statement of Cash Flows [Abstract] Assets Assets [Abstract] Award Timing MNPI Disclosure Award Timing MNPI Disclosure [Text Block] Goodwill and Intangible Assets Disclosure [Abstract] Goodwill and Intangible Assets Disclosure [Abstract] Operating lease liabilities Increase (Decrease) in Operating Lease Liability Contract with Customer, Basis of Pricing [Domain] Contract with Customer, Basis of Pricing [Domain] Payments of tax obligations resulted from net share settlement of vested stock awards Payment, Tax Withholding, Share-Based Payment Arrangement Other Product and Service, Other [Member] Net cash used in financing activities Net Cash Provided by (Used in) Financing Activities Deferred tax assets Deferred Income Tax Assets, Net Lessee, Lease, Description [Line Items] Lessee, Lease, Description [Line Items] Commitments and contingencies Commitments and Contingencies Disclosure [Text Block] Percentage of voting interests acquired Business Acquisition, Percentage of Voting Interests Acquired Retained earnings/(accumulated deficit) Retained Earnings [Member] Schedule of stock-based compensation Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block] Adjustment to Non-PEO NEO Compensation Footnote Adjustment to Non-PEO NEO Compensation Footnote [Text Block] Total liabilities and stockholders’ equity Liabilities and Equity Other noncurrent assets Other Assets, Noncurrent Peer Group Total Shareholder Return Amount Peer Group Total Shareholder Return Amount Estimated future operating results period Estimated Future Operating Results Period, Subsequent To Acquisition Date Estimated Future Operating Results Period, Subsequent To Acquisition Date Basic (in dollars per share) Earnings Per Share, Basic Operating lease right-of-use assets, net Operating Lease, Right-of-Use Asset Unrecognized compensation expense, options Share-Based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount Accounting Policies [Abstract] Accounting Policies [Abstract] Equity Valuation Assumption Difference, Footnote Equity Valuation Assumption Difference, Footnote [Text Block] Erroneous Compensation Analysis Erroneous Compensation Analysis [Text Block] 2023 (excluding six months ended June 30, 2023) Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year Arrangement Duration Trading Arrangement Duration Entity Address, City or Town Entity Address, City or Town Award Timing MNPI Considered Award Timing MNPI Considered [Flag] Related Party Related Party [Member] Cash paid for income taxes Income Taxes Paid Options vested and exercisable (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number Principles of consolidation Consolidation, Policy [Policy Text Block] Document Transition Report Document Transition Report Award Timing Predetermined Award Timing Predetermined [Flag] Schedule of Business Acquisitions, by Acquisition [Table] Schedule of Business Acquisitions, by Acquisition [Table] Termination Date Trading Arrangement Termination Date Accounts payable Increase (Decrease) in Accounts Payable Common stock, shares authorized (in shares) Common Stock, Shares Authorized Accrued expenses and other current liabilities Accounts Payable, Accrued Liabilities, and Other Liabilities Disclosure, Current [Text Block] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Property, Plant and Equipment [Abstract] Property, Plant and Equipment [Abstract] Adjustments to reconcile net loss to net cash provided by operating activities: Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] All Trading Arrangements All Trading Arrangements [Member] Measurement Input Type [Axis] Measurement Input Type [Axis] All Adjustments to Compensation All Adjustments to Compensation [Member] Award Timing Disclosures [Line Items] Compensation Amount Outstanding Recovery Compensation Amount Machinery and automobiles Automobiles [Member] Bad debt expense Accounts Receivable, Credit Loss Expense (Reversal) Additional paid-in capital Additional Paid in Capital Forfeited (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value Finance Financial Service [Member] Number of employees acquired Business Acquisition, Number of Employees Acquired Business Acquisition, Number of Employees Acquired Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table] Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table] Options forfeited (in dollars per share) Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price Prepaid expenses and other current assets Total prepaid expenses and other current assets Prepaid Expense and Other Assets, Current Daily Simple SOFR, SONIA, Or SARON Rate Daily Simple SOFR, SONIA, Or SARON [Member] Daily Simple SOFR, SONIA, Or SARON 2025 Finite-Lived Intangible Asset, Expected Amortization, Year Three Forfeited (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period Contingent maximum borrowing capacity Line of Credit Facility, Contingent Maximum Borrowing Capacity Line of Credit Facility, Contingent Maximum Borrowing Capacity Insider Trading Arrangements [Line Items] Nature of operations Nature Of Business Policy [Policy Text Block] Description of business and nature of operations Prepaid expenses and other current assets Other Current Assets [Text Block] Options outstanding, aggregate intrinsic value Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value Numerator for basic and diluted loss per share NumeratorForBasicAndDilutedLossPerShareAbstract Entity Registrant Name Entity Registrant Name Material Terms of Trading Arrangement Material Terms of Trading Arrangement [Text Block] Award Timing Method Award Timing Method [Text Block] Net effect of dilutive stock options and restricted stock units Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements Performance factor percentage Share-based Compensation Arrangement by Share-based Payment Award, Performance Goal Share-based Compensation Arrangement by Share-based Payment Award, Performance Goal 2024 Finite-Lived Intangible Asset, Expected Amortization, Year Two Adjustment to Compensation, Amount Adjustment to Compensation Amount Cost of revenue Cost of Sales [Member] Change in fair value of contingent consideration issued for acquisition of business Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability Retail Retail [Member] Number of major customers Number Of Major Customers Number of major customers. Document Period End Date Document Period End Date Compensation Actually Paid vs. Net Income Compensation Actually Paid vs. Net Income [Text Block] Peer Group Issuers, Footnote Peer Group Issuers, Footnote [Text Block] Adoption Date Trading Arrangement Adoption Date Less: Accumulated depreciation and amortization Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment Schedule of business acquisition, pro forma information Business Acquisition, Pro Forma Information [Table Text Block] Entity Central Index Key Entity Central Index Key Total stock-based compensation Share-Based Payment Arrangement, Expense Non-Rule 10b5-1 Arrangement Terminated Non-Rule 10b5-1 Arrangement Terminated [Flag] Intangible assets, gross Finite-Lived Intangible Assets, Gross Provision for income taxes Income tax expense (benefit) Income Tax Expense (Benefit) Accrued rebates Accrued Rebates Rebates offered on sale that reduce the amount of revenue recognzied. Accrued compensation and benefits Employee-related Liabilities, Current Fair Value Fair Value Disclosures [Text Block] Number of reportable segments Number of Operating Segments Sales Revenue Benchmark [Member] Total assets acquired Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets Acquired Including Goodwill Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets Acquired Including Goodwill Name Trading Arrangement, Individual Name Disaggregation of Revenue Disaggregation of Revenue [Table Text Block] Weighted average remaining lease term, in years Operating Lease, Weighted Average Remaining Lease Term Purchase price allocation Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net Revenues Total Revenues Revenue from Contract with Customer, Excluding Assessed Tax Compensation Actually Paid vs. Company Selected Measure Compensation Actually Paid vs. Company Selected Measure [Text Block] Other revenues Other Revenue [Member] Other Revenue Amendment Flag Amendment Flag Intangible assets, net Intangible Assets Disclosure [Text Block] Money Market Funds Money Market Funds [Member] Cash and Cash Equivalents [Axis] Cash and Cash Equivalents [Axis] Schedule of performance share activity Share-Based Payment Arrangement, Performance Shares, Activity [Table Text Block] Cash and cash equivalents Cash and Cash Equivalents, at Carrying Value Shares withheld (in shares) Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation Acquisition of business, net of cash acquired Payments to Acquire Businesses, Net of Cash Acquired Weighted average discount rate Operating Lease, Weighted Average Discount Rate, Percent Credit Facility [Domain] Credit Facility [Domain] Basis spread on variable rate Debt Instrument, Basis Spread on Variable Rate Estimated Useful Life Property, Plant and Equipment, Useful Life Compensation Actually Paid vs. Other Measure Compensation Actually Paid vs. Other Measure [Text Block] Leasehold improvements Leasehold Improvements [Member] Sales and marketing Selling and Marketing Expense [Member] Related and Nonrelated Party Status [Domain] Related and Nonrelated Party Status [Domain] Property, Plant and Equipment, Excluding Capitalized Software Costs Property, Plant and Equipment, Excluding Capitalized Software Costs [Member] Property, Plant and Equipment, Excluding Capitalized Software Costs Accounts payable, accrued expenses and other liabilities Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable and Accrued Expenses Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable and Accrued Expenses Diluted (in shares) Weighted average number of shares outstanding - diluted (in shares) Weighted Average Number of Shares Outstanding, Diluted Capitalized software development costs Software Development [Member] Forgone Recovery, Explanation of Impracticability Forgone Recovery, Explanation of Impracticability [Text Block] Operating expenses Operating Expenses [Abstract] Revenue Revenue from Contract with Customer [Text Block] Purchase of property and equipment Payments to Acquire Property, Plant, and Equipment Company Selected Measure Amount Company Selected Measure Amount Additional paid-in capital Additional Paid-in Capital [Member] Issuance of shares and payments of tax obligations resulted from net share settlement of vested stock awards (in shares) Restricted Stock, Shares Issued Net of Shares for Tax Withholdings Options expired (in dollars per share) Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Expirations in Period, Weighted Average Exercise Price Total assets Assets Name Awards Close in Time to MNPI Disclosures, Individual Name Cover [Abstract] Options vested and exercisable, weighted average contractual term (in years) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Remaining Contractual Term SOFR Or Adjusted EURIBOR Rate SOFR Or Adjusted EURIBOR Rate [Member] SOFR Or Adjusted EURIBOR Rate Subsequent events Subsequent Events [Text Block] Stock-based compensation APIC, Share-Based Payment Arrangement, Increase for Cost Recognition Debt issuance cost amortization Amortization of Debt Issuance Costs Schedule of accrued expenses and other current liabilities Other Current Liabilities [Table Text Block] Vested and released (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value Non-NEOs Non-NEOs [Member] Total lease payments Lessee, Operating Lease, Liability, to be Paid NextSphere NextSphere Technologies Inc [Member] NextSphere Technologies Inc Total operating expenses Operating Expenses Net increase/(decrease) in cash and cash equivalents Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Cash flows from financing activities Net Cash Provided by (Used in) Financing Activities [Abstract] Non-cash net change in lease liability due to lease modifications Noncash Increase (Decrease) In Operating Lease, Liability Noncash Increase (Decrease) In Operating Lease, Liability Net income/(loss) per share Earnings Per Share, Basic And Diluted EPS [Abstract] Earnings Per Share, Basic And Diluted EPS Non-PEO NEO Non-PEO NEO [Member] Time-and-material Time-and-Materials Contract [Member] Equity Component [Domain] Equity Component [Domain] Adjustment to Compensation: Adjustment to Compensation [Axis] Non-GAAP Measure Description Non-GAAP Measure Description [Text Block] Basic (in shares) Weighted average number of shares outstanding - basic (in shares) Weighted Average Number of Shares Outstanding, Basic Entity Current Reporting Status Entity Current Reporting Status Concentration Risk Type [Domain] Concentration Risk Type [Domain] Fixed-fee Fixed-Price Contract [Member] Income/(loss) from operations Operating Income (Loss) Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Axis] Cost of revenue Cost of Revenue Pay vs Performance Disclosure Pay vs Performance Disclosure [Table] Statement [Line Items] Statement [Line Items] Estimate of Fair Value Measurement Estimate of Fair Value Measurement [Member] Aggregate Intrinsic Value and Weighted Average Contractual Term (in years) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract] Forgone Recovery due to Disqualification of Tax Benefits, Amount Forgone Recovery due to Disqualification of Tax Benefits, Amount Awards Close in Time to MNPI Disclosures Awards Close in Time to MNPI Disclosures [Table] Debt outstanding Long-Term Line of Credit Customer relationships Customer Relationships [Member] Proceeds from debt Proceeds from Long-Term Lines of Credit EX-101.PRE 10 gdyn-20230630_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT XML 11 R1.htm IDEA: XBRL DOCUMENT v3.23.2
Cover Page - shares
6 Months Ended
Jun. 30, 2023
Jul. 31, 2023
Cover [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Jun. 30, 2023  
Document Transition Report false  
Entity File Number 001-38685  
Entity Registrant Name Grid Dynamics Holdings, Inc.  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 83-0632724  
Entity Address, Address Line One 5000 Executive Parkway  
Entity Address, Address Line Two Suite 520  
Entity Address, City or Town San Ramon  
Entity Address, State or Province CA  
Entity Address, Postal Zip Code 94583  
City Area Code 650  
Local Phone Number 523-5000  
Title of 12(b) Security Common Stock, par value $0.0001 per share  
Trading Symbol GDYN  
Security Exchange Name NASDAQ  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Large Accelerated Filer  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   75,336,445
Current Fiscal Year End Date --12-31  
Amendment Flag false  
Entity Central Index Key 0001743725  
Document Fiscal Year Focus 2023  
Document Fiscal Period Focus Q2  
XML 12 R2.htm IDEA: XBRL DOCUMENT v3.23.2
UNAUDITED CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Current assets    
Cash and cash equivalents $ 246,176 $ 256,729
Accounts receivable, net of allowance of $524 and $443 as of June 30, 2023 and December 31, 2022, respectively 48,804 48,358
Unbilled receivables 8,079 5,591
Prepaid income taxes 9,224 4,294
Prepaid expenses and other current assets 9,189 8,154
Total current assets 321,472 323,126
Property and equipment, net 10,024 8,215
Operating lease right-of-use assets, net 11,203 7,694
Intangible assets, net 28,641 20,375
Goodwill 54,633 45,514
Deferred tax assets 3,734 4,998
Other noncurrent assets 1,531 1,224
Total assets 431,238 411,146
Current liabilities    
Accounts payable 5,302 3,897
Accrued compensation and benefits 20,832 13,065
Accrued income taxes 14,215 10,718
Operating lease liabilities, current 4,154 2,505
Accrued expenses and other current liabilities 8,967 8,525
Total current liabilities 53,470 38,710
Deferred tax liabilities 3,524 3,756
Operating lease liabilities, noncurrent 7,682 5,636
Total liabilities 64,676 48,102
Commitments and contingencies (Note 14)
Stockholders’ equity    
Common stock, $0.0001 par value; 110,000,000 shares authorized; 75,333,893 and 74,156,458 issued and outstanding as of June 30, 2023 and December 31, 2022, respectively 7 7
Additional paid-in capital 384,969 378,006
Accumulated deficit (19,464) (14,121)
Accumulated other comprehensive income/(loss) 1,050 (848)
Total stockholders’ equity 366,562 363,044
Total liabilities and stockholders’ equity $ 431,238 $ 411,146
XML 13 R3.htm IDEA: XBRL DOCUMENT v3.23.2
UNAUDITED CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Statement of Financial Position [Abstract]    
Allowance for doubtful accounts $ 524 $ 443
Common stock, par value (in dollars per share) $ 0.0001 $ 0.0001
Common stock, shares authorized (in shares) 110,000,000 110,000,000
Common stock, shares issued (in shares) 75,333,893 74,156,458
Common stock, shares outstanding (in shares) 75,333,893 74,156,458
XML 14 R4.htm IDEA: XBRL DOCUMENT v3.23.2
UNAUDITED CONDENSED CONSOLIDATED STATEMENTS OF LOSS AND COMPREHENSIVE LOSS - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Income Statement [Abstract]        
Revenues $ 77,342 $ 77,335 $ 157,422 $ 148,745
Cost of revenue 49,037 48,474 100,542 93,105
Gross profit 28,305 28,861 56,880 55,640
Operating expenses        
Engineering, research, and development 3,273 3,840 7,476 6,936
Sales and marketing 5,963 5,132 11,597 9,347
General and administrative 17,735 30,738 42,465 50,003
Total operating expenses 26,971 39,710 61,538 66,286
Income/(loss) from operations 1,334 (10,849) (4,658) (10,646)
Other income/(expenses), net 3,008 (626) 4,690 (1,326)
Income/(loss) before income taxes 4,342 (11,475) 32 (11,972)
Provision for income taxes 1,715 1,711 5,375 3,881
Net income/(loss) 2,627 (13,186) (5,343) (15,853)
Foreign currency translation adjustments, net of tax 1,403 (782) 1,898 (1,065)
Comprehensive income/(loss) $ 4,030 $ (13,968) $ (3,445) $ (16,918)
Income/(loss) per share        
Basic (in dollars per share) $ 0.03 $ (0.20) $ (0.07) $ (0.24)
Diluted (in dollars per share) $ 0.03 $ (0.20) $ (0.07) $ (0.24)
Weighted average shares outstanding        
Basic (in shares) 75,145 67,136 74,804 67,028
Diluted (in shares) 76,850 67,136 74,804 67,028
XML 15 R5.htm IDEA: XBRL DOCUMENT v3.23.2
UNAUDITED CONSOLIDATED STATEMENT OF STOCKHOLDERS’ EQUITY - USD ($)
shares in Thousands, $ in Thousands
Total
Common Stock
Additional paid-in capital
Retained earnings/(accumulated deficit)
Accumulated other comprehensive income/(loss)
Beginning balance (in shares) at Dec. 31, 2021   66,851      
Beginning balance at Dec. 31, 2021 $ 227,051 $ 7 $ 212,077 $ 15,093 $ (126)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net income/(loss) (2,667)     (2,667)  
Stock-based compensation 8,661   8,661    
Exercise of stock options (in shares)   72      
Exercise of stock options 292   292    
Issuance of shares and payments of tax obligations resulted from net share settlement of vested stock awards (in shares)   134      
Issuance of shares and payments of tax obligations resulted from net share settlement of vested stock awards (1,802)   (1,802)    
Foreign currency translation adjustments, net of tax (283)       (283)
Ending balance (in shares) at Mar. 31, 2022   67,057      
Ending balance at Mar. 31, 2022 231,252 $ 7 219,228 12,426 (409)
Beginning balance (in shares) at Dec. 31, 2021   66,851      
Beginning balance at Dec. 31, 2021 227,051 $ 7 212,077 15,093 (126)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net income/(loss) (15,853)        
Foreign currency translation adjustments, net of tax (1,065)        
Ending balance (in shares) at Jun. 30, 2022   67,294      
Ending balance at Jun. 30, 2022 232,925 $ 7 234,869 (760) (1,191)
Beginning balance (in shares) at Mar. 31, 2022   67,057      
Beginning balance at Mar. 31, 2022 231,252 $ 7 219,228 12,426 (409)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net income/(loss) (13,186)     (13,186)  
Stock-based compensation 16,387   16,387    
Exercise of stock options (in shares)   160      
Exercise of stock options 538   538    
Issuance of shares and payments of tax obligations resulted from net share settlement of vested stock awards (in shares)   77      
Issuance of shares and payments of tax obligations resulted from net share settlement of vested stock awards (1,284)   (1,284)    
Foreign currency translation adjustments, net of tax (782)       (782)
Ending balance (in shares) at Jun. 30, 2022   67,294      
Ending balance at Jun. 30, 2022 232,925 $ 7 234,869 (760) (1,191)
Beginning balance (in shares) at Dec. 31, 2022   74,156      
Beginning balance at Dec. 31, 2022 363,044 $ 7 378,006 (14,121) (848)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net income/(loss) (7,970)     (7,970)  
Stock-based compensation 13,257   13,257    
Exercise of stock options (in shares)   1      
Exercise of stock options 10   10    
Issuance of shares and payments of tax obligations resulted from net share settlement of vested stock awards (in shares)   739      
Issuance of shares and payments of tax obligations resulted from net share settlement of vested stock awards (8,951)   (8,951)    
Foreign currency translation adjustments, net of tax 495       495
Ending balance (in shares) at Mar. 31, 2023   74,896      
Ending balance at Mar. 31, 2023 359,885 $ 7 382,322 (22,091) (353)
Beginning balance (in shares) at Dec. 31, 2022   74,156      
Beginning balance at Dec. 31, 2022 363,044 $ 7 378,006 (14,121) (848)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net income/(loss) (5,343)        
Foreign currency translation adjustments, net of tax 1,898        
Ending balance (in shares) at Jun. 30, 2023   75,334      
Ending balance at Jun. 30, 2023 366,562 $ 7 384,969 (19,464) 1,050
Beginning balance (in shares) at Mar. 31, 2023   74,896      
Beginning balance at Mar. 31, 2023 359,885 $ 7 382,322 (22,091) (353)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net income/(loss) 2,627     2,627  
Stock-based compensation 7,153   7,153    
Exercise of stock options (in shares)   13      
Exercise of stock options (66)   (66)    
Issuance of shares and payments of tax obligations resulted from net share settlement of vested stock awards (in shares)   425      
Issuance of shares and payments of tax obligations resulted from net share settlement of vested stock awards (4,440)   (4,440)    
Foreign currency translation adjustments, net of tax 1,403       1,403
Ending balance (in shares) at Jun. 30, 2023   75,334      
Ending balance at Jun. 30, 2023 $ 366,562 $ 7 $ 384,969 $ (19,464) $ 1,050
XML 16 R6.htm IDEA: XBRL DOCUMENT v3.23.2
UNAUDITED CONDENSED CONSOLIDATED STATEMENT OF CASH FLOWS
$ in Thousands
6 Months Ended
Jun. 30, 2023
USD ($)
Jun. 30, 2022
USD ($)
Cash flows from operating activities    
Net loss $ (5,343) $ (15,853)
Adjustments to reconcile net loss to net cash provided by operating activities:    
Depreciation and amortization 3,777 3,280
Operating lease right-of-use assets amortization expense 1,419 1,431
Bad debt expense 113 132
Deferred income taxes (1,203) (731)
Debt issuance cost amortization 45 20
Change in fair value of contingent consideration issued for acquisition of business (2,554) 0
Stock-based compensation 20,410 25,048
Changes in assets and liabilities:    
Accounts receivable 1,418 (5,454)
Unbilled receivables (1,826) (124)
Prepaid income taxes (4,791) (587)
Prepaid expenses and other current assets (755) (3,302)
Accounts payable 1,187 1,341
Accrued compensation and benefits 6,829 7,947
Operating lease liabilities (1,279) (1,642)
Accrued income taxes 3,116 3,078
Accrued expenses and other current liabilities 2,016 738
Net cash provided by operating activities 22,579 15,322
Cash flows from investing activities    
Purchase of property and equipment (3,753) (3,213)
Purchase of investment 0 (1,000)
Acquisition of business, net of cash acquired (17,830) 0
Net cash used in investing activities (21,583) (4,213)
Cash flows from financing activities    
Payments of tax obligations resulted from exercises of stock options, net of proceeds (56) 830
Payments of tax obligations resulted from net share settlement of vested stock awards (13,391) (3,086)
Payment of contingent consideration related to previously acquired businesses 0 (1,933)
Proceeds from debt 0 5,000
Repayment of debt 0 5,000
Debt issuance cost 0 (201)
Net cash used in financing activities (13,447) (4,390)
Effect of exchange rate changes on cash and cash equivalents 1,898 (1,065)
Net increase/(decrease) in cash and cash equivalents (10,553) 5,654
Cash and cash equivalents, beginning of period 256,729 144,364
Cash and cash equivalents, end of period 246,176 150,018
Supplemental disclosure of cash flow information:    
Cash paid for income taxes 8,142 $ 1,880
Acquisition fair value of contingent consideration issued for acquisition of business $ 932  
XML 17 R7.htm IDEA: XBRL DOCUMENT v3.23.2
Nature of operations and summary of significant accounting policies
6 Months Ended
Jun. 30, 2023
Accounting Policies [Abstract]  
Nature of operations and summary of significant accounting policies Nature of operations and summary of significant accounting policies
Grid Dynamics Holdings, Inc. (the “Company”) provides enterprise-level digital transformation in the areas of technology consulting, agile custom software development, and data analytics to Fortune 1000 companies. The Company’s headquarters and principal place of business is in San Ramon, California.
The following is a summary of critical accounting policies consistently applied in the preparation of the accompanying unaudited condensed consolidated financial statements. Full description of significant accounting policies is provided in our Annual Report on Form 10-K for the fiscal year ended December 31, 2022, as filed with the SEC on February 28, 2023.
Basis of presentation
The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States (“U.S. GAAP”) for interim financial information and in accordance with the rules and regulations of the Securities and Exchange Commission (“SEC”). Accordingly, they do not include all of the information and footnotes required by U.S. GAAP for complete financial statements. The unaudited condensed consolidated financial statements reflect all normal and recurring adjustments that are, in the opinion of the Company’s management, necessary for the fair presentation of the results of operations for the interim periods. Operating results for the three and six months ended June 30, 2023 are not necessarily indicative of the results that may be expected for the year ending December 31, 2023. These interim financial statements should be read in conjunction with the Company’s audited financial statements for the year ended December 31, 2022 included in the Company’s annual report on Form 10-K that the Company filed with the SEC on February 28, 2023.
Principles of consolidation
The accompanying unaudited condensed consolidated financial statements include the accounts of the Company and all of its subsidiaries that are directly or indirectly owned or controlled. Intercompany transactions and balances have been eliminated upon consolidation.
The Company provides services to its customers utilizing its own personnel as well as personnel from subcontractors. One of the subcontractors exclusively supports and performs services on behalf of the Company and its customers. The Company had no ownership in this subcontractor (“Affiliate”) as of June 30, 2023. The Company is required to apply accounting standards which address how a business enterprise should evaluate whether it has a controlling financial interest in a variable interest entity (“VIE”) through means other than voting rights and accordingly should determine whether or not to consolidate the entity. The Company has determined that it is required to consolidate the Affiliate because the Company has the power to direct the VIE’s most significant activities and is the primary beneficiary of the Affiliate. The assets and liabilities of the Affiliate primarily consist of inter-company balances and transactions all of which have been eliminated in consolidation.
Use of estimates
The preparation of the unaudited condensed consolidated financial statements in accordance with U.S. GAAP requires the Company to make estimates and assumptions that affect the amounts reported in the unaudited condensed consolidated financial statements and accompanying notes. Actual results could differ from these estimates and such differences could be material. Significant estimates include determination of fair value, useful lives and recoverability of intangible assets and goodwill, stock-based compensation, contingent consideration payable, determination of provision for income taxes, deferred tax assets and liabilities and uncertain tax positions.
Recently adopted accounting pronouncements
Changes to U.S. GAAP are established by the Financial Accounting Standards Board (the “FASB”), in the form of Accounting Standards Updates (“ASUs”), to the FASB’s ASC. The Company will adopt according these changes according to the various timetables the FASB specifies.
Measurement of Credit Losses on Financial Instruments In June 2016, the FASB issued ASU 2016-13, Financial Instruments-Credit Losses (Topic 326) — Measurement of Credit Losses on Financial Instruments that was subsequently
amended by ASU 2019-4, Codification Improvements to Topic 326, Financial Instruments — Credit Losses, ASU 2019-5, Financial Instruments — Credit Losses (Topic 326): Targeted Transition Relief, and clarified with the release of ASU 2020-2 Financial Instruments—Credit Losses (Topic 326) and Leases (Topic 842). These ASUs replace the current incurred loss impairment methodology with a methodology that reflects expected credit losses measured at amortized cost and certain other instruments, including loans, held-to-maturity debt securities, net investments in leases, and off-balance sheet credit exposures. The Company adopted Topic 326, effective January 1, 2023, using a modified-retrospective approach. Adoption of Topic 326 did not have any impact on its condensed consolidated financial statements.
Recently issued accounting pronouncements
The Company considered the applicability of all recently issued ASUs and believes their impact will not have a material impact on its condensed consolidated financial position, results of operations and cash flows upon adoption.
XML 18 R8.htm IDEA: XBRL DOCUMENT v3.23.2
Acquisitions
6 Months Ended
Jun. 30, 2023
Business Combination and Asset Acquisition [Abstract]  
Acquisitions Acquisitions
NextSphere — On April 18, 2023, the Company completed the acquisition of 100% of NextSphere Technologies, Inc. (“NextSphere”). Founded in 2006, NextSphere is headquartered in Tampa, FL, has an engineering presence in Phoenix, AZ, and operates two large engineering centers in India's tech hubs of Hyderabad and Chennai. NextSphere specializes in modern application development, systems monetization, product development, cloud and infrastructure services, and quality assurance. Over the years, NextSphere has worked with several brands across numerous industry verticals with expertise in Healthcare, Fintech and CPG/Manufacturing industries. The Company believes this acquisition will support the Company’s objectives of enhancing its technical capabilities, expanding its global footprint, and increasing its client base. The total purchase consideration is $25.2 million and consists of cash consideration of $24.3 million paid at closing, and fair value of the contingent consideration at the date of the acquisition of $0.9 million. The maximum amount of potential contingent cash consideration is $2.0 million. The contingent consideration is payable based on revenue and gross profit metrics to be achieved by NextSphere within 12 months. The Company recorded a liability for the contingent consideration amount based on the Company’s best estimate of the fair value of the expected payout. See Note 3 for further details on contingent consideration.
Mutual Mobile — On December 23, 2022, the Company acquired 100% of the equity interest of the software company Mutual Mobile Inc. (“Mutual Mobile”). Founded in 2009, Mutual Mobile is based in the United States and India, offers end-to-end design and development of next-generation applications, combining mobile, augmented/virtual/mixed reality, and cloud edge / IoT practices. The acquisition of Mutual Mobile added approximately 180 employees to the Company’s headcount. The acquisition will accelerate Company’s strategic expansion into the India engineering market and further solidifies Grid Dynamics’ commitment to global growth. The total purchase consideration is $16.1 million and consists of cash consideration of $12.8 million paid at closing, and fair value of the contingent consideration at the date of the acquisition of $3.3 million. The maximum amount of potential contingent cash consideration is $5.0 million. The contingent consideration is payable based on revenue and gross profit metrics to be achieved by Mutual Mobile within 12 months. The Company recorded a liability for the contingent consideration amount based on the Company’s best estimate of the fair value of the expected payout. See Note 3 for further details on contingent consideration.
The following table summarizes the estimated fair values of the assets acquired and liabilities assumed:
NextSphereMutual Mobile
(in thousands)
Current assets$9,708 $4,982 
Property, plant and equipment192 132 
Intangible assets9,906 3,749 
Goodwill9,119 9,556 
Other noncurrent assets511 102 
Total assets acquired$29,436 $18,521 
Accounts payable, accrued expenses and other liabilities(1,990)(1,576)
Deferred taxes(2,235)(875)
Total liabilities assumed$(4,225)$(2,451)
Purchase price allocation$25,211 $16,070 
Current assets acquired include cash and cash equivalents in the amount of $6.4 million for NextSphere and $3.5 million for Mutual Mobile, respectively. The purchase price for all acquisitions was assigned to assets acquired and liabilities assumed based on their estimated fair values as of the date of acquisition, and any excess was allocated to goodwill, as shown in the table above. Goodwill represents the value the Company expects to achieve through the implementation of operational synergies and growth opportunities as the Company expands its global reach. Goodwill for NextSphere and Mutual Mobile is not deductible for income tax purposes. 
For the acquisition of NextSphere and Mutual Mobile, the estimated fair values of the assets acquired and liabilities assumed are provisional and based on the information that was available as of the acquisition date. The Company expects to finalize the purchase price allocations as soon as practicable but no later than one year from the acquisition date.
The estimated fair value, useful lives and amortization methods of identifiable intangible assets as of the date of acquisition updated for any changes as of June 30, 2023 are as follows:
NextSphereMutual Mobile
Fair ValueUseful LifeFair ValueUseful Life
(in thousands, except in years)
Customer relationships$8,415 10 years$3,453 8 years
Acquired software995 2.5 years— 
Trade name496 2 years152 4 years
Non-compete agreements— 144 2 years
Total identified intangible assets$9,906 $3,749 
The Company used the acquisition method of accounting for all acquisitions, and consequently, the results of operations for all acquisitions are reported in the consolidated financial statements from the dates of acquisition.
The following unaudited pro forma information presents the combined results of operations as if the acquisitions of Mutual Mobile and NextSphere had occurred at the beginning of the year preceding the acquisition date. Pre-acquisition results of business acquired have been added to the Company’s historical results. The pro forma results contained in the table below include adjustments for amortization of acquired intangibles and related income taxes. Any potential cost savings or other operational efficiencies that could result from the acquisition are not included in these pro forma results.
These unaudited pro forma results have been prepared for comparative purposes only and are not necessarily indicative of the results of operations as they would have been had the acquisitions occurred on the assumed dates, nor are they necessarily an indication of future operating results.
Three Months Ended
June 30,
2022
Six Months Ended
June 30,
2022
(in thousands)
Revenue$82,515 $157,555 
Net loss$(12,559)$(13,904)
Diluted loss per share$(0.19)$(0.21)
XML 19 R9.htm IDEA: XBRL DOCUMENT v3.23.2
Fair Value
6 Months Ended
Jun. 30, 2023
Fair Value Disclosures [Abstract]  
Fair Value Fair value
The Company’s financial assets and liabilities, with the exceptions of contingent consideration payable described further herein, are all short term in nature; therefore, the carrying value of these items approximates their fair value.
The Company measures contingent consideration payable at fair value on a recurring basis using significant inputs that are not observable in the market. Fair value of the contingent consideration liability is based on the Monte-Carlo model which is primarily based on budgets and discounted cash flow analysis. The Company believes its estimates and assumptions are reasonable, however, there is significant judgment involved. Changes in the fair value of contingent consideration payable primarily result from changes in timing and amount of specific milestone estimates and changes in probability assumptions with respect to the likelihood of achieving the various earnout criteria. These changes could cause a material impact to, and volatility in the Company’s operating results.
During the three months ended December 31, 2022 and three months ended June 30, 2023 the Company completed the acquisitions of NextSphere and Mutual Mobile under which the Company committed to make a cash earnout payment subject to attainment of specific performance targets. The weighted average discount rate used to determine the fair value of NextSphere and Mutual Mobile contingent considerations was 15.5% and 10.3%, respectively.
The Company records contingent consideration payable in Other current liabilities in its unaudited consolidated balance sheet. A reconciliation of the beginning and ending balances of Level 3 acquisition-related contingent consideration payable using significant unobservable inputs for the six months ended June 30, 2023 are as follows:
Amount
(in thousands)
Contingent consideration payable as of December 31, 2022$3,288 
Acquisition date fair value of contingent consideration payable - NextSphere932 
Change in fair value of contingent consideration payable included in Other income/(expense) - Mutual Mobile(2,554)
Contingent consideration payable as of June 30, 2023
$1,666 
Financial Assets and Liabilities Not Measured at Fair Value on a Recurring Basis
Estimates of fair value of financial instruments not carried at fair value on a recurring basis are generally subjective in nature, and are determined as of a specific point in time based on the characteristics of the financial instruments and relevant market information. The Company’s financial assets and liabilities, are generally short-term in nature; therefore, the carrying value of these items approximates their fair value.
The following tables present the estimated fair values of the Company’s financial assets and liabilities not measured at fair value on a recurring basis as of the dates indicated:
Fair Value Hierarchy
BalanceEstimated Fair ValueLevel 1Level 2Level 3
(in thousands)
June 30, 2023
Financial Assets:
Cash equivalents:
Money market funds$197,211 $197,211 $197,211 $— $— 
December 31, 2022
Financial Assets:
Cash equivalents:
Money market funds$205,787 $205,787 $205,787 $— $— 
Non-Marketable Securities Without Readily Determinable Fair Values
The Company holds investment in equity securities of a related party that does not have readily determinable fair values. This investment is recorded at cost and is remeasured to fair value based on certain observable price changes or impairment events as they occur. The carrying amount of the investment was $1.0 million as of June 30, 2023 and December 31, 2022, and was classified as Other noncurrent assets in the Company’s unaudited condensed consolidated balance sheets.
XML 20 R10.htm IDEA: XBRL DOCUMENT v3.23.2
Prepaid expenses and other current assets
6 Months Ended
Jun. 30, 2023
Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]  
Prepaid expenses and other current assets Prepaid expenses and other current assets
The prepaid expenses and other current assets were as follows:
As of
June 30,
2023
December 31,
2022
(in thousands)
Prepaid expenses$4,854 $3,323 
Value added, goods and service taxes receivable2,019 1,384 
Guarantee deposits placed2,004 2,295 
Other prepaid and current assets312 1,152 
Total prepaid expenses and other current assets$9,189 $8,154 
XML 21 R11.htm IDEA: XBRL DOCUMENT v3.23.2
Property and equipment, net
6 Months Ended
Jun. 30, 2023
Property, Plant and Equipment [Abstract]  
Property and equipment, net Property and equipment, netProperty and equipment, net consisted of the following:
Estimated
Useful
Life
As of
June 30,
2023
December 31,
2022
(in years)(in thousands)
Computers and equipment
2-5
$12,798 $11,679 
Furniture and fixtures
3-10
1,706 1,614 
Leasehold improvements
2-8
1,258 646 
Software
3-5
1,196 1,053 
Machinery and automobiles
4-6
559 349 
$17,517 $15,341 
Less: Accumulated depreciation and amortization(10,688)(8,614)
$6,829 $6,727 
Capitalized software development costs
2-3
$5,831 $6,210 
Less: Accumulated amortization(2,636)(4,722)
$3,195 $1,488 
Property and equipment, net$10,024 $8,215 
XML 22 R12.htm IDEA: XBRL DOCUMENT v3.23.2
Intangible assets, net
6 Months Ended
Jun. 30, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Intangible assets, net Intangible assets, net
Intangible assets, net consisted of the following:
Estimated
Useful
Life
As of
June 30,
2023
December 31,
2022
(in years)(in thousands)
Customer relationships
8-12
$27,839 $19,424 
Tradenames
2-10
5,324 4,828 
Acquired software2.5995 — 
Non-compete agreements2584 584 
$34,742 $24,836 
Less: Accumulated amortization(6,101)(4,461)
Intangible assets, net$28,641 $20,375 
Based on the carrying value of the Company’s existing intangible assets as of June 30, 2023, the estimated amortization expense for the future years is as follows:
Years ending December 31, (in thousands)Amount
2023 (excluding six months ended June 30, 2023)
2,080 
20244,048 
20253,640 
20263,168 
20273,130 
Thereafter12,575 
Total$28,641 
XML 23 R13.htm IDEA: XBRL DOCUMENT v3.23.2
Accrued expenses and other current liabilities
6 Months Ended
Jun. 30, 2023
Payables and Accruals [Abstract]  
Accrued expenses and other current liabilities Accrued expenses and other current liabilities
The components of accrued expenses and other current liabilities were as follows:
As of
June 30,
2023
December 31, 2022
(in thousands)
Accrued rebates$1,964 $473 
Value added tax payable1,846 1,345 
Contingent consideration payable1,666 3,288 
Accrued expenses1,621 829 
Customer deposits789 754 
Other liabilities1,081 1,836 
Total accrued expenses and other current liabilities$8,967 $8,525 
As of June 30, 2023 and December 31, 2022 the Company had payable to its related party in the amount of $0.6 million that was classified as Other current liabilities in unaudited condensed consolidated balance sheet.
XML 24 R14.htm IDEA: XBRL DOCUMENT v3.23.2
Debt
6 Months Ended
Jun. 30, 2023
Debt Disclosure [Abstract]  
Debt Debt
Revolving Credit Facility — On March 15, 2022, the Company entered into a Credit Agreement (the “2022 Credit Agreement”) by and among the Company, as borrower, the guarantors party thereto from time to time, the lenders party thereto from time to time, and JPMorgan Chase Bank, N.A., as administrative agent for the lenders (the “Agent”). The 2022 Credit Agreement provides for a secured multicurrency revolving loan facility with an initial aggregate principal amount of up to $30.0 million, with a $10.0 million letter of credit sublimit. The Company may increase the size of the revolving loan facility up to $50.0 million, subject to certain conditions and additional commitments from existing and/or new lenders. The 2022 Credit Agreement matures on March 15, 2025.
At the Company’s option, borrowings under the 2022 Credit Agreement accrue interest at a per annum rate based on either (i) the base rate plus a margin ranging from 1.0% to 1.5%, (ii) an adjusted term Secured Overnight Financing Rate (“SOFR”) or adjusted the Euro Interbank Offer Rate (“EURIBOR”) (based on one, three or six-month interest periods) plus a margin ranging from 2.0% to 2.5%, or (iii) an adjusted daily simple SOFR rate (or SONIA rate in the case of loans denominated in pounds sterling, or SARON rate in the case of loans denominated in Swiss francs), plus a margin ranging from 2.0% to 2.5%, in each case, with the applicable margin determined based on the Company’s consolidated total leverage ratio. The Company is also obligated to pay other closing fees, administration fees, commitment fees and letter of credit fees customary for a credit facility of this size and type.
The Company’s obligations under the 2022 Credit Agreement are required to be guaranteed by certain of its domestic subsidiaries meeting materiality thresholds set forth in the 2022 Credit Agreement. Such obligations, including the guaranties, are secured by substantially all of the personal property of the Company and the Company’s subsidiary guarantors.

The 2022 Credit Agreement contains customary affirmative and negative covenants, including covenants limiting the ability of the Company and its subsidiaries to, among other things, incur debt, grant liens, undergo certain fundamental changes, make investments and acquisitions, make certain restricted payments, dispose of assets, enter into certain transactions with affiliates, and enter into burdensome agreements, in each case, subject to limitations and exceptions set forth in the 2022 Credit Agreement. The Company is also required to maintain compliance with a consolidated total leverage ratio, determined in accordance with the terms of the 2022 Credit Agreement. As of June 30, 2023, the Company was in compliance with all covenants contained in the 2022 Credit Agreement.
In October, 2017, the Company entered into a loan agreement for a revolving line of credit facility (the “Line of Credit”) with a borrowing capacity of $0.5 million. The Line of Credit is secured by substantially all of the Company’s assets and was secured in order to provide credit support for a letter of credit facility and balances under the Company’s credit cards. Borrowings under the Line of Credit are subject to a variable interest rate, based on changes in the Prime Rate, as calculated published by the Wall Street Journal. The Company closed the Line of Credit in March of 2022.
As of June 30, 2023 and December 31, 2022, respectively, the Company did not have any outstanding debt under the 2022 Credit Agreement.
XML 25 R15.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue
6 Months Ended
Jun. 30, 2023
Revenue from Contract with Customer [Abstract]  
Revenue Revenues
Disaggregation of revenues
The tables below present disaggregated revenues from contracts with customer by customer location, industries and contract-types. The Company believes this disaggregation best depicts how the nature, amount, timing and uncertainty of our revenues and cash flows are affected by industry, market and other economic factors. The Company has a single reportable segment for the six months ended June 30, 2023 and 2022.
The following table shows the disaggregation of the Company’s revenues by major customer location. Revenues are attributed to geographic regions based upon billed client location. Substantially all of the revenue in our North America region relates to operations in the United States.
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
Customer Location(in thousands)
North America$61,944 $63,658 $125,893 $121,267 
Europe15,251 13,596 31,145 27,331 
Other147 81 384 147 
Total Revenues$77,342 $77,335 $157,422 $148,745 
The following table shows the disaggregation of the Company’s revenues by main vertical markets:
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
Vertical(in thousands)
Retail$26,032 $25,452 $51,428 $48,759 
Technology, Media and Telecom24,096 23,391 50,907 44,835 
CPG/Manufacturing(1)
10,872 16,090 23,518 31,069 
Finance6,748 5,049 13,263 9,576 
Other9,594 7,353 18,306 14,506 
Total Revenues$77,342 $77,335 $157,422 $148,745 
__________________________
(1)CPG stands for Consumer Packaged Goods
The following table shows the disaggregation of the Company’s revenues by contract types:
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
Contract Type(in thousands)
Time-and-material$69,143 $71,002 $139,669 $136,208 
Fixed-fee7,731 6,333 17,285 12,537 
Other revenues468 — 468 — 
Total Revenues$77,342 $77,335 $157,422 $148,745 
Contract balances

A contract asset is a right to consideration that is conditional upon factors other than the passage of time. A contract liability, or deferred revenue, consists of advance payments and billings in excess of revenues recognized. As of June 30, 2023 and December 31, 2022 the Company did not have material contract assets. Contract liabilities were $0.4 million and $1.1 million as of June 30, 2023 and December 31, 2022, respectively.
Remaining performance obligation
ASC 606 “Revenue from Contracts with Customers” requires that the Company disclose the aggregate amount of transaction price that is allocated to performance obligations that have not yet been satisfied as of June 30, 2023 and December 31, 2022. This disclosure is not required for:
1)contracts with an original duration of one year or less, including contracts that can be terminated for convenience without a substantive penalty,
2)contracts for which the Company recognizes revenues based on the right to invoice for services performed,
3)variable consideration allocated entirely to a wholly unsatisfied performance obligation or to a wholly unsatisfied promise to transfer a distinct good or service that forms part of a single performance obligation in accordance with ASC 606-10-25-14(b), for which the criteria in ASC 606-10-32-40 have been met, or
4)variable consideration in the form of a sales-based or usage-based royalty promised in exchange for a license of intellectual property.
All of the Company’s contracts met one or more of these exemptions as of June 30, 2023 and December 31, 2022.
Customers concentration
The following table shows the amount of revenue derived from each customer exceeding 10% of the Company’s revenue:
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
Customer 114.0 %11.9 %13.9 %11.6 %
Customer 2n/a11.1 %n/a10.7 %
During the three and six months ended June 30, 2023 the Company recorded revenues from its related parties of $2.3 million and $4.0 million, respectively. During the same periods of 2022 the Company recorded revenue from related parties of $1.4 million and $2.6 million, respectively.
The following table shows number of customers exceeding 10% of the Company’s billed and unbilled receivable balances:
As of
June 30,
2023
December 31,
2022
Accounts receivable12
Unbilled receivable22
As of June 30, 2023 and December 31, 2022 accounts receivable from related parties were $1.2 million and $0.9 million, respectively.
XML 26 R16.htm IDEA: XBRL DOCUMENT v3.23.2
Leases
6 Months Ended
Jun. 30, 2023
Leases [Abstract]  
Leases Leases
A major part of the Company's lease obligations is for office real estate. The Company may also lease corporate apartments, cars and office equipment. Payments on some of our leases may depend on index or rate, including Consumer Price Index. Such payments are included in the calculation of lease liability and assets at the commencement dates, all future changes are accounted as variable payments similar to other variable payments, such as common area maintenance, property and other taxes, utilities and insurance that are based on the lessor’s cost.
The Company’s leases have remaining lease terms ranging from 0.4 to 4.8 years. Certain lease agreements may include the option to extend or terminate before the end of the contractual term and are often non-cancelable or cancellable only by the payment of penalties. The Company includes these options in the lease term when it is reasonably certain that they will be exercised.
As of June 30, 2023 and December 31, 2022, the Company had no finance leases. Operating lease expense is recorded on a straight-line basis over the lease term. During the three and six months ended June 30, 2023 and June 30, 2022 lease costs were as follows:
Three months ended
June 30,
Six Months Ended
June 30,
2023202220232022
(in thousands)
Operating lease cost$939 $858 $1,720 $1,552 
Variable lease cost68 (96)262 (72)
Short-term lease cost98 28 196 267 
Total lease cost$1,105 $790 $2,178 $1,747 
Supplemental information related to operating lease transactions is as follows:
Three months ended
March 31,
Six Months Ended
June 30,
2023202220232022
(in thousands)
Lease liability payments$913 $752 $1,640 $1,618 
Lease assets obtained in exchange for liabilities$3,614 $1,514 $4,636 $1,514 
Non-cash net change in lease assets due to lease modifications$26 $(858)$26 $(886)
Non-cash net change in lease liability due to lease modifications$(26)$858 $(26)$886 
Weighted average remaining lease term and discount rate as of June 30, 2023 is as follows:
As of
June 30,
2023
December 31,
2022
Weighted average remaining lease term, in years3.62.8
Weighted average discount rate6.4 %4.7 %

As of June 30, 2023, operating lease liabilities will mature as follows:
Years ending December 31, (in thousands)Lease Payments
2023 (excluding six months ended June 30, 2023)
$2,121 
20244,060 
20253,092 
20262,219 
20271,844 
202889 
Total lease payments13,425 
Less: imputed interest(1,589)
Total$11,836 
There were no material lease agreements signed with related parties as of June 30, 2023 and December 31, 2022.
XML 27 R17.htm IDEA: XBRL DOCUMENT v3.23.2
Income taxes
6 Months Ended
Jun. 30, 2023
Income Tax Disclosure [Abstract]  
Income taxes Income taxesThe Company recorded income tax expense of $1.7 million and $1.7 million for the three months ended June 30, 2023 and 2022, respectively. The Company’s effective tax rate was 39.5% and (14.9)% for the second quarter of 2023 and 2022, respectively. On a year-to-date basis, the Company recorded income tax expense of $5.4 million and $3.9 million for 2023 and
2022, respectively. Effective tax rate was not meaningful and (32.4)% during the six months ended June 30, 2023 and 2022, respectively. Effective tax rate for six months ended June 30, 2023 was not meaningful due to immaterial income before tax compared to income tax expense recorded.
The change in the effective tax rate for the three and six months ended June 30, 2023, as compared to the same period in 2022 was attributable mainly to Section 162(m) compensation deduction limitations and foreign inclusion adjustments.
For the three and six months ended June 30, 2023, the Company used a discrete effective tax rate method to calculate income taxes due to sensitivity of the forecast. Through June 30, 2023, the Company determined that small changes in estimated “ordinary” income would result in significant changes in the estimated annual effective tax rate causing material distortion in the year-to-date tax provision. As of June 30, 2023, the Company is unable to produce a reliable estimate of ordinary income for the quarter and year ending 2023 due to the inability to reliably or accurately forecast 2023 operating expenses. Similarly, for the three and six months ended June 30, 2023, due to uncertainties created by geopolitical risks, the Company’s estimated annual effective tax rate method would not provide a reliable estimate and therefore was not used.
XML 28 R18.htm IDEA: XBRL DOCUMENT v3.23.2
Stock-based compensation
6 Months Ended
Jun. 30, 2023
Share-Based Payment Arrangement [Abstract]  
Stock-based compensation Stock-based compensation
Employee stock-based compensation cost recognized in the consolidated statements of loss and comprehensive loss was as follows:
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
(in thousands)
Cost of revenue$520 $272 $980 $521 
Engineering, research, and development1,020 1,638 2,673 2,502 
Sales and marketing823 1,207 1,878 1,878 
General and administrative4,790 13,270 14,879 20,147 
Total stock-based compensation$7,153 $16,387 $20,410 $25,048 
Stock Options
2018 Plan
Stock option activity under the Company’s 2018 Plan is set forth below:
Number of OptionsWeighted Average Exercise PriceAggregate Intrinsic Value (in thousands)Weighted Average Contractual Term
(in years)
Options outstanding as of December 31, 2022
1,598,811 $3.54 $12,279 6.0
Options exercised(32,795)$3.54 
Options outstanding as of June 30, 2023
1,566,016 $3.54 $8,942 5.6
Options vested and exercisable as of June 30, 2023
1,519,130 $3.54 $8,674 5.5
The total unrecognized compensation expenses related to 2018 Plan options as of June 30, 2023 was $0.01 million to be expensed on a straight-line basis over 0.2 years.
2020 Plan
As of June 30, 2023, 7.3 million shares were available for grant under 2020 Incentive Stock Plan (“2020 Plan”).
Stock option activity under the Company’s 2020 Plan is set forth below:
Number of OptionsWeighted Average Exercise PriceAggregate Intrinsic Value (in thousands)Weighted Average Contractual Term
(in years)
Options outstanding as of December 31, 2022
3,003,611 $13.22 $3,883 8.3
Options granted597,000 $11.68 
Options exercised(2,123)$8.20 
Options forfeited(164,708)$15.51 
Options expired(14,639)$20.71 
Options outstanding as of June 30, 2023
3,419,141 $12.82 $1,337 7.8
Options vested and exercisable as of June 30, 2023
1,415,499 $10.90 $1,069 6.6

The Company elected the policy to account for forfeitures as these occur. The total unrecognized compensation expenses related to 2020 Stock Plan options as of June 30, 2023 was $11.5 million to be expensed on a straight-line basis over the remaining 2.8 years.
Restricted Stock Units
RSUs granted do not participate in earnings, dividends, and do not have voting rights until vested.
The following table summarizes activity of the Company’s RSUs for the six months ended June 30, 2023:
Number of SharesWeighted Average Grant Date Fair Value
Unvested awards as of December 31, 2022
2,245,968 $11.99 
Awards granted143,000 $11.64 
Awards vested and released(989,969)$12.40 
Awards forfeited(101,883)$11.22 
Unvested awards as of June 30, 2023
1,297,116 $11.69 
During the six months ended June 30, 2023 the Company net withheld and returned to the 2020 Plan pool 0.5 million shares to cover $5.3 million tax obligations for RSU releases. The total unrecognized compensation expenses related to 2020 Stock Plan RSUs as of June 30, 2023 was $12.9 million to be expensed on a straight-line basis over 1.0 years.
Performance Stock Units
The following table summarizes activity of the Company's PSUs for the six months ended June 30, 2023:
Number of SharesWeighted Average Grant Date Fair Value
Unvested awards as of December 31, 2022
1,328,482 $39.41 
Awards granted523,938 $11.97 
Awards vested and released(1,328,482)$39.41 
Awards forfeited(32,375)$11.97 
Unvested awards as of June 30, 2023
491,563 $11.97 
During first quarter of 2023, the Company withheld 0.7 million shares to cover the $8.1 million tax obligations related to the release of vested 2022 PSU shares certified at 256% performance goal achievement on February 21, 2023. The total estimated
unrecognized compensation expenses related to 2020 Stock Plan PSUs as of June 30, 2023 was $6.1 million to be expensed over 0.7 years based on projected 158% performance goal achievement estimated as probable.
XML 29 R19.htm IDEA: XBRL DOCUMENT v3.23.2
Earnings per share
6 Months Ended
Jun. 30, 2023
Earnings Per Share [Abstract]  
Earnings per share Earnings per share
Basic earnings per share (“EPS”) is computed by dividing the net income applicable to common stockholders for the period by the weighted average number of shares of common stock outstanding during the same period. Diluted EPS is computed by dividing net income available to common shareholders by the weighted-average number of shares of common stock outstanding during the period increased to include the number of additional shares of common stock that would have been outstanding if the potentially dilutive securities had been issued. Potentially dilutive securities include outstanding stock options, restricted stock units, and performance stock units. The dilutive effect of potentially dilutive securities is reflected in diluted EPS in order of dilution and by application of the treasury stock method and the if-converted method for stock-based compensation and convertible preferred securities, respectively.
The following table sets forth the computation of basic and diluted EPS of common stock as follows:
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
(in thousands, except per share data)
Numerator for basic and diluted loss per share
Net income/(loss)2,627 (13,186)(5,343)(15,853)
Denominator:
Weighted-average shares outstanding – basic75,14567,13674,80467,028
Net effect of dilutive stock options and restricted stock units1,705
Weighted-average shares outstanding – diluted76,85067,13674,80467,028
Net income/(loss) per share
Basic$0.03 $(0.20)$(0.07)$(0.24)
Diluted$0.03 $(0.20)$(0.07)$(0.24)
The following table represents the number of share equivalents outstanding during the period that were excluded from the calculation of diluted net income/(loss) per share attributable to common stockholders because including them would have had an anti-dilutive effect.
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
(in thousands)
Stock options to purchase common stock2,118 4,380 4,827 4,280 
Restricted stock units138 2,178 1,942 1,817 
Performance stock units— 1,131 957 1,153 
Total2,256 7,689 7,726 7,250 
XML 30 R20.htm IDEA: XBRL DOCUMENT v3.23.2
Commitments and contingencies
6 Months Ended
Jun. 30, 2023
Commitments and Contingencies Disclosure [Abstract]  
Commitments and contingencies Commitments and contingencies
Legal Matters
The Company is subject to legal proceedings and claims that arise in the ordinary course of its business. Management evaluates each claim and provides for potential loss when the claim is probable to be paid and reasonably estimable. While adverse decisions in certain of these litigation matters, claims and administrative proceedings could have a material effect on a particular period’s results of operations, subject to the uncertainties inherent in estimating future costs for contingent liabilities,
management believes that any future accruals with respect to these currently known contingencies would not have a material effect on the financial condition, liquidity or cash flows of the Company. There were no material amounts required to be reflected in these unaudited condensed consolidated financial statements related to contingencies.
XML 31 R21.htm IDEA: XBRL DOCUMENT v3.23.2
Subsequent events
6 Months Ended
Jun. 30, 2023
Subsequent Events [Abstract]  
Subsequent events Subsequent eventsThe Company performed its subsequent event procedures through August 3, 2023, the date these unaudited condensed consolidated financial statements were issued.
XML 32 R22.htm IDEA: XBRL DOCUMENT v3.23.2
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Mar. 31, 2023
Jun. 30, 2022
Mar. 31, 2022
Jun. 30, 2023
Jun. 30, 2022
Pay vs Performance Disclosure            
Net income/(loss) $ 2,627 $ (7,970) $ (13,186) $ (2,667) $ (5,343) $ (15,853)
XML 33 R23.htm IDEA: XBRL DOCUMENT v3.23.2
Insider Trading Arrangements
3 Months Ended
Jun. 30, 2023
shares
Trading Arrangements, by Individual  
Rule 10b5-1 Arrangement Adopted false
Non-Rule 10b5-1 Arrangement Adopted false
Non-Rule 10b5-1 Arrangement Terminated false
Stan Klimoff [Member]  
Trading Arrangements, by Individual  
Name Stan Klimoff
Title Chief Strategy Officer
Adoption Date September 7, 2022
Rule 10b5-1 Arrangement Terminated true
Arrangement Duration 358 days
Stan Klimoff Trading Arrangement, Tranche One [Member] | Stan Klimoff [Member]  
Trading Arrangements, by Individual  
Aggregate Available 144,000
Stan Klimoff Trading Arrangement, Tranche Two [Member] | Stan Klimoff [Member]  
Trading Arrangements, by Individual  
Aggregate Available 72,084
XML 34 R24.htm IDEA: XBRL DOCUMENT v3.23.2
Nature of operations and summary of significant accounting policies (Policies)
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2023
Accounting Policies [Abstract]    
Nature of operations Grid Dynamics Holdings, Inc. (the “Company”) provides enterprise-level digital transformation in the areas of technology consulting, agile custom software development, and data analytics to Fortune 1000 companies. The Company’s headquarters and principal place of business is in San Ramon, California.  
Basis of presentation  
Basis of presentation
The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States (“U.S. GAAP”) for interim financial information and in accordance with the rules and regulations of the Securities and Exchange Commission (“SEC”). Accordingly, they do not include all of the information and footnotes required by U.S. GAAP for complete financial statements. The unaudited condensed consolidated financial statements reflect all normal and recurring adjustments that are, in the opinion of the Company’s management, necessary for the fair presentation of the results of operations for the interim periods. Operating results for the three and six months ended June 30, 2023 are not necessarily indicative of the results that may be expected for the year ending December 31, 2023. These interim financial statements should be read in conjunction with the Company’s audited financial statements for the year ended December 31, 2022 included in the Company’s annual report on Form 10-K that the Company filed with the SEC on February 28, 2023.
Principles of consolidation  
Principles of consolidation
The accompanying unaudited condensed consolidated financial statements include the accounts of the Company and all of its subsidiaries that are directly or indirectly owned or controlled. Intercompany transactions and balances have been eliminated upon consolidation.
Principles of consolidation, variable interest entities   The Company provides services to its customers utilizing its own personnel as well as personnel from subcontractors. One of the subcontractors exclusively supports and performs services on behalf of the Company and its customers. The Company had no ownership in this subcontractor (“Affiliate”) as of June 30, 2023. The Company is required to apply accounting standards which address how a business enterprise should evaluate whether it has a controlling financial interest in a variable interest entity (“VIE”) through means other than voting rights and accordingly should determine whether or not to consolidate the entity. The Company has determined that it is required to consolidate the Affiliate because the Company has the power to direct the VIE’s most significant activities and is the primary beneficiary of the Affiliate. The assets and liabilities of the Affiliate primarily consist of inter-company balances and transactions all of which have been eliminated in consolidation.
Use of estimates  
Use of estimates
The preparation of the unaudited condensed consolidated financial statements in accordance with U.S. GAAP requires the Company to make estimates and assumptions that affect the amounts reported in the unaudited condensed consolidated financial statements and accompanying notes. Actual results could differ from these estimates and such differences could be material. Significant estimates include determination of fair value, useful lives and recoverability of intangible assets and goodwill, stock-based compensation, contingent consideration payable, determination of provision for income taxes, deferred tax assets and liabilities and uncertain tax positions.
Recently adopted accounting pronouncements and recently issued accounting pronouncements  
Recently adopted accounting pronouncements
Changes to U.S. GAAP are established by the Financial Accounting Standards Board (the “FASB”), in the form of Accounting Standards Updates (“ASUs”), to the FASB’s ASC. The Company will adopt according these changes according to the various timetables the FASB specifies.
Measurement of Credit Losses on Financial Instruments In June 2016, the FASB issued ASU 2016-13, Financial Instruments-Credit Losses (Topic 326) — Measurement of Credit Losses on Financial Instruments that was subsequently
amended by ASU 2019-4, Codification Improvements to Topic 326, Financial Instruments — Credit Losses, ASU 2019-5, Financial Instruments — Credit Losses (Topic 326): Targeted Transition Relief, and clarified with the release of ASU 2020-2 Financial Instruments—Credit Losses (Topic 326) and Leases (Topic 842). These ASUs replace the current incurred loss impairment methodology with a methodology that reflects expected credit losses measured at amortized cost and certain other instruments, including loans, held-to-maturity debt securities, net investments in leases, and off-balance sheet credit exposures. The Company adopted Topic 326, effective January 1, 2023, using a modified-retrospective approach. Adoption of Topic 326 did not have any impact on its condensed consolidated financial statements.
Recently issued accounting pronouncements
The Company considered the applicability of all recently issued ASUs and believes their impact will not have a material impact on its condensed consolidated financial position, results of operations and cash flows upon adoption.
XML 35 R25.htm IDEA: XBRL DOCUMENT v3.23.2
Acquisitions (Tables)
6 Months Ended
Jun. 30, 2023
Business Combination and Asset Acquisition [Abstract]  
Schedule of business acquisition, assets acquired and liabilities assumed
The following table summarizes the estimated fair values of the assets acquired and liabilities assumed:
NextSphereMutual Mobile
(in thousands)
Current assets$9,708 $4,982 
Property, plant and equipment192 132 
Intangible assets9,906 3,749 
Goodwill9,119 9,556 
Other noncurrent assets511 102 
Total assets acquired$29,436 $18,521 
Accounts payable, accrued expenses and other liabilities(1,990)(1,576)
Deferred taxes(2,235)(875)
Total liabilities assumed$(4,225)$(2,451)
Purchase price allocation$25,211 $16,070 
Schedule of business acquisition, finite-lived intangibles
The estimated fair value, useful lives and amortization methods of identifiable intangible assets as of the date of acquisition updated for any changes as of June 30, 2023 are as follows:
NextSphereMutual Mobile
Fair ValueUseful LifeFair ValueUseful Life
(in thousands, except in years)
Customer relationships$8,415 10 years$3,453 8 years
Acquired software995 2.5 years— 
Trade name496 2 years152 4 years
Non-compete agreements— 144 2 years
Total identified intangible assets$9,906 $3,749 
Schedule of business acquisition, pro forma information
These unaudited pro forma results have been prepared for comparative purposes only and are not necessarily indicative of the results of operations as they would have been had the acquisitions occurred on the assumed dates, nor are they necessarily an indication of future operating results.
Three Months Ended
June 30,
2022
Six Months Ended
June 30,
2022
(in thousands)
Revenue$82,515 $157,555 
Net loss$(12,559)$(13,904)
Diluted loss per share$(0.19)$(0.21)
XML 36 R26.htm IDEA: XBRL DOCUMENT v3.23.2
Fair Value (Tables)
6 Months Ended
Jun. 30, 2023
Fair Value Disclosures [Abstract]  
Reconciliation of Level 3 Acquisition-Related Contingent Consideration Payable A reconciliation of the beginning and ending balances of Level 3 acquisition-related contingent consideration payable using significant unobservable inputs for the six months ended June 30, 2023 are as follows:
Amount
(in thousands)
Contingent consideration payable as of December 31, 2022$3,288 
Acquisition date fair value of contingent consideration payable - NextSphere932 
Change in fair value of contingent consideration payable included in Other income/(expense) - Mutual Mobile(2,554)
Contingent consideration payable as of June 30, 2023
$1,666 
Financial Assets and Liabilities Not Measured at Fair Value on a Recurring Basis
The following tables present the estimated fair values of the Company’s financial assets and liabilities not measured at fair value on a recurring basis as of the dates indicated:
Fair Value Hierarchy
BalanceEstimated Fair ValueLevel 1Level 2Level 3
(in thousands)
June 30, 2023
Financial Assets:
Cash equivalents:
Money market funds$197,211 $197,211 $197,211 $— $— 
December 31, 2022
Financial Assets:
Cash equivalents:
Money market funds$205,787 $205,787 $205,787 $— $— 
XML 37 R27.htm IDEA: XBRL DOCUMENT v3.23.2
Prepaid expenses and other current assets (Tables)
6 Months Ended
Jun. 30, 2023
Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]  
Schedule of Prepaid and Other Current Assets
The prepaid expenses and other current assets were as follows:
As of
June 30,
2023
December 31,
2022
(in thousands)
Prepaid expenses$4,854 $3,323 
Value added, goods and service taxes receivable2,019 1,384 
Guarantee deposits placed2,004 2,295 
Other prepaid and current assets312 1,152 
Total prepaid expenses and other current assets$9,189 $8,154 
XML 38 R28.htm IDEA: XBRL DOCUMENT v3.23.2
Property and equipment, net (Tables)
6 Months Ended
Jun. 30, 2023
Property, Plant and Equipment [Abstract]  
Schedule of property and equipment Property and equipment, net consisted of the following:
Estimated
Useful
Life
As of
June 30,
2023
December 31,
2022
(in years)(in thousands)
Computers and equipment
2-5
$12,798 $11,679 
Furniture and fixtures
3-10
1,706 1,614 
Leasehold improvements
2-8
1,258 646 
Software
3-5
1,196 1,053 
Machinery and automobiles
4-6
559 349 
$17,517 $15,341 
Less: Accumulated depreciation and amortization(10,688)(8,614)
$6,829 $6,727 
Capitalized software development costs
2-3
$5,831 $6,210 
Less: Accumulated amortization(2,636)(4,722)
$3,195 $1,488 
Property and equipment, net$10,024 $8,215 
XML 39 R29.htm IDEA: XBRL DOCUMENT v3.23.2
Intangible assets, net (Tables)
6 Months Ended
Jun. 30, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Intangible assets
Intangible assets, net consisted of the following:
Estimated
Useful
Life
As of
June 30,
2023
December 31,
2022
(in years)(in thousands)
Customer relationships
8-12
$27,839 $19,424 
Tradenames
2-10
5,324 4,828 
Acquired software2.5995 — 
Non-compete agreements2584 584 
$34,742 $24,836 
Less: Accumulated amortization(6,101)(4,461)
Intangible assets, net$28,641 $20,375 
Schedule of Finite-Lived Intangible Assets, Future Amortization Expense
Based on the carrying value of the Company’s existing intangible assets as of June 30, 2023, the estimated amortization expense for the future years is as follows:
Years ending December 31, (in thousands)Amount
2023 (excluding six months ended June 30, 2023)
2,080 
20244,048 
20253,640 
20263,168 
20273,130 
Thereafter12,575 
Total$28,641 
XML 40 R30.htm IDEA: XBRL DOCUMENT v3.23.2
Accrued expenses and other current liabilities (Tables)
6 Months Ended
Jun. 30, 2023
Payables and Accruals [Abstract]  
Schedule of accrued expenses and other current liabilities
The components of accrued expenses and other current liabilities were as follows:
As of
June 30,
2023
December 31, 2022
(in thousands)
Accrued rebates$1,964 $473 
Value added tax payable1,846 1,345 
Contingent consideration payable1,666 3,288 
Accrued expenses1,621 829 
Customer deposits789 754 
Other liabilities1,081 1,836 
Total accrued expenses and other current liabilities$8,967 $8,525 
XML 41 R31.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue (Tables)
6 Months Ended
Jun. 30, 2023
Revenue from Contract with Customer [Abstract]  
Disaggregation of Revenue
The following table shows the disaggregation of the Company’s revenues by major customer location. Revenues are attributed to geographic regions based upon billed client location. Substantially all of the revenue in our North America region relates to operations in the United States.
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
Customer Location(in thousands)
North America$61,944 $63,658 $125,893 $121,267 
Europe15,251 13,596 31,145 27,331 
Other147 81 384 147 
Total Revenues$77,342 $77,335 $157,422 $148,745 
The following table shows the disaggregation of the Company’s revenues by main vertical markets:
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
Vertical(in thousands)
Retail$26,032 $25,452 $51,428 $48,759 
Technology, Media and Telecom24,096 23,391 50,907 44,835 
CPG/Manufacturing(1)
10,872 16,090 23,518 31,069 
Finance6,748 5,049 13,263 9,576 
Other9,594 7,353 18,306 14,506 
Total Revenues$77,342 $77,335 $157,422 $148,745 
__________________________
(1)CPG stands for Consumer Packaged Goods
The following table shows the disaggregation of the Company’s revenues by contract types:
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
Contract Type(in thousands)
Time-and-material$69,143 $71,002 $139,669 $136,208 
Fixed-fee7,731 6,333 17,285 12,537 
Other revenues468 — 468 — 
Total Revenues$77,342 $77,335 $157,422 $148,745 
Schedules of Concentration of Risk, by Risk Factor
The following table shows the amount of revenue derived from each customer exceeding 10% of the Company’s revenue:
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
Customer 114.0 %11.9 %13.9 %11.6 %
Customer 2n/a11.1 %n/a10.7 %
The following table shows number of customers exceeding 10% of the Company’s billed and unbilled receivable balances:
As of
June 30,
2023
December 31,
2022
Accounts receivable12
Unbilled receivable22
XML 42 R32.htm IDEA: XBRL DOCUMENT v3.23.2
Leases (Tables)
6 Months Ended
Jun. 30, 2023
Leases [Abstract]  
Schedule of Lease Cost and Supplemental Lease Information Operating lease expense is recorded on a straight-line basis over the lease term. During the three and six months ended June 30, 2023 and June 30, 2022 lease costs were as follows:
Three months ended
June 30,
Six Months Ended
June 30,
2023202220232022
(in thousands)
Operating lease cost$939 $858 $1,720 $1,552 
Variable lease cost68 (96)262 (72)
Short-term lease cost98 28 196 267 
Total lease cost$1,105 $790 $2,178 $1,747 
Supplemental information related to operating lease transactions is as follows:
Three months ended
March 31,
Six Months Ended
June 30,
2023202220232022
(in thousands)
Lease liability payments$913 $752 $1,640 $1,618 
Lease assets obtained in exchange for liabilities$3,614 $1,514 $4,636 $1,514 
Non-cash net change in lease assets due to lease modifications$26 $(858)$26 $(886)
Non-cash net change in lease liability due to lease modifications$(26)$858 $(26)$886 
Weighted average remaining lease term and discount rate as of June 30, 2023 is as follows:
As of
June 30,
2023
December 31,
2022
Weighted average remaining lease term, in years3.62.8
Weighted average discount rate6.4 %4.7 %
Schedule of Operating Lease Maturities
As of June 30, 2023, operating lease liabilities will mature as follows:
Years ending December 31, (in thousands)Lease Payments
2023 (excluding six months ended June 30, 2023)
$2,121 
20244,060 
20253,092 
20262,219 
20271,844 
202889 
Total lease payments13,425 
Less: imputed interest(1,589)
Total$11,836 
XML 43 R33.htm IDEA: XBRL DOCUMENT v3.23.2
Stock-based compensation (Tables)
6 Months Ended
Jun. 30, 2023
Share-Based Payment Arrangement [Abstract]  
Schedule of stock-based compensation
Employee stock-based compensation cost recognized in the consolidated statements of loss and comprehensive loss was as follows:
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
(in thousands)
Cost of revenue$520 $272 $980 $521 
Engineering, research, and development1,020 1,638 2,673 2,502 
Sales and marketing823 1,207 1,878 1,878 
General and administrative4,790 13,270 14,879 20,147 
Total stock-based compensation$7,153 $16,387 $20,410 $25,048 
Schedule of option activity
Stock option activity under the Company’s 2018 Plan is set forth below:
Number of OptionsWeighted Average Exercise PriceAggregate Intrinsic Value (in thousands)Weighted Average Contractual Term
(in years)
Options outstanding as of December 31, 2022
1,598,811 $3.54 $12,279 6.0
Options exercised(32,795)$3.54 
Options outstanding as of June 30, 2023
1,566,016 $3.54 $8,942 5.6
Options vested and exercisable as of June 30, 2023
1,519,130 $3.54 $8,674 5.5
Stock option activity under the Company’s 2020 Plan is set forth below:
Number of OptionsWeighted Average Exercise PriceAggregate Intrinsic Value (in thousands)Weighted Average Contractual Term
(in years)
Options outstanding as of December 31, 2022
3,003,611 $13.22 $3,883 8.3
Options granted597,000 $11.68 
Options exercised(2,123)$8.20 
Options forfeited(164,708)$15.51 
Options expired(14,639)$20.71 
Options outstanding as of June 30, 2023
3,419,141 $12.82 $1,337 7.8
Options vested and exercisable as of June 30, 2023
1,415,499 $10.90 $1,069 6.6
Schedule of restricted stock unit activity
The following table summarizes activity of the Company’s RSUs for the six months ended June 30, 2023:
Number of SharesWeighted Average Grant Date Fair Value
Unvested awards as of December 31, 2022
2,245,968 $11.99 
Awards granted143,000 $11.64 
Awards vested and released(989,969)$12.40 
Awards forfeited(101,883)$11.22 
Unvested awards as of June 30, 2023
1,297,116 $11.69 
Schedule of performance share activity
The following table summarizes activity of the Company's PSUs for the six months ended June 30, 2023:
Number of SharesWeighted Average Grant Date Fair Value
Unvested awards as of December 31, 2022
1,328,482 $39.41 
Awards granted523,938 $11.97 
Awards vested and released(1,328,482)$39.41 
Awards forfeited(32,375)$11.97 
Unvested awards as of June 30, 2023
491,563 $11.97 
XML 44 R34.htm IDEA: XBRL DOCUMENT v3.23.2
Earnings per share (Tables)
6 Months Ended
Jun. 30, 2023
Earnings Per Share [Abstract]  
Schedule of Computation of Basic and Diluted Earnings Per Share
The following table sets forth the computation of basic and diluted EPS of common stock as follows:
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
(in thousands, except per share data)
Numerator for basic and diluted loss per share
Net income/(loss)2,627 (13,186)(5,343)(15,853)
Denominator:
Weighted-average shares outstanding – basic75,14567,13674,80467,028
Net effect of dilutive stock options and restricted stock units1,705
Weighted-average shares outstanding – diluted76,85067,13674,80467,028
Net income/(loss) per share
Basic$0.03 $(0.20)$(0.07)$(0.24)
Diluted$0.03 $(0.20)$(0.07)$(0.24)
Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share
The following table represents the number of share equivalents outstanding during the period that were excluded from the calculation of diluted net income/(loss) per share attributable to common stockholders because including them would have had an anti-dilutive effect.
Three Months Ended
June 30,
Six Months Ended
June 30,
2023202220232022
(in thousands)
Stock options to purchase common stock2,118 4,380 4,827 4,280 
Restricted stock units138 2,178 1,942 1,817 
Performance stock units— 1,131 957 1,153 
Total2,256 7,689 7,726 7,250 
XML 45 R35.htm IDEA: XBRL DOCUMENT v3.23.2
Acquisitions - Narrative (Details)
$ in Thousands
6 Months Ended
Apr. 18, 2023
USD ($)
Dec. 23, 2022
USD ($)
employee
Jun. 30, 2023
USD ($)
Dec. 31, 2022
USD ($)
Business Acquisition [Line Items]        
Contingent consideration     $ 932 $ 0
Estimated future operating results period     1 year  
NextSphere        
Business Acquisition [Line Items]        
Percentage of voting interests acquired 100.00%      
Consideration transferred $ 25,200      
Payments to acquire business 24,300      
Contingent consideration 900      
Maximum contingent consideration $ 2,000      
Estimated future operating results period 12 months      
Mutual Mobile        
Business Acquisition [Line Items]        
Percentage of voting interests acquired   100.00%    
Number of employees acquired | employee   180    
Consideration transferred   $ 16,100    
Payments to acquire business   12,800    
Contingent consideration   3,300    
Maximum contingent consideration   $ 5,000    
Estimated future operating results period   12 months    
XML 46 R36.htm IDEA: XBRL DOCUMENT v3.23.2
Acquisitions - Assets acquired and liabilities assumed (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Apr. 18, 2023
Dec. 31, 2022
Dec. 23, 2022
Business Acquisition [Line Items]        
Goodwill $ 54,633   $ 45,514  
NextSphere        
Business Acquisition [Line Items]        
Current assets   $ 9,708    
Property, plant and equipment   192    
Intangible assets 9,906 9,906    
Goodwill   9,119    
Other noncurrent assets   511    
Total assets acquired   29,436    
Accounts payable, accrued expenses and other liabilities   (1,990)    
Deferred taxes   (2,235)    
Total liabilities assumed   (4,225)    
Purchase price allocation   25,211    
Cash and cash equivalents   $ 6,400    
Mutual Mobile        
Business Acquisition [Line Items]        
Current assets       $ 4,982
Property, plant and equipment       132
Intangible assets $ 3,749     3,749
Goodwill       9,556
Other noncurrent assets       102
Total assets acquired       18,521
Accounts payable, accrued expenses and other liabilities       (1,576)
Deferred taxes       (875)
Total liabilities assumed       (2,451)
Purchase price allocation       16,070
Cash and cash equivalents       $ 3,500
XML 47 R37.htm IDEA: XBRL DOCUMENT v3.23.2
Acquisitions - Intangible assets acquired (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Apr. 18, 2023
Dec. 23, 2022
Acquired software      
Business Acquisition [Line Items]      
Useful Life 2 years 6 months    
Non-compete agreements      
Business Acquisition [Line Items]      
Useful Life 2 years    
NextSphere      
Business Acquisition [Line Items]      
Fair Value $ 9,906 $ 9,906  
NextSphere | Customer relationships      
Business Acquisition [Line Items]      
Fair Value $ 8,415    
Useful Life 10 years    
NextSphere | Acquired software      
Business Acquisition [Line Items]      
Fair Value $ 995    
Useful Life 2 years 6 months    
NextSphere | Trade name      
Business Acquisition [Line Items]      
Fair Value $ 496    
Useful Life 2 years    
NextSphere | Non-compete agreements      
Business Acquisition [Line Items]      
Fair Value $ 0    
Mutual Mobile      
Business Acquisition [Line Items]      
Fair Value 3,749   $ 3,749
Mutual Mobile | Customer relationships      
Business Acquisition [Line Items]      
Fair Value $ 3,453    
Useful Life 8 years    
Mutual Mobile | Acquired software      
Business Acquisition [Line Items]      
Fair Value $ 0    
Mutual Mobile | Trade name      
Business Acquisition [Line Items]      
Fair Value $ 152    
Useful Life 4 years    
Mutual Mobile | Non-compete agreements      
Business Acquisition [Line Items]      
Fair Value $ 144    
Useful Life 2 years    
XML 48 R38.htm IDEA: XBRL DOCUMENT v3.23.2
Acquisitions - Pro forma information (Details) - Mutual Mobile and NextSphere - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2022
Jun. 30, 2022
Business Acquisition [Line Items]    
Revenue $ 82,515 $ 157,555
Net loss $ (12,559) $ (13,904)
Diluted loss per share (in usd per share) $ (0.19) $ (0.21)
XML 49 R39.htm IDEA: XBRL DOCUMENT v3.23.2
Fair Value - Fair Value Of Contingent Consideration Payable (Details)
$ in Thousands
6 Months Ended
Jun. 30, 2023
USD ($)
Fair Value, Liabilities Reconciliation [Roll Forward]  
Contingent consideration payable, beginning balance $ 3,288
Fair Value, Liability, Recurring Basis, Unobservable Input Reconciliation, Gain (Loss), Statement of Income or Comprehensive Income [Extensible Enumeration] Other income/(expenses), net
Contingent consideration payable, ending balance $ 1,666
NextSphere  
Fair Value, Liabilities Reconciliation [Roll Forward]  
Acquisition date fair value of contingent consideration payable 932
Mutual Mobile  
Fair Value, Liabilities Reconciliation [Roll Forward]  
Change in fair value of contingent consideration payable included in Other income/(expense) $ (2,554)
XML 50 R40.htm IDEA: XBRL DOCUMENT v3.23.2
Fair Value - Narrative (Details)
$ in Millions
Jun. 30, 2023
USD ($)
Dec. 31, 2022
USD ($)
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]    
Equity securities without readily determinable fair value, amount $ 1.0 $ 1.0
NextSphere | Measurement Input, Discount Rate    
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]    
Contingent consideration, measurement input 0.155  
Mutual Mobile | Measurement Input, Discount Rate    
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]    
Contingent consideration, measurement input 0.103  
XML 51 R41.htm IDEA: XBRL DOCUMENT v3.23.2
Fair Value -Financial Assets and Liabilities Not Measured at Fair Value on a Recurring Basis (Details) - Fair Value, Nonrecurring - Money Market Funds - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Reported Value Measurement    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Cash equivalents $ 197,211 $ 205,787
Estimate of Fair Value Measurement    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Cash equivalents 197,211 205,787
Level 1 | Estimate of Fair Value Measurement    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Cash equivalents 197,211 205,787
Level 2 | Estimate of Fair Value Measurement    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Cash equivalents 0 0
Level 3 | Estimate of Fair Value Measurement    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Cash equivalents $ 0 $ 0
XML 52 R42.htm IDEA: XBRL DOCUMENT v3.23.2
Prepaid expenses and other current assets (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]    
Prepaid expenses $ 4,854 $ 3,323
Value added, goods and service taxes receivable 2,019 1,384
Guarantee deposits placed 2,004 2,295
Other prepaid and current assets 312 1,152
Total prepaid expenses and other current assets $ 9,189 $ 8,154
XML 53 R43.htm IDEA: XBRL DOCUMENT v3.23.2
Property and Equipment, net (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Property, Plant and Equipment [Line Items]    
Property and equipment, net $ 10,024 $ 8,215
Property, Plant and Equipment, Excluding Capitalized Software Costs    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross 17,517 15,341
Less: Accumulated depreciation and amortization (10,688) (8,614)
Property and equipment, net 6,829 6,727
Computers and equipment    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross $ 12,798 11,679
Computers and equipment | Minimum    
Property, Plant and Equipment [Line Items]    
Estimated Useful Life 2 years  
Computers and equipment | Maximum    
Property, Plant and Equipment [Line Items]    
Estimated Useful Life 5 years  
Furniture and fixtures    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross $ 1,706 1,614
Furniture and fixtures | Minimum    
Property, Plant and Equipment [Line Items]    
Estimated Useful Life 3 years  
Furniture and fixtures | Maximum    
Property, Plant and Equipment [Line Items]    
Estimated Useful Life 10 years  
Leasehold improvements    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross $ 1,258 646
Leasehold improvements | Minimum    
Property, Plant and Equipment [Line Items]    
Estimated Useful Life 2 years  
Leasehold improvements | Maximum    
Property, Plant and Equipment [Line Items]    
Estimated Useful Life 8 years  
Software    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross $ 1,196 1,053
Software | Minimum    
Property, Plant and Equipment [Line Items]    
Estimated Useful Life 3 years  
Software | Maximum    
Property, Plant and Equipment [Line Items]    
Estimated Useful Life 5 years  
Machinery and automobiles    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross $ 559 349
Machinery and automobiles | Minimum    
Property, Plant and Equipment [Line Items]    
Estimated Useful Life 4 years  
Machinery and automobiles | Maximum    
Property, Plant and Equipment [Line Items]    
Estimated Useful Life 6 years  
Capitalized software development costs    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross $ 5,831 6,210
Less: Accumulated depreciation and amortization (2,636) (4,722)
Property and equipment, net $ 3,195 $ 1,488
Capitalized software development costs | Minimum    
Property, Plant and Equipment [Line Items]    
Estimated Useful Life 2 years  
Capitalized software development costs | Maximum    
Property, Plant and Equipment [Line Items]    
Estimated Useful Life 3 years  
XML 54 R44.htm IDEA: XBRL DOCUMENT v3.23.2
Intangible assets, net - Summary of Intangible Assets (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Finite-Lived Intangible Assets [Line Items]    
Intangible assets, gross $ 34,742 $ 24,836
Less: Accumulated amortization (6,101) (4,461)
Intangible assets, net 28,641 20,375
Customer relationships    
Finite-Lived Intangible Assets [Line Items]    
Intangible assets, gross $ 27,839 19,424
Customer relationships | Minimum    
Finite-Lived Intangible Assets [Line Items]    
Estimated Useful Life 8 years  
Customer relationships | Maximum    
Finite-Lived Intangible Assets [Line Items]    
Estimated Useful Life 12 years  
Tradenames    
Finite-Lived Intangible Assets [Line Items]    
Intangible assets, gross $ 5,324 4,828
Tradenames | Minimum    
Finite-Lived Intangible Assets [Line Items]    
Estimated Useful Life 2 years  
Tradenames | Maximum    
Finite-Lived Intangible Assets [Line Items]    
Estimated Useful Life 10 years  
Acquired software    
Finite-Lived Intangible Assets [Line Items]    
Estimated Useful Life 2 years 6 months  
Intangible assets, gross $ 995 0
Non-compete agreements    
Finite-Lived Intangible Assets [Line Items]    
Estimated Useful Life 2 years  
Intangible assets, gross $ 584 $ 584
XML 55 R45.htm IDEA: XBRL DOCUMENT v3.23.2
Intangible assets, net - Future Amortization Expenses (Detail) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Goodwill and Intangible Assets Disclosure [Abstract]    
2023 (excluding six months ended June 30, 2023) $ 2,080  
2024 4,048  
2025 3,640  
2026 3,168  
2027 3,130  
Thereafter 12,575  
Intangible assets, net $ 28,641 $ 20,375
XML 56 R46.htm IDEA: XBRL DOCUMENT v3.23.2
Accrued expenses and other current liabilities - Components of Accrued Expenses and Other Current Liabilities (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 31, 2022
Payables and Accruals [Abstract]    
Contingent consideration payable $ 1,666 $ 3,288
Accrued rebates 1,964 473
Value added tax payable 1,846 1,345
Accrued expenses 1,621 829
Customer deposits 789 754
Other liabilities 1,081 1,836
Total accrued expenses and other current liabilities $ 8,967 $ 8,525
XML 57 R47.htm IDEA: XBRL DOCUMENT v3.23.2
Accrued expenses and other current liabilities - Related Parties (Details) - USD ($)
$ in Millions
Jun. 30, 2023
Dec. 31, 2022
Related Party    
Related Party Transaction [Line Items]    
Payable $ 0.6 $ 0.6
XML 58 R48.htm IDEA: XBRL DOCUMENT v3.23.2
Debt - Narrative (Details) - USD ($)
$ in Millions
Mar. 15, 2022
Jun. 30, 2023
Dec. 31, 2022
Oct. 31, 2017
Line of Credit Facility [Line Items]        
Line of credit, maximum borrowing capacity       $ 0.5
Debt outstanding   $ 0.0 $ 0.0  
Base Rate | Minimum        
Line of Credit Facility [Line Items]        
Basis spread on variable rate 1.00%      
Base Rate | Maximum        
Line of Credit Facility [Line Items]        
Basis spread on variable rate 1.50%      
SOFR Or Adjusted EURIBOR Rate | Minimum        
Line of Credit Facility [Line Items]        
Basis spread on variable rate 2.00%      
SOFR Or Adjusted EURIBOR Rate | Maximum        
Line of Credit Facility [Line Items]        
Basis spread on variable rate 2.50%      
Daily Simple SOFR, SONIA, Or SARON Rate | Minimum        
Line of Credit Facility [Line Items]        
Basis spread on variable rate 2.00%      
Daily Simple SOFR, SONIA, Or SARON Rate | Maximum        
Line of Credit Facility [Line Items]        
Basis spread on variable rate 2.50%      
Revolving Credit Facility        
Line of Credit Facility [Line Items]        
Line of credit, maximum borrowing capacity $ 30.0      
Contingent maximum borrowing capacity 50.0      
Letter of Credit        
Line of Credit Facility [Line Items]        
Line of credit, maximum borrowing capacity $ 10.0      
XML 59 R49.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue - Narrative (Details)
$ in Millions
6 Months Ended
Jun. 30, 2023
USD ($)
segment
Jun. 30, 2022
segment
Dec. 31, 2022
USD ($)
Revenue from Contract with Customer [Abstract]      
Number of reportable segments | segment 1 1  
Contract liabilities | $ $ 0.4   $ 1.1
XML 60 R50.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Disaggregation of Revenue [Line Items]        
Total Revenues $ 77,342 $ 77,335 $ 157,422 $ 148,745
Time-and-material        
Disaggregation of Revenue [Line Items]        
Total Revenues 69,143 71,002 139,669 136,208
Fixed-fee        
Disaggregation of Revenue [Line Items]        
Total Revenues 7,731 6,333 17,285 12,537
Other revenues        
Disaggregation of Revenue [Line Items]        
Total Revenues 468 0 468 0
Retail        
Disaggregation of Revenue [Line Items]        
Total Revenues 26,032 25,452 51,428 48,759
Technology, Media and Telecom        
Disaggregation of Revenue [Line Items]        
Total Revenues 24,096 23,391 50,907 44,835
CPG/Manufacturing(1)        
Disaggregation of Revenue [Line Items]        
Total Revenues 10,872 16,090 23,518 31,069
Finance        
Disaggregation of Revenue [Line Items]        
Total Revenues 6,748 5,049 13,263 9,576
Other        
Disaggregation of Revenue [Line Items]        
Total Revenues 9,594 7,353 18,306 14,506
North America        
Disaggregation of Revenue [Line Items]        
Total Revenues 61,944 63,658 125,893 121,267
Europe        
Disaggregation of Revenue [Line Items]        
Total Revenues 15,251 13,596 31,145 27,331
Other        
Disaggregation of Revenue [Line Items]        
Total Revenues $ 147 $ 81 $ 384 $ 147
XML 61 R51.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue - Concentration Risk (Details) - Customer Concentration Risk - customer
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Dec. 31, 2022
Sales | Customer 1          
Disaggregation of Revenue [Line Items]          
Concentration risk percentage 14.00% 11.90% 13.90% 11.60%  
Sales | Customer 2          
Disaggregation of Revenue [Line Items]          
Concentration risk percentage   11.10%   10.70%  
Accounts receivable          
Disaggregation of Revenue [Line Items]          
Number of major customers 1   1   2
Unbilled receivable          
Disaggregation of Revenue [Line Items]          
Number of major customers 2   2   2
XML 62 R52.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue - Related Parties (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Dec. 31, 2022
Related Party Transaction [Line Items]          
Revenues $ 77,342 $ 77,335 $ 157,422 $ 148,745  
Accounts receivable 48,804   48,804   $ 48,358
Related Party          
Related Party Transaction [Line Items]          
Revenues 2,300 $ 1,400 4,000 $ 2,600  
Accounts receivable $ 1,200   $ 1,200   $ 900
XML 63 R53.htm IDEA: XBRL DOCUMENT v3.23.2
Leases - Narrative (Details)
Jun. 30, 2023
Minimum  
Lessee, Lease, Description [Line Items]  
Operating lease, remaining term 4 months 24 days
Maximum  
Lessee, Lease, Description [Line Items]  
Operating lease, remaining term 4 years 9 months 18 days
XML 64 R54.htm IDEA: XBRL DOCUMENT v3.23.2
Leases - Lease Cost (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Leases [Abstract]        
Operating lease cost $ 939 $ 858 $ 1,720 $ 1,552
Variable lease cost 68 (96) 262 (72)
Short-term lease cost 98 28 196 267
Total lease cost $ 1,105 $ 790 $ 2,178 $ 1,747
XML 65 R55.htm IDEA: XBRL DOCUMENT v3.23.2
Leases - Schedule of Supplemental Lease Information (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Leases [Abstract]        
Lease liability payments $ 913 $ 752 $ 1,640 $ 1,618
Lease assets obtained in exchange for liabilities 3,614 1,514 4,636 1,514
Non-cash net change in lease assets due to lease modifications 26 (858) 26 (886)
Non-cash net change in lease liability due to lease modifications $ (26) $ 858 $ (26) $ 886
Weighted average remaining lease term, in years 3 years 7 months 6 days 2 years 9 months 18 days 3 years 7 months 6 days 2 years 9 months 18 days
Weighted average discount rate 6.40% 4.70% 6.40% 4.70%
XML 66 R56.htm IDEA: XBRL DOCUMENT v3.23.2
Leases - Operating Lease Maturities (Details)
$ in Thousands
Jun. 30, 2023
USD ($)
Leases [Abstract]  
2023 (excluding six months ended June 30, 2023) $ 2,121
2024 4,060
2025 3,092
2026 2,219
2027 1,844
2028 89
Total lease payments 13,425
Less: imputed interest (1,589)
Total $ 11,836
XML 67 R57.htm IDEA: XBRL DOCUMENT v3.23.2
Income taxes (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Income Tax Disclosure [Abstract]        
Income tax expense (benefit) $ 1,715 $ 1,711 $ 5,375 $ 3,881
Effective tax rate, percentage 39.50% (14.90%)   (32.40%)
XML 68 R58.htm IDEA: XBRL DOCUMENT v3.23.2
Stock-based compensation - Schedule of employee stock-based compensation recognized (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Total stock-based compensation $ 7,153 $ 16,387 $ 20,410 $ 25,048
Cost of revenue        
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Total stock-based compensation 520 272 980 521
Engineering, research, and development        
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Total stock-based compensation 1,020 1,638 2,673 2,502
Sales and marketing        
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Total stock-based compensation 823 1,207 1,878 1,878
General and administrative        
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Total stock-based compensation $ 4,790 $ 13,270 $ 14,879 $ 20,147
XML 69 R59.htm IDEA: XBRL DOCUMENT v3.23.2
Stock-based compensation - Narrative (Details) - USD ($)
$ in Thousands, shares in Millions
3 Months Ended 6 Months Ended
Mar. 31, 2023
Jun. 30, 2023
Dec. 31, 2022
Restricted stock units      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Period for recognition   1 year  
Shares withheld (in shares)   0.5  
Tax withholding obligation   $ 5,300  
Unrecognized compensation expense, excluding options   $ 12,900  
Performance stock units      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Period for recognition   8 months 12 days  
Shares withheld (in shares) 0.7    
Tax withholding obligation $ 8,100    
Unrecognized compensation expense, excluding options   $ 6,100  
Performance factor percentage   158.00% 256.00%
2018 Plan      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Unrecognized compensation expense, options   $ 10  
2018 Plan | Stock options      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Period for recognition   2 months 12 days  
2020 Plan      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Unrecognized compensation expense, options   $ 11,500  
Remaining shares available for grant (in shares)   7.3  
2020 Plan | Stock options      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Period for recognition   2 years 9 months 18 days  
XML 70 R60.htm IDEA: XBRL DOCUMENT v3.23.2
Stock-based compensation - Schedule of option activity (Details)
$ / shares in Units, $ in Thousands
6 Months Ended 12 Months Ended
Jun. 30, 2023
USD ($)
$ / shares
shares
Dec. 31, 2022
USD ($)
$ / shares
shares
Weighted Average Exercise Price    
Options expired (in dollars per share) | $ / shares $ 20.71  
Performance stock units    
Number of Options    
Options exercised (in shares) | shares (14,639)  
2018 Plan    
Number of Options    
Options outstanding, beginning balance (in shares) | shares 1,598,811  
Options exercised (in shares) | shares (32,795)  
Options outstanding, ending balance (in shares) | shares 1,566,016 1,598,811
Options vested and exercisable (in shares) | shares 1,519,130  
Weighted Average Exercise Price    
Options outstanding, beginning balance (in dollars per share) | $ / shares $ 3.54  
Options exercised (in dollars per share) | $ / shares 3.54  
Option outstanding, ending balance (in dollars per share) | $ / shares 3.54 $ 3.54
Options vested and exercisable (in dollars per share) | $ / shares $ 3.54  
Aggregate Intrinsic Value and Weighted Average Contractual Term (in years)    
Options outstanding, aggregate intrinsic value | $ $ 8,942 $ 12,279
Options vested and exercisable, aggregate intrinsic value | $ $ 8,674  
Options outstanding, weighted average contractual term (in years) 5 years 7 months 6 days 6 years
Options vested and exercisable, weighted average contractual term (in years) 5 years 6 months  
2020 Plan    
Number of Options    
Options outstanding, beginning balance (in shares) | shares 3,003,611  
Options granted (in shares) | shares 597,000  
Options exercised (in shares) | shares (2,123)  
Options forfeited (in shares) | shares (164,708)  
Options outstanding, ending balance (in shares) | shares 3,419,141 3,003,611
Options vested and exercisable (in shares) | shares 1,415,499  
Weighted Average Exercise Price    
Options outstanding, beginning balance (in dollars per share) | $ / shares $ 13.22  
Options granted (in dollars per share) | $ / shares 11.68  
Options exercised (in dollars per share) | $ / shares 8.20  
Options forfeited (in dollars per share) | $ / shares 15.51  
Option outstanding, ending balance (in dollars per share) | $ / shares 12.82 $ 13.22
Options vested and exercisable (in dollars per share) | $ / shares $ 10.90  
Aggregate Intrinsic Value and Weighted Average Contractual Term (in years)    
Options outstanding, aggregate intrinsic value | $ $ 1,337 $ 3,883
Options vested and exercisable, aggregate intrinsic value | $ $ 1,069  
Options outstanding, weighted average contractual term (in years) 7 years 9 months 18 days 8 years 3 months 18 days
Options vested and exercisable, weighted average contractual term (in years) 6 years 7 months 6 days  
XML 71 R61.htm IDEA: XBRL DOCUMENT v3.23.2
Stock-based compensation - Schedule of restricted stock unit and performance stock unit activity (Details)
6 Months Ended
Jun. 30, 2023
$ / shares
shares
Restricted stock units  
Number of Shares  
Outstanding, beginning balance (in shares) | shares 2,245,968
Granted (in shares) | shares 143,000
Vested and released (in shares) | shares (989,969)
Forfeited (in shares) | shares (101,883)
Outstanding, ending balance (in shares) | shares 1,297,116
Weighted Average Grant Date Fair Value  
Outstanding, beginning balance (in dollars per share) | $ / shares $ 11.99
Granted (in dollars per share) | $ / shares 11.64
Vested and released (in dollars per share) | $ / shares 12.40
Forfeited (in dollars per share) | $ / shares 11.22
Outstanding, ending balance (in dollars per share) | $ / shares $ 11.69
Performance stock units  
Number of Shares  
Outstanding, beginning balance (in shares) | shares 1,328,482
Granted (in shares) | shares 523,938
Vested and released (in shares) | shares (1,328,482)
Forfeited (in shares) | shares (32,375)
Outstanding, ending balance (in shares) | shares 491,563
Weighted Average Grant Date Fair Value  
Outstanding, beginning balance (in dollars per share) | $ / shares $ 39.41
Granted (in dollars per share) | $ / shares 11.97
Vested and released (in dollars per share) | $ / shares 39.41
Forfeited (in dollars per share) | $ / shares 11.97
Outstanding, ending balance (in dollars per share) | $ / shares $ 11.97
XML 72 R62.htm IDEA: XBRL DOCUMENT v3.23.2
Earnings per share - Schedule of Computation of Basic and Diluted Earnings Per Share (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Mar. 31, 2023
Jun. 30, 2022
Mar. 31, 2022
Jun. 30, 2023
Jun. 30, 2022
Numerator for basic and diluted loss per share            
Net income/(loss) $ 2,627 $ (7,970) $ (13,186) $ (2,667) $ (5,343) $ (15,853)
Weighted average number of shares outstanding - basic (in shares) 75,145   67,136   74,804 67,028
Net effect of dilutive stock options and restricted stock units 1,705   0   0 0
Weighted average number of shares outstanding - diluted (in shares) 76,850   67,136   74,804 67,028
Net income/(loss) per share            
Basic (in dollars per share) $ 0.03   $ (0.20)   $ (0.07) $ (0.24)
Diluted (in dollars per share) $ 0.03   $ (0.20)   $ (0.07) $ (0.24)
XML 73 R63.htm IDEA: XBRL DOCUMENT v3.23.2
Earnings per share - Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share (Details) - shares
shares in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]        
Antidilutive securities excluded from computation of earnings per share (in shares) 2,256 7,689 7,726 7,250
Stock options to purchase common stock        
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]        
Antidilutive securities excluded from computation of earnings per share (in shares) 2,118 4,380 4,827 4,280
Restricted stock units        
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]        
Antidilutive securities excluded from computation of earnings per share (in shares) 138 2,178 1,942 1,817
Performance stock units        
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]        
Antidilutive securities excluded from computation of earnings per share (in shares) 0 1,131 957 1,153
XML 74 gdyn-20230630_htm.xml IDEA: XBRL DOCUMENT 0001743725 2023-01-01 2023-06-30 0001743725 2023-07-31 0001743725 2023-06-30 0001743725 2022-12-31 0001743725 2023-04-01 2023-06-30 0001743725 2022-04-01 2022-06-30 0001743725 2022-01-01 2022-06-30 0001743725 us-gaap:CommonStockMember 2022-12-31 0001743725 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001743725 us-gaap:RetainedEarningsMember 2022-12-31 0001743725 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001743725 us-gaap:RetainedEarningsMember 2023-01-01 2023-03-31 0001743725 2023-01-01 2023-03-31 0001743725 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-03-31 0001743725 us-gaap:CommonStockMember 2023-01-01 2023-03-31 0001743725 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-03-31 0001743725 us-gaap:CommonStockMember 2023-03-31 0001743725 us-gaap:AdditionalPaidInCapitalMember 2023-03-31 0001743725 us-gaap:RetainedEarningsMember 2023-03-31 0001743725 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-03-31 0001743725 2023-03-31 0001743725 us-gaap:RetainedEarningsMember 2023-04-01 2023-06-30 0001743725 us-gaap:AdditionalPaidInCapitalMember 2023-04-01 2023-06-30 0001743725 us-gaap:CommonStockMember 2023-04-01 2023-06-30 0001743725 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-04-01 2023-06-30 0001743725 us-gaap:CommonStockMember 2023-06-30 0001743725 us-gaap:AdditionalPaidInCapitalMember 2023-06-30 0001743725 us-gaap:RetainedEarningsMember 2023-06-30 0001743725 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-06-30 0001743725 us-gaap:CommonStockMember 2021-12-31 0001743725 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001743725 us-gaap:RetainedEarningsMember 2021-12-31 0001743725 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-31 0001743725 2021-12-31 0001743725 us-gaap:RetainedEarningsMember 2022-01-01 2022-03-31 0001743725 2022-01-01 2022-03-31 0001743725 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-03-31 0001743725 us-gaap:CommonStockMember 2022-01-01 2022-03-31 0001743725 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-03-31 0001743725 us-gaap:CommonStockMember 2022-03-31 0001743725 us-gaap:AdditionalPaidInCapitalMember 2022-03-31 0001743725 us-gaap:RetainedEarningsMember 2022-03-31 0001743725 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-03-31 0001743725 2022-03-31 0001743725 us-gaap:RetainedEarningsMember 2022-04-01 2022-06-30 0001743725 us-gaap:AdditionalPaidInCapitalMember 2022-04-01 2022-06-30 0001743725 us-gaap:CommonStockMember 2022-04-01 2022-06-30 0001743725 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-04-01 2022-06-30 0001743725 us-gaap:CommonStockMember 2022-06-30 0001743725 us-gaap:AdditionalPaidInCapitalMember 2022-06-30 0001743725 us-gaap:RetainedEarningsMember 2022-06-30 0001743725 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-06-30 0001743725 2022-06-30 0001743725 gdyn:NextSphereTechnologiesIncMember 2023-04-18 0001743725 gdyn:NextSphereTechnologiesIncMember 2023-04-18 2023-04-18 0001743725 gdyn:MutualMobileIncMember 2022-12-23 0001743725 gdyn:MutualMobileIncMember 2022-12-23 2022-12-23 0001743725 gdyn:NextSphereTechnologiesIncMember us-gaap:CustomerRelationshipsMember 2023-06-30 0001743725 gdyn:MutualMobileIncMember us-gaap:CustomerRelationshipsMember 2023-06-30 0001743725 gdyn:NextSphereTechnologiesIncMember us-gaap:ComputerSoftwareIntangibleAssetMember 2023-06-30 0001743725 gdyn:MutualMobileIncMember us-gaap:ComputerSoftwareIntangibleAssetMember 2023-06-30 0001743725 gdyn:NextSphereTechnologiesIncMember us-gaap:TradeNamesMember 2023-06-30 0001743725 gdyn:MutualMobileIncMember us-gaap:TradeNamesMember 2023-06-30 0001743725 gdyn:NextSphereTechnologiesIncMember us-gaap:NoncompeteAgreementsMember 2023-06-30 0001743725 gdyn:MutualMobileIncMember us-gaap:NoncompeteAgreementsMember 2023-06-30 0001743725 gdyn:NextSphereTechnologiesIncMember 2023-06-30 0001743725 gdyn:MutualMobileIncMember 2023-06-30 0001743725 gdyn:MutualMobileAndNextSphereMember 2022-04-01 2022-06-30 0001743725 gdyn:MutualMobileAndNextSphereMember 2022-01-01 2022-06-30 0001743725 gdyn:NextSphereTechnologiesIncMember us-gaap:MeasurementInputDiscountRateMember 2023-06-30 0001743725 gdyn:MutualMobileIncMember us-gaap:MeasurementInputDiscountRateMember 2023-06-30 0001743725 gdyn:NextSphereTechnologiesIncMember 2023-01-01 2023-06-30 0001743725 gdyn:MutualMobileIncMember 2023-01-01 2023-06-30 0001743725 us-gaap:MoneyMarketFundsMember us-gaap:CarryingReportedAmountFairValueDisclosureMember us-gaap:FairValueMeasurementsNonrecurringMember 2023-06-30 0001743725 us-gaap:MoneyMarketFundsMember us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:FairValueMeasurementsNonrecurringMember 2023-06-30 0001743725 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:FairValueMeasurementsNonrecurringMember 2023-06-30 0001743725 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:FairValueMeasurementsNonrecurringMember 2023-06-30 0001743725 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel3Member us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:FairValueMeasurementsNonrecurringMember 2023-06-30 0001743725 us-gaap:MoneyMarketFundsMember us-gaap:CarryingReportedAmountFairValueDisclosureMember us-gaap:FairValueMeasurementsNonrecurringMember 2022-12-31 0001743725 us-gaap:MoneyMarketFundsMember us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:FairValueMeasurementsNonrecurringMember 2022-12-31 0001743725 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:FairValueMeasurementsNonrecurringMember 2022-12-31 0001743725 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:FairValueMeasurementsNonrecurringMember 2022-12-31 0001743725 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel3Member us-gaap:EstimateOfFairValueFairValueDisclosureMember us-gaap:FairValueMeasurementsNonrecurringMember 2022-12-31 0001743725 srt:MinimumMember us-gaap:ComputerEquipmentMember 2023-06-30 0001743725 srt:MaximumMember us-gaap:ComputerEquipmentMember 2023-06-30 0001743725 us-gaap:ComputerEquipmentMember 2023-06-30 0001743725 us-gaap:ComputerEquipmentMember 2022-12-31 0001743725 srt:MinimumMember us-gaap:FurnitureAndFixturesMember 2023-06-30 0001743725 srt:MaximumMember us-gaap:FurnitureAndFixturesMember 2023-06-30 0001743725 us-gaap:FurnitureAndFixturesMember 2023-06-30 0001743725 us-gaap:FurnitureAndFixturesMember 2022-12-31 0001743725 srt:MinimumMember us-gaap:LeaseholdImprovementsMember 2023-06-30 0001743725 srt:MaximumMember us-gaap:LeaseholdImprovementsMember 2023-06-30 0001743725 us-gaap:LeaseholdImprovementsMember 2023-06-30 0001743725 us-gaap:LeaseholdImprovementsMember 2022-12-31 0001743725 srt:MinimumMember us-gaap:SoftwareAndSoftwareDevelopmentCostsMember 2023-06-30 0001743725 srt:MaximumMember us-gaap:SoftwareAndSoftwareDevelopmentCostsMember 2023-06-30 0001743725 us-gaap:SoftwareAndSoftwareDevelopmentCostsMember 2023-06-30 0001743725 us-gaap:SoftwareAndSoftwareDevelopmentCostsMember 2022-12-31 0001743725 srt:MinimumMember us-gaap:AutomobilesMember 2023-06-30 0001743725 srt:MaximumMember us-gaap:AutomobilesMember 2023-06-30 0001743725 us-gaap:AutomobilesMember 2023-06-30 0001743725 us-gaap:AutomobilesMember 2022-12-31 0001743725 gdyn:PropertyPlantAndEquipmentExcludingCapitalizedSoftwareCostsMember 2023-06-30 0001743725 gdyn:PropertyPlantAndEquipmentExcludingCapitalizedSoftwareCostsMember 2022-12-31 0001743725 srt:MinimumMember us-gaap:SoftwareDevelopmentMember 2023-06-30 0001743725 srt:MaximumMember us-gaap:SoftwareDevelopmentMember 2023-06-30 0001743725 us-gaap:SoftwareDevelopmentMember 2023-06-30 0001743725 us-gaap:SoftwareDevelopmentMember 2022-12-31 0001743725 srt:MinimumMember us-gaap:CustomerRelationshipsMember 2023-06-30 0001743725 srt:MaximumMember us-gaap:CustomerRelationshipsMember 2023-06-30 0001743725 us-gaap:CustomerRelationshipsMember 2023-06-30 0001743725 us-gaap:CustomerRelationshipsMember 2022-12-31 0001743725 srt:MinimumMember us-gaap:TrademarksAndTradeNamesMember 2023-06-30 0001743725 srt:MaximumMember us-gaap:TrademarksAndTradeNamesMember 2023-06-30 0001743725 us-gaap:TrademarksAndTradeNamesMember 2023-06-30 0001743725 us-gaap:TrademarksAndTradeNamesMember 2022-12-31 0001743725 us-gaap:ComputerSoftwareIntangibleAssetMember 2023-06-30 0001743725 us-gaap:ComputerSoftwareIntangibleAssetMember 2022-12-31 0001743725 us-gaap:NoncompeteAgreementsMember 2023-06-30 0001743725 us-gaap:NoncompeteAgreementsMember 2022-12-31 0001743725 us-gaap:RelatedPartyMember 2023-06-30 0001743725 us-gaap:RelatedPartyMember 2022-12-31 0001743725 us-gaap:RevolvingCreditFacilityMember 2022-03-15 0001743725 us-gaap:LetterOfCreditMember 2022-03-15 0001743725 srt:MinimumMember us-gaap:BaseRateMember 2022-03-15 2022-03-15 0001743725 srt:MaximumMember us-gaap:BaseRateMember 2022-03-15 2022-03-15 0001743725 srt:MinimumMember gdyn:SOFROrAdjustedEURIBORRateMember 2022-03-15 2022-03-15 0001743725 srt:MaximumMember gdyn:SOFROrAdjustedEURIBORRateMember 2022-03-15 2022-03-15 0001743725 srt:MinimumMember gdyn:DailySimpleSOFRSONIAOrSARONMember 2022-03-15 2022-03-15 0001743725 srt:MaximumMember gdyn:DailySimpleSOFRSONIAOrSARONMember 2022-03-15 2022-03-15 0001743725 2017-10-31 0001743725 srt:NorthAmericaMember 2023-04-01 2023-06-30 0001743725 srt:NorthAmericaMember 2022-04-01 2022-06-30 0001743725 srt:NorthAmericaMember 2023-01-01 2023-06-30 0001743725 srt:NorthAmericaMember 2022-01-01 2022-06-30 0001743725 srt:EuropeMember 2023-04-01 2023-06-30 0001743725 srt:EuropeMember 2022-04-01 2022-06-30 0001743725 srt:EuropeMember 2023-01-01 2023-06-30 0001743725 srt:EuropeMember 2022-01-01 2022-06-30 0001743725 gdyn:OtherGeographicRegionsNotIndividuallyDisclosedMember 2023-04-01 2023-06-30 0001743725 gdyn:OtherGeographicRegionsNotIndividuallyDisclosedMember 2022-04-01 2022-06-30 0001743725 gdyn:OtherGeographicRegionsNotIndividuallyDisclosedMember 2023-01-01 2023-06-30 0001743725 gdyn:OtherGeographicRegionsNotIndividuallyDisclosedMember 2022-01-01 2022-06-30 0001743725 us-gaap:RetailMember 2023-04-01 2023-06-30 0001743725 us-gaap:RetailMember 2022-04-01 2022-06-30 0001743725 us-gaap:RetailMember 2023-01-01 2023-06-30 0001743725 us-gaap:RetailMember 2022-01-01 2022-06-30 0001743725 gdyn:TechnologyMediaAndTelecomMember 2023-04-01 2023-06-30 0001743725 gdyn:TechnologyMediaAndTelecomMember 2022-04-01 2022-06-30 0001743725 gdyn:TechnologyMediaAndTelecomMember 2023-01-01 2023-06-30 0001743725 gdyn:TechnologyMediaAndTelecomMember 2022-01-01 2022-06-30 0001743725 us-gaap:ManufacturedProductOtherMember 2023-04-01 2023-06-30 0001743725 us-gaap:ManufacturedProductOtherMember 2022-04-01 2022-06-30 0001743725 us-gaap:ManufacturedProductOtherMember 2023-01-01 2023-06-30 0001743725 us-gaap:ManufacturedProductOtherMember 2022-01-01 2022-06-30 0001743725 us-gaap:FinancialServiceMember 2023-04-01 2023-06-30 0001743725 us-gaap:FinancialServiceMember 2022-04-01 2022-06-30 0001743725 us-gaap:FinancialServiceMember 2023-01-01 2023-06-30 0001743725 us-gaap:FinancialServiceMember 2022-01-01 2022-06-30 0001743725 us-gaap:ProductAndServiceOtherMember 2023-04-01 2023-06-30 0001743725 us-gaap:ProductAndServiceOtherMember 2022-04-01 2022-06-30 0001743725 us-gaap:ProductAndServiceOtherMember 2023-01-01 2023-06-30 0001743725 us-gaap:ProductAndServiceOtherMember 2022-01-01 2022-06-30 0001743725 us-gaap:TimeAndMaterialsContractMember 2023-04-01 2023-06-30 0001743725 us-gaap:TimeAndMaterialsContractMember 2022-04-01 2022-06-30 0001743725 us-gaap:TimeAndMaterialsContractMember 2023-01-01 2023-06-30 0001743725 us-gaap:TimeAndMaterialsContractMember 2022-01-01 2022-06-30 0001743725 us-gaap:FixedPriceContractMember 2023-04-01 2023-06-30 0001743725 us-gaap:FixedPriceContractMember 2022-04-01 2022-06-30 0001743725 us-gaap:FixedPriceContractMember 2023-01-01 2023-06-30 0001743725 us-gaap:FixedPriceContractMember 2022-01-01 2022-06-30 0001743725 gdyn:OtherRevenueMember 2023-04-01 2023-06-30 0001743725 gdyn:OtherRevenueMember 2022-04-01 2022-06-30 0001743725 gdyn:OtherRevenueMember 2023-01-01 2023-06-30 0001743725 gdyn:OtherRevenueMember 2022-01-01 2022-06-30 0001743725 gdyn:CustomerOneMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-04-01 2023-06-30 0001743725 gdyn:CustomerOneMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2022-04-01 2022-06-30 0001743725 gdyn:CustomerOneMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-06-30 0001743725 gdyn:CustomerOneMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-06-30 0001743725 gdyn:CustomerTwoMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2022-04-01 2022-06-30 0001743725 gdyn:CustomerTwoMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-06-30 0001743725 us-gaap:RelatedPartyMember 2023-04-01 2023-06-30 0001743725 us-gaap:RelatedPartyMember 2023-01-01 2023-06-30 0001743725 us-gaap:RelatedPartyMember 2022-04-01 2022-06-30 0001743725 us-gaap:RelatedPartyMember 2022-01-01 2022-06-30 0001743725 us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-06-30 0001743725 us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2022-12-31 0001743725 gdyn:UnbilledReceivablesMember us-gaap:CustomerConcentrationRiskMember 2023-06-30 0001743725 gdyn:UnbilledReceivablesMember us-gaap:CustomerConcentrationRiskMember 2022-12-31 0001743725 srt:MinimumMember 2023-06-30 0001743725 srt:MaximumMember 2023-06-30 0001743725 us-gaap:CostOfSalesMember 2023-04-01 2023-06-30 0001743725 us-gaap:CostOfSalesMember 2022-04-01 2022-06-30 0001743725 us-gaap:CostOfSalesMember 2023-01-01 2023-06-30 0001743725 us-gaap:CostOfSalesMember 2022-01-01 2022-06-30 0001743725 us-gaap:ResearchAndDevelopmentExpenseMember 2023-04-01 2023-06-30 0001743725 us-gaap:ResearchAndDevelopmentExpenseMember 2022-04-01 2022-06-30 0001743725 us-gaap:ResearchAndDevelopmentExpenseMember 2023-01-01 2023-06-30 0001743725 us-gaap:ResearchAndDevelopmentExpenseMember 2022-01-01 2022-06-30 0001743725 us-gaap:SellingAndMarketingExpenseMember 2023-04-01 2023-06-30 0001743725 us-gaap:SellingAndMarketingExpenseMember 2022-04-01 2022-06-30 0001743725 us-gaap:SellingAndMarketingExpenseMember 2023-01-01 2023-06-30 0001743725 us-gaap:SellingAndMarketingExpenseMember 2022-01-01 2022-06-30 0001743725 us-gaap:GeneralAndAdministrativeExpenseMember 2023-04-01 2023-06-30 0001743725 us-gaap:GeneralAndAdministrativeExpenseMember 2022-04-01 2022-06-30 0001743725 us-gaap:GeneralAndAdministrativeExpenseMember 2023-01-01 2023-06-30 0001743725 us-gaap:GeneralAndAdministrativeExpenseMember 2022-01-01 2022-06-30 0001743725 gdyn:A2018StockPlanMember 2022-12-31 0001743725 gdyn:A2018StockPlanMember 2022-01-01 2022-12-31 0001743725 gdyn:A2018StockPlanMember 2023-01-01 2023-06-30 0001743725 gdyn:A2018StockPlanMember 2023-06-30 0001743725 us-gaap:EmployeeStockOptionMember gdyn:A2018StockPlanMember 2023-01-01 2023-06-30 0001743725 gdyn:A2020EquityIncentivePlanMember 2023-06-30 0001743725 gdyn:A2020EquityIncentivePlanMember 2022-12-31 0001743725 gdyn:A2020EquityIncentivePlanMember 2022-01-01 2022-12-31 0001743725 gdyn:A2020EquityIncentivePlanMember 2023-01-01 2023-06-30 0001743725 us-gaap:PerformanceSharesMember 2023-01-01 2023-06-30 0001743725 us-gaap:EmployeeStockOptionMember gdyn:A2020EquityIncentivePlanMember 2023-01-01 2023-06-30 0001743725 us-gaap:RestrictedStockUnitsRSUMember 2022-12-31 0001743725 us-gaap:RestrictedStockUnitsRSUMember 2023-01-01 2023-06-30 0001743725 us-gaap:RestrictedStockUnitsRSUMember 2023-06-30 0001743725 us-gaap:PerformanceSharesMember 2022-12-31 0001743725 us-gaap:PerformanceSharesMember 2023-06-30 0001743725 us-gaap:PerformanceSharesMember 2023-01-01 2023-03-31 0001743725 us-gaap:EmployeeStockOptionMember 2023-04-01 2023-06-30 0001743725 us-gaap:EmployeeStockOptionMember 2022-04-01 2022-06-30 0001743725 us-gaap:EmployeeStockOptionMember 2023-01-01 2023-06-30 0001743725 us-gaap:EmployeeStockOptionMember 2022-01-01 2022-06-30 0001743725 us-gaap:RestrictedStockUnitsRSUMember 2023-04-01 2023-06-30 0001743725 us-gaap:RestrictedStockUnitsRSUMember 2022-04-01 2022-06-30 0001743725 us-gaap:RestrictedStockUnitsRSUMember 2023-01-01 2023-06-30 0001743725 us-gaap:RestrictedStockUnitsRSUMember 2022-01-01 2022-06-30 0001743725 us-gaap:PerformanceSharesMember 2023-04-01 2023-06-30 0001743725 us-gaap:PerformanceSharesMember 2022-04-01 2022-06-30 0001743725 us-gaap:PerformanceSharesMember 2023-01-01 2023-06-30 0001743725 us-gaap:PerformanceSharesMember 2022-01-01 2022-06-30 0001743725 gdyn:StanKlimoffMember 2023-04-01 2023-06-30 0001743725 gdyn:StanKlimoffMember gdyn:StanKlimoffTradingArrangementTrancheOneMember 2023-06-30 0001743725 gdyn:StanKlimoffMember gdyn:StanKlimoffTradingArrangementTrancheTwoMember 2023-06-30 shares iso4217:USD iso4217:USD shares pure gdyn:employee gdyn:customer gdyn:segment --12-31 false 0001743725 2023 Q2 http://fasb.org/us-gaap/2023#OtherNonoperatingIncomeExpense 1 1 P358D 10-Q true 2023-06-30 false 001-38685 Grid Dynamics Holdings, Inc. DE 83-0632724 5000 Executive Parkway Suite 520 San Ramon CA 94583 650 523-5000 Common Stock, par value $0.0001 per share GDYN NASDAQ Yes Yes Large Accelerated Filer false false false 75336445 246176000 256729000 524000 443000 48804000 48358000 8079000 5591000 9224000 4294000 9189000 8154000 321472000 323126000 10024000 8215000 11203000 7694000 28641000 20375000 54633000 45514000 3734000 4998000 1531000 1224000 431238000 411146000 5302000 3897000 20832000 13065000 14215000 10718000 4154000 2505000 8967000 8525000 53470000 38710000 3524000 3756000 7682000 5636000 64676000 48102000 0.0001 0.0001 110000000 110000000 75333893 75333893 74156458 74156458 7000 7000 384969000 378006000 -19464000 -14121000 1050000 -848000 366562000 363044000 431238000 411146000 77342000 77335000 157422000 148745000 49037000 48474000 100542000 93105000 28305000 28861000 56880000 55640000 3273000 3840000 7476000 6936000 5963000 5132000 11597000 9347000 17735000 30738000 42465000 50003000 26971000 39710000 61538000 66286000 1334000 -10849000 -4658000 -10646000 3008000 -626000 4690000 -1326000 4342000 -11475000 32000 -11972000 1715000 1711000 5375000 3881000 2627000 -13186000 -5343000 -15853000 1403000 -782000 1898000 -1065000 4030000 -13968000 -3445000 -16918000 0.03 -0.20 -0.07 -0.24 0.03 -0.20 -0.07 -0.24 75145000 67136000 74804000 67028000 76850000 67136000 74804000 67028000 74156000 7000 378006000 -14121000 -848000 363044000 -7970000 -7970000 13257000 13257000 1000 10000 10000 739000 -8951000 -8951000 495000 495000 74896000 7000 382322000 -22091000 -353000 359885000 2627000 2627000 7153000 7153000 13000 -66000 -66000 425000 -4440000 -4440000 1403000 1403000 75334000 7000 384969000 -19464000 1050000 366562000 66851000 7000 212077000 15093000 -126000 227051000 -2667000 -2667000 8661000 8661000 72000 292000 292000 134000 -1802000 -1802000 -283000 -283000 67057000 7000 219228000 12426000 -409000 231252000 -13186000 -13186000 16387000 16387000 160000 538000 538000 77000 -1284000 -1284000 -782000 -782000 67294000 7000 234869000 -760000 -1191000 232925000 -5343000 -15853000 3777000 3280000 1419000 1431000 113000 132000 45000 20000 -1203000 -731000 -2554000 0 20410000 25048000 -1418000 5454000 1826000 124000 4791000 587000 755000 3302000 1187000 1341000 6829000 7947000 -1279000 -1642000 3116000 3078000 2016000 738000 22579000 15322000 3753000 3213000 0 1000000 17830000 0 -21583000 -4213000 56000 -830000 13391000 3086000 0 1933000 0 5000000 0 5000000 0 201000 -13447000 -4390000 1898000 -1065000 -10553000 5654000 256729000 144364000 246176000 150018000 8142000 1880000 932000 0 Nature of operations and summary of significant accounting policies<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Grid Dynamics Holdings, Inc. (the “Company”) provides enterprise-level digital transformation in the areas of technology consulting, agile custom software development, and data analytics to Fortune 1000 companies. The Company’s headquarters and principal place of business is in San Ramon, California.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a summary of critical accounting policies consistently applied in the preparation of the accompanying unaudited condensed consolidated financial statements. Full description of significant accounting policies is provided in our Annual Report on Form 10-K for the fiscal year ended December 31, 2022, as filed with the SEC on February 28, 2023. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basis of presentation</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States (“U.S. GAAP”) for interim financial information and in accordance with the rules and regulations of the Securities and Exchange Commission (“SEC”). Accordingly, they do not include all of the information and footnotes required by U.S. GAAP for complete financial statements. The unaudited condensed consolidated financial statements reflect all normal and recurring adjustments that are, in the opinion of the Company’s management, necessary for the fair presentation of the results of operations for the interim periods. Operating results for the three and six months ended June 30, 2023 are not necessarily indicative of the results that may be expected for the year ending December 31, 2023. These interim financial statements should be read in conjunction with the Company’s audited financial statements for the year ended December 31, 2022 included in the Company’s annual report on Form 10-K that the Company filed with the SEC on February 28, 2023.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Principles of consolidation</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying unaudited condensed consolidated financial statements include the accounts of the Company and all of its subsidiaries that are directly or indirectly owned or controlled. Intercompany transactions and balances have been eliminated upon consolidation.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company provides services to its customers utilizing its own personnel as well as personnel from subcontractors. One of the subcontractors exclusively supports and performs services on behalf of the Company and its customers. The Company had no ownership in this subcontractor (“Affiliate”) as of June 30, 2023. The Company is required to apply accounting standards which address how a business enterprise should evaluate whether it has a controlling financial interest in a variable interest entity (“VIE”) through means other than voting rights and accordingly should determine whether or not to consolidate the entity. The Company has determined that it is required to consolidate the Affiliate because the Company has the power to direct the VIE’s most significant activities and is the primary beneficiary of the Affiliate. The assets and liabilities of the Affiliate primarily consist of inter-company balances and transactions all of which have been eliminated in consolidation.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Use of estimates</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of the unaudited condensed consolidated financial statements in accordance with U.S. GAAP requires the Company to make estimates and assumptions that affect the amounts reported in the unaudited condensed consolidated financial statements and accompanying notes. Actual results could differ from these estimates and such differences could be material. Significant estimates include determination of fair value, useful lives and recoverability of intangible assets and goodwill, stock-based compensation, contingent consideration payable, determination of provision for income taxes, deferred tax assets and liabilities and uncertain tax positions.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recently adopted accounting pronouncements</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes to U.S. GAAP are established by the Financial Accounting Standards Board (the “FASB”), in the form of Accounting Standards Updates (“ASUs”), to the FASB’s ASC. The Company will adopt according these changes according to the various timetables the FASB specifies. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Measurement of Credit Losses on Financial Instruments </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">— </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2016, the FASB issued ASU 2016-13, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financial Instruments-Credit Losses (Topic 326) — Measurement of Credit Losses on Financial Instruments </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">that was subsequently </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">amended by ASU 2019-4, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Codification Improvements to Topic 326, Financial Instruments — Credit Losses,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> ASU 2019-5, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financial Instruments — Credit Losses (Topic 326): Targeted Transition Relief,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and clarified with the release of ASU 2020-2 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financial Instruments—Credit Losses (Topic 326)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Leases (Topic 842).</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> These ASUs replace the current incurred loss impairment methodology with a methodology that reflects expected credit losses measured at amortized cost and certain other instruments, including loans, held-to-maturity debt securities, net investments in leases, and off-balance sheet credit exposures. The Company adopted Topic 326, effective January 1, 2023, using a modified-retrospective approach. Adoption of Topic 326 did not have any impact on its condensed consolidated financial statements. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recently issued accounting pronouncements</span></div>The Company considered the applicability of all recently issued ASUs and believes their impact will not have a material impact on its condensed consolidated financial position, results of operations and cash flows upon adoption. Grid Dynamics Holdings, Inc. (the “Company”) provides enterprise-level digital transformation in the areas of technology consulting, agile custom software development, and data analytics to Fortune 1000 companies. The Company’s headquarters and principal place of business is in San Ramon, California. <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basis of presentation</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States (“U.S. GAAP”) for interim financial information and in accordance with the rules and regulations of the Securities and Exchange Commission (“SEC”). Accordingly, they do not include all of the information and footnotes required by U.S. GAAP for complete financial statements. The unaudited condensed consolidated financial statements reflect all normal and recurring adjustments that are, in the opinion of the Company’s management, necessary for the fair presentation of the results of operations for the interim periods. Operating results for the three and six months ended June 30, 2023 are not necessarily indicative of the results that may be expected for the year ending December 31, 2023. These interim financial statements should be read in conjunction with the Company’s audited financial statements for the year ended December 31, 2022 included in the Company’s annual report on Form 10-K that the Company filed with the SEC on February 28, 2023.</span></div> <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Principles of consolidation</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying unaudited condensed consolidated financial statements include the accounts of the Company and all of its subsidiaries that are directly or indirectly owned or controlled. Intercompany transactions and balances have been eliminated upon consolidation.</span></div> The Company provides services to its customers utilizing its own personnel as well as personnel from subcontractors. One of the subcontractors exclusively supports and performs services on behalf of the Company and its customers. The Company had no ownership in this subcontractor (“Affiliate”) as of June 30, 2023. The Company is required to apply accounting standards which address how a business enterprise should evaluate whether it has a controlling financial interest in a variable interest entity (“VIE”) through means other than voting rights and accordingly should determine whether or not to consolidate the entity. The Company has determined that it is required to consolidate the Affiliate because the Company has the power to direct the VIE’s most significant activities and is the primary beneficiary of the Affiliate. The assets and liabilities of the Affiliate primarily consist of inter-company balances and transactions all of which have been eliminated in consolidation. <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Use of estimates</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of the unaudited condensed consolidated financial statements in accordance with U.S. GAAP requires the Company to make estimates and assumptions that affect the amounts reported in the unaudited condensed consolidated financial statements and accompanying notes. Actual results could differ from these estimates and such differences could be material. Significant estimates include determination of fair value, useful lives and recoverability of intangible assets and goodwill, stock-based compensation, contingent consideration payable, determination of provision for income taxes, deferred tax assets and liabilities and uncertain tax positions.</span></div> <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recently adopted accounting pronouncements</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes to U.S. GAAP are established by the Financial Accounting Standards Board (the “FASB”), in the form of Accounting Standards Updates (“ASUs”), to the FASB’s ASC. The Company will adopt according these changes according to the various timetables the FASB specifies. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Measurement of Credit Losses on Financial Instruments </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">— </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2016, the FASB issued ASU 2016-13, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financial Instruments-Credit Losses (Topic 326) — Measurement of Credit Losses on Financial Instruments </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">that was subsequently </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">amended by ASU 2019-4, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Codification Improvements to Topic 326, Financial Instruments — Credit Losses,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> ASU 2019-5, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financial Instruments — Credit Losses (Topic 326): Targeted Transition Relief,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and clarified with the release of ASU 2020-2 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financial Instruments—Credit Losses (Topic 326)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Leases (Topic 842).</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> These ASUs replace the current incurred loss impairment methodology with a methodology that reflects expected credit losses measured at amortized cost and certain other instruments, including loans, held-to-maturity debt securities, net investments in leases, and off-balance sheet credit exposures. The Company adopted Topic 326, effective January 1, 2023, using a modified-retrospective approach. Adoption of Topic 326 did not have any impact on its condensed consolidated financial statements. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recently issued accounting pronouncements</span></div>The Company considered the applicability of all recently issued ASUs and believes their impact will not have a material impact on its condensed consolidated financial position, results of operations and cash flows upon adoption. Acquisitions<div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NextSphere </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— On April 18, 2023, the Company completed the acquisition of 100% of NextSphere Technologies, Inc. (“NextSphere”). Founded in 2006, NextSphere is headquartered in Tampa, FL, has an engineering presence in Phoenix, AZ, and operates two large engineering centers in India's tech hubs of Hyderabad and Chennai. NextSphere specializes in modern application development, systems monetization, product development, cloud and infrastructure services, and quality assurance. Over the years, NextSphere has worked with several brands across numerous industry verticals with expertise in Healthcare, Fintech and CPG/Manufacturing industries. The Company believes this acquisition will support the Company’s objectives of enhancing its technical capabilities, expanding its global footprint, and increasing its client base. The total purchase consideration is $25.2 million and consists of cash consideration of $24.3 million paid at closing, and fair value of the contingent consideration at the date of the acquisition of $0.9 million. The maximum amount of potential contingent cash consideration is $2.0 million. The contingent consideration is payable based on revenue and gross profit metrics to be achieved by NextSphere within 12 months. The Company recorded a liability for the contingent consideration amount based on the Company’s best estimate of the fair value of the expected payout. See Note 3 for further details on contingent consideration.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Mutual Mobile</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> — On December 23, 2022, the Company acquired 100% of the equity interest of the software company Mutual Mobile Inc. (“Mutual Mobile”). Founded in 2009, Mutual Mobile is based in the United States and India, offers end-to-end design and development of next-generation applications, combining mobile, augmented/virtual/mixed reality, and cloud edge / IoT practices. The acquisition of Mutual Mobile added approximately 180 employees to the Company’s headcount. The acquisition will accelerate Company’s strategic expansion into the India engineering market and further solidifies Grid Dynamics’ commitment to global growth. The total purchase consideration is $16.1 million and consists of cash consideration of $12.8 million paid at closing, and fair value of the contingent consideration at the date of the acquisition of $3.3 million. The maximum amount of potential contingent cash consideration is $5.0 million. The contingent consideration is payable based on revenue and gross profit metrics to be achieved by Mutual Mobile within 12 months. The Company recorded a liability for the contingent consideration amount based on the Company’s best estimate of the fair value of the expected payout. See Note 3 for further details on contingent consideration.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the estimated fair values of the assets acquired and liabilities assumed:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.498%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">NextSphere</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Mutual Mobile</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current assets</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,708 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,982 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property, plant and equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">192 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">132 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,906 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,749 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,119 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,556 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other noncurrent assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">511 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">102 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total assets acquired</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">29,436</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">18,521</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts payable, accrued expenses and other liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,990)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,576)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred taxes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,235)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(875)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total liabilities assumed</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(4,225)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(2,451)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Purchase price allocation</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">25,211</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">16,070</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Current assets acquired include cash and cash equivalents in the amount of $6.4 million for NextSphere and $3.5 million for Mutual Mobile, respectively. The purchase price for all acquisitions was assigned to assets acquired and liabilities assumed based on their estimated fair values as of the date of acquisition, and any excess was allocated to goodwill, as shown in the table above. Goodwill represents the value the Company expects to achieve through the implementation of operational synergies and growth opportunities as the Company expands its global reach. Goodwill for NextSphere and Mutual Mobile is not deductible for income tax purposes. </span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the acquisition of NextSphere and Mutual Mobile, the estimated fair values of the assets acquired and liabilities assumed are provisional and based on the information that was available as of the acquisition date. The Company expects to finalize the purchase price allocations as soon as practicable but no later than one year from the acquisition date. </span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The estimated fair value, useful lives and amortization methods of identifiable intangible assets as of the date of acquisition updated for any changes as of June 30, 2023 are as follows:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.829%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.624%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">NextSphere</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Mutual Mobile</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Useful Life</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Useful Life</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="21" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands, except in years)</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,415 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10 years</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,453 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8 years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquired software</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">995 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.5 years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">—</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trade name</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">496 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2 years</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">152 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4 years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">—</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">144 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2 years</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 14.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total identified intangible assets</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">9,906</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,749</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr></table></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company used the acquisition method of accounting for all acquisitions, and consequently, the results of operations for all acquisitions are reported in the consolidated financial statements from the dates of acquisition. </span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following unaudited pro forma information presents the combined results of operations as if the acquisitions of Mutual Mobile and NextSphere had occurred at the beginning of the year preceding the acquisition date. Pre-acquisition results of business acquired have been added to the Company’s historical results. The pro forma results contained in the table below include adjustments for amortization of acquired intangibles and related income taxes. Any potential cost savings or other operational efficiencies that could result from the acquisition are not included in these pro forma results.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">These unaudited pro forma results have been prepared for comparative purposes only and are not necessarily indicative of the results of operations as they would have been had the acquisitions occurred on the assumed dates, nor are they necessarily an indication of future operating results.</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.498%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>June 30, <br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six Months Ended<br/>June 30, <br/>2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenue</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,515 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">157,555 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12,559)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(13,904)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted loss per share</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.19)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.21)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 1 25200000 24300000 900000 2000000 P12M 1 180 16100000 12800000 3300000 5000000 P12M <div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the estimated fair values of the assets acquired and liabilities assumed:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.498%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">NextSphere</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Mutual Mobile</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current assets</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,708 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,982 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property, plant and equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">192 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">132 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,906 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,749 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,119 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,556 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other noncurrent assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">511 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">102 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total assets acquired</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">29,436</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">18,521</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts payable, accrued expenses and other liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,990)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,576)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred taxes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,235)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(875)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total liabilities assumed</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(4,225)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(2,451)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Purchase price allocation</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">25,211</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">16,070</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 9708000 4982000 192000 132000 9906000 3749000 9119000 9556000 511000 102000 29436000 18521000 1990000 1576000 2235000 875000 4225000 2451000 25211000 16070000 6400000 3500000 P1Y <div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The estimated fair value, useful lives and amortization methods of identifiable intangible assets as of the date of acquisition updated for any changes as of June 30, 2023 are as follows:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.829%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.624%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">NextSphere</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Mutual Mobile</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Useful Life</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Useful Life</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="21" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands, except in years)</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,415 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10 years</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,453 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8 years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquired software</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">995 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.5 years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">—</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trade name</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">496 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2 years</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">152 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4 years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">—</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">144 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2 years</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 14.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total identified intangible assets</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">9,906</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,749</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr></table></div> 8415000 P10Y 3453000 P8Y 995000 P2Y6M 0 496000 P2Y 152000 P4Y 0 144000 P2Y 9906000 3749000 <div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">These unaudited pro forma results have been prepared for comparative purposes only and are not necessarily indicative of the results of operations as they would have been had the acquisitions occurred on the assumed dates, nor are they necessarily an indication of future operating results.</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.498%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>June 30, <br/>2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six Months Ended<br/>June 30, <br/>2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenue</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,515 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">157,555 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12,559)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(13,904)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted loss per share</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.19)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.21)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 82515000 157555000 -12559000 -13904000 -0.19 -0.21 Fair value <div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s financial assets and liabilities, with the exceptions of contingent consideration payable described further herein, are all short term in nature; therefore, the carrying value of these items approximates their fair value.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company measures contingent consideration payable at fair value on a recurring basis using significant inputs that are not observable in the market. Fair value of the contingent consideration liability is based on the Monte-Carlo model which is primarily based on budgets and discounted cash flow analysis. The Company believes its estimates and assumptions are reasonable, however, there is significant judgment involved. Changes in the fair value of contingent consideration payable primarily result from changes in timing and amount of specific milestone estimates and changes in probability assumptions with respect to the likelihood of achieving the various earnout criteria. These changes could cause a material impact to, and volatility in the Company’s operating results. </span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the three months ended December 31, 2022 and three months ended June 30, 2023 the Company completed the acquisitions of NextSphere and Mutual Mobile under which the Company committed to make a cash earnout payment subject to attainment of specific performance targets. The weighted average discount rate used to determine the fair value of NextSphere and Mutual Mobile contingent considerations was 15.5% and 10.3%, respectively. </span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company records contingent consideration payable in Other current liabilities in its unaudited consolidated balance sheet. A reconciliation of the beginning and ending balances of Level 3 acquisition-related contingent consideration payable using significant unobservable inputs for the six months ended June 30, 2023 are as follows:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:83.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Amount<br/>(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Contingent consideration payable as of December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,288</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquisition date fair value of contingent consideration payable - NextSphere</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">932 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 14.5pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><span style="-sec-ix-hidden:f-400">Change in fair value of contingent consideration payable included in Other income/(expense) - Mutual Mobile</span></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,554)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Contingent consideration payable as of June 30, 2023</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,666</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financial Assets and Liabilities Not Measured at Fair Value on a Recurring Basis</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Estimates of fair value of financial instruments not carried at fair value on a recurring basis are generally subjective in nature, and are determined as of a specific point in time based on the characteristics of the financial instruments and relevant market information. The Company’s financial assets and liabilities, are generally short-term in nature; therefore, the carrying value of these items approximates their fair value. </span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables present the estimated fair values of the Company’s financial assets and liabilities not measured at fair value on a recurring basis as of the dates indicated:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:32.818%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.624%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value Hierarchy</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Level 3</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">June 30, 2023</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Financial Assets:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">197,211 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">197,211 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">197,211 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Financial Assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">205,787 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">205,787 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">205,787 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Non-Marketable Securities Without Readily Determinable Fair Values</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company holds investment in equity securities of a related party that does not have readily determinable fair values. This investment is recorded at cost and is remeasured to fair value based on certain observable price changes or impairment events as they occur. The carrying amount of the investment was $1.0 million as of June 30, 2023 and December 31, 2022, and was classified as Other noncurrent assets in the Company’s unaudited condensed consolidated balance sheets.</span></div> 0.155 0.103 A reconciliation of the beginning and ending balances of Level 3 acquisition-related contingent consideration payable using significant unobservable inputs for the six months ended June 30, 2023 are as follows:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:83.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Amount<br/>(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Contingent consideration payable as of December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,288</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquisition date fair value of contingent consideration payable - NextSphere</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">932 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 14.5pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><span style="-sec-ix-hidden:f-400">Change in fair value of contingent consideration payable included in Other income/(expense) - Mutual Mobile</span></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,554)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Contingent consideration payable as of June 30, 2023</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,666</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 3288000 932000 -2554000 1666000 <div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables present the estimated fair values of the Company’s financial assets and liabilities not measured at fair value on a recurring basis as of the dates indicated:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:32.818%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.624%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value Hierarchy</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Level 3</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">June 30, 2023</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Financial Assets:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">197,211 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">197,211 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">197,211 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Financial Assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">205,787 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">205,787 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">205,787 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 197211000 197211000 197211000 0 0 205787000 205787000 205787000 0 0 1000000 1000000 Prepaid expenses and other current assets<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The prepaid expenses and other current assets were as follows:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.268%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.621%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">As of</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Prepaid expenses</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,854 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,323 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Value added, goods and service taxes receivable</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,019 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,384 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Guarantee deposits placed</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,004 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,295 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other prepaid and current assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">312 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,152 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total prepaid expenses and other current assets</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">9,189</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">8,154</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The prepaid expenses and other current assets were as follows:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.268%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.621%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">As of</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Prepaid expenses</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,854 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,323 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Value added, goods and service taxes receivable</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,019 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,384 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Guarantee deposits placed</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,004 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,295 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other prepaid and current assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">312 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,152 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total prepaid expenses and other current assets</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">9,189</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">8,154</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 4854000 3323000 2019000 1384000 2004000 2295000 312000 1152000 9189000 8154000 Property and equipment, netProperty and equipment, net consisted of the following:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:58.402%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.623%"></td><td style="width:0.1%"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Estimated<br/>Useful<br/>Life</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">As of</span></td></tr><tr style="height:36pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Computers and equipment</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2-5</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,798 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,679 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Furniture and fixtures</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3-10</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,706 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,614 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Leasehold improvements</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2-8</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,258 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">646 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Software</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3-5</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,196 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,053 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Machinery and automobiles</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4-6</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">559 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">349 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,517 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,341 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: Accumulated depreciation and amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(10,688)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(8,614)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,829 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,727 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Capitalized software development costs</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2-3</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,831 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,210 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: Accumulated amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,636)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4,722)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,195 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,488 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Property and equipment, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">10,024</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">8,215</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> Property and equipment, net consisted of the following:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:58.402%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.623%"></td><td style="width:0.1%"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Estimated<br/>Useful<br/>Life</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">As of</span></td></tr><tr style="height:36pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Computers and equipment</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2-5</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,798 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,679 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Furniture and fixtures</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3-10</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,706 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,614 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Leasehold improvements</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2-8</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,258 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">646 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Software</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3-5</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,196 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,053 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Machinery and automobiles</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4-6</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">559 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">349 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,517 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,341 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: Accumulated depreciation and amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(10,688)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(8,614)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,829 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,727 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Capitalized software development costs</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2-3</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,831 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,210 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: Accumulated amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,636)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4,722)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,195 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,488 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Property and equipment, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">10,024</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">8,215</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> P2Y P5Y 12798000 11679000 P3Y P10Y 1706000 1614000 P2Y P8Y 1258000 646000 P3Y P5Y 1196000 1053000 P4Y P6Y 559000 349000 17517000 15341000 10688000 8614000 6829000 6727000 P2Y P3Y 5831000 6210000 2636000 4722000 3195000 1488000 10024000 8215000 Intangible assets, net<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets, net consisted of the following:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:59.133%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.911%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.623%"></td><td style="width:0.1%"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Estimated<br/>Useful<br/>Life</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">As of</span></td></tr><tr style="height:26pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in years)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="9" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer relationships</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8-12</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,839 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19,424 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Tradenames</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2-10</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,324 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,828 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Acquired software</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.5</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">995 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Non-compete agreements</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">584 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">584 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">34,742 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24,836 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: Accumulated amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(6,101)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4,461)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Intangible assets, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">28,641</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">20,375</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Based on the carrying value of the Company’s existing intangible assets as of June 30, 2023, the estimated amortization expense for the future years is as follows:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:86.162%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.638%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Years ending December 31, (in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Amount</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023 (excluding six months ended June 30, 2023)</span></div></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,080 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,048 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,640 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,168 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,130 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,575 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">28,641</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets, net consisted of the following:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:59.133%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.911%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.623%"></td><td style="width:0.1%"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Estimated<br/>Useful<br/>Life</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">As of</span></td></tr><tr style="height:26pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in years)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="9" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer relationships</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8-12</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,839 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19,424 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Tradenames</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2-10</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,324 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,828 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Acquired software</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.5</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">995 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Non-compete agreements</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">584 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">584 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">34,742 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24,836 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: Accumulated amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(6,101)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4,461)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Intangible assets, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">28,641</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">20,375</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> P8Y P12Y 27839000 19424000 P2Y P10Y 5324000 4828000 P2Y6M 995000 0 P2Y 584000 584000 34742000 24836000 6101000 4461000 28641000 20375000 <div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Based on the carrying value of the Company’s existing intangible assets as of June 30, 2023, the estimated amortization expense for the future years is as follows:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:86.162%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.638%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Years ending December 31, (in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Amount</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023 (excluding six months ended June 30, 2023)</span></div></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,080 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,048 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,640 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,168 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,130 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,575 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">28,641</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 2080000 4048000 3640000 3168000 3130000 12575000 28641000 Accrued expenses and other current liabilities<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of accrued expenses and other current liabilities were as follows:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:70.935%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.516%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.517%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As of</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="9" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued rebates</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,964 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">473 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Value added tax payable</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,846 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,345 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contingent consideration payable</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,666 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,288 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued expenses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,621 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">829 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer deposits</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">789 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">754 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,081 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,836 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total accrued expenses and other current liabilities</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,967</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,525</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div>As of June 30, 2023 and December 31, 2022 the Company had payable to its related party in the amount of $0.6 million that was classified as Other current liabilities in unaudited condensed consolidated balance sheet. <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of accrued expenses and other current liabilities were as follows:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:70.935%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.516%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.517%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As of</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="9" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued rebates</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,964 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">473 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Value added tax payable</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,846 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,345 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contingent consideration payable</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,666 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,288 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued expenses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,621 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">829 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer deposits</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">789 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">754 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,081 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,836 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total accrued expenses and other current liabilities</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,967</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,525</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 1964000 473000 1846000 1345000 1666000 3288000 1621000 829000 789000 754000 1081000 1836000 8967000 8525000 600000 600000 Debt<div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Revolving Credit Facility</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> — On March 15, 2022, the Company entered into a Credit Agreement (the “2022 Credit Agreement”) by and among the Company, as borrower, the guarantors party thereto from time to time, the lenders party thereto from time to time, and JPMorgan Chase Bank, N.A., as administrative agent for the lenders (the “Agent”). The 2022 Credit Agreement provides for a secured multicurrency revolving loan facility with an initial aggregate principal amount of up to $30.0 million, with a $10.0 million letter of credit sublimit. The Company may increase the size of the revolving loan facility up to $50.0 million, subject to certain conditions and additional commitments from existing and/or new lenders. The 2022 Credit Agreement matures on March 15, 2025.</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At the Company’s option, borrowings under the 2022 Credit Agreement accrue interest at a per annum rate based on either (i) the base rate plus a margin ranging from 1.0% to 1.5%, (ii) an adjusted term Secured Overnight Financing Rate (“SOFR”) or adjusted the Euro Interbank Offer Rate (“EURIBOR”) (based on one, three or six-month interest periods) plus a margin ranging from 2.0% to 2.5%, or (iii) an adjusted daily simple SOFR rate (or SONIA rate in the case of loans denominated in pounds sterling, or SARON rate in the case of loans denominated in Swiss francs), plus a margin ranging from 2.0% to 2.5%, in each case, with the applicable margin determined based on the Company’s consolidated total leverage ratio. The Company is also obligated to pay other closing fees, administration fees, commitment fees and letter of credit fees customary for a credit facility of this size and type.</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s obligations under the 2022 Credit Agreement are required to be guaranteed by certain of its domestic subsidiaries meeting materiality thresholds set forth in the 2022 Credit Agreement. Such obligations, including the guaranties, are secured by substantially all of the personal property of the Company and the Company’s subsidiary guarantors.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The 2022 Credit Agreement contains customary affirmative and negative covenants, including covenants limiting the ability of the Company and its subsidiaries to, among other things, incur debt, grant liens, undergo certain fundamental changes, make investments and acquisitions, make certain restricted payments, dispose of assets, enter into certain transactions with affiliates, and enter into burdensome agreements, in each case, subject to limitations and exceptions set forth in the 2022 Credit Agreement. The Company is also required to maintain compliance with a consolidated total leverage ratio, determined in accordance with the terms of the 2022 Credit Agreement. As of June 30, 2023, the Company was in compliance with all covenants contained in the 2022 Credit Agreement.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In October, 2017, the Company entered into a loan agreement for a revolving line of credit facility (the “Line of Credit”) with a borrowing capacity of $0.5 million. The Line of Credit is secured by substantially all of the Company’s assets and was secured in order to provide credit support for a letter of credit facility and balances under the Company’s credit cards. Borrowings under the Line of Credit are subject to a variable interest rate, based on changes in the Prime Rate, as calculated published by the Wall Street Journal. The Company closed the Line of Credit in March of 2022.</span></div>As of June 30, 2023 and December 31, 2022, respectively, the Company did not have any outstanding debt under the 2022 Credit Agreement. 30000000 10000000 50000000 0.010 0.015 0.020 0.025 0.020 0.025 500000 0 0 Revenues<div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Disaggregation of revenues</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The tables below present disaggregated revenues from contracts with customer by customer location, industries and contract-types. The Company believes this disaggregation best depicts how the nature, amount, timing and uncertainty of our revenues and cash flows are affected by industry, market and other economic factors. The Company has a single reportable segment for the six months ended June 30, 2023 and 2022. </span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the disaggregation of the Company’s revenues by major customer location. Revenues are attributed to geographic regions based upon billed client location. Substantially all of the revenue in our North America region relates to operations in the United States.</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:42.155%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.538%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six Months Ended<br/>June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Customer Location</span></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">North America</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61,944 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,658 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">125,893 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">121,267 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Europe</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,251 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,596 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,145 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,331 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">147 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">81 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">384 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">147 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total Revenues</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">77,342</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">77,335</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">157,422</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">148,745</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the disaggregation of the Company’s revenues by main vertical markets:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:42.155%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.538%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six Months Ended<br/>June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Vertical</span></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Retail</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,032 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,452 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,428 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,759 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology, Media and Telecom</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,096 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,391 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,907 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44,835 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">CPG/Manufacturing</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,872 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,090 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,518 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,069 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,748 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,049 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,263 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,576 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,594 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,353 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,306 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,506 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total Revenues</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">77,342</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">77,335</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">157,422</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">148,745</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">__________________________</span></div><div style="padding-left:18pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt">CPG stands for Consumer Packaged Goods</span></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the disaggregation of the Company’s revenues by contract types: </span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:42.155%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.538%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six Months Ended<br/>June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Contract Type</span></td><td colspan="21" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Time-and-material</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,143 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71,002 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">139,669 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">136,208 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fixed-fee</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,731 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,333 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,285 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,537 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other revenues</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">468 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">468 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total Revenues</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">77,342</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">77,335</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">157,422</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">148,745</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Contract balances</span></div><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A contract asset is a right to consideration that is conditional upon factors other than the passage of time. A contract liability, or deferred revenue, consists of advance payments and billings in excess of revenues recognized. As of June 30, 2023 and December 31, 2022 the Company did not have material contract assets. Contract liabilities were $0.4 million and $1.1 million as of June 30, 2023 and December 31, 2022, respectively.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Remaining performance obligation</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ASC 606 “</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Revenue from Contracts with Customers</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">” requires that the Company disclose the aggregate amount of transaction price that is allocated to performance obligations that have not yet been satisfied as of June 30, 2023 and December 31, 2022. This disclosure is not required for:</span></div><div style="margin-top:10pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.67pt">contracts with an original duration of one year or less, including contracts that can be terminated for convenience without a substantive penalty,</span></div><div style="margin-top:10pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.67pt">contracts for which the Company recognizes revenues based on the right to invoice for services performed,</span></div><div style="margin-top:10pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.67pt">variable consideration allocated entirely to a wholly unsatisfied performance obligation or to a wholly unsatisfied promise to transfer a distinct good or service that forms part of a single performance obligation in accordance with ASC 606-10-25-14(b), for which the criteria in ASC 606-10-32-40 have been met, or</span></div><div style="margin-top:10pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.67pt">variable consideration in the form of a sales-based or usage-based royalty promised in exchange for a license of intellectual property.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">All of the Company’s contracts met one or more of these exemptions as of June 30, 2023 and December 31, 2022</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Customers concentration</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the amount of revenue derived from each customer exceeding 10% of the Company’s revenue: </span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:42.155%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.538%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six Months Ended<br/>June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer 1</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14.0 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.9 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13.9 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.6 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer 2</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">n/a</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.1 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">n/a</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.7 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the three and six months ended June 30, 2023 the Company recorded revenues from its related parties of $2.3 million and $4.0 million, respectively. During the same periods of 2022 the Company recorded revenue from related parties of $1.4 million and $2.6 million, respectively. </span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows number of customers exceeding 10% of the Company’s billed and unbilled receivable balances:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"><tr><td style="width:1.0%"></td><td style="width:71.573%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.538%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.752%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As of</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">June 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unbilled receivable</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2</span></td></tr></table></div>As of June 30, 2023 and December 31, 2022 accounts receivable from related parties were $1.2 million and $0.9 million, respectively. <div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the disaggregation of the Company’s revenues by major customer location. Revenues are attributed to geographic regions based upon billed client location. Substantially all of the revenue in our North America region relates to operations in the United States.</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:42.155%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.538%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six Months Ended<br/>June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Customer Location</span></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">North America</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61,944 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,658 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">125,893 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">121,267 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Europe</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,251 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,596 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,145 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,331 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">147 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">81 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">384 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">147 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total Revenues</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">77,342</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">77,335</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">157,422</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">148,745</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the disaggregation of the Company’s revenues by main vertical markets:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:42.155%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.538%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six Months Ended<br/>June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Vertical</span></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Retail</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,032 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,452 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,428 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,759 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology, Media and Telecom</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,096 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,391 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,907 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44,835 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">CPG/Manufacturing</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,872 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,090 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,518 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,069 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,748 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,049 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,263 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,576 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,594 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,353 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,306 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,506 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total Revenues</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">77,342</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">77,335</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">157,422</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">148,745</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">__________________________</span></div><div style="padding-left:18pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt">CPG stands for Consumer Packaged Goods</span></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the disaggregation of the Company’s revenues by contract types: </span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:42.155%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.538%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six Months Ended<br/>June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Contract Type</span></td><td colspan="21" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Time-and-material</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,143 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71,002 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">139,669 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">136,208 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fixed-fee</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,731 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,333 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,285 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,537 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other revenues</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">468 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">468 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total Revenues</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">77,342</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">77,335</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">157,422</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">148,745</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 61944000 63658000 125893000 121267000 15251000 13596000 31145000 27331000 147000 81000 384000 147000 77342000 77335000 157422000 148745000 26032000 25452000 51428000 48759000 24096000 23391000 50907000 44835000 10872000 16090000 23518000 31069000 6748000 5049000 13263000 9576000 9594000 7353000 18306000 14506000 77342000 77335000 157422000 148745000 69143000 71002000 139669000 136208000 7731000 6333000 17285000 12537000 468000 0 468000 0 77342000 77335000 157422000 148745000 400000 1100000 <div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the amount of revenue derived from each customer exceeding 10% of the Company’s revenue: </span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:42.155%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.538%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six Months Ended<br/>June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer 1</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14.0 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.9 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13.9 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.6 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer 2</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">n/a</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.1 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">n/a</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.7 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows number of customers exceeding 10% of the Company’s billed and unbilled receivable balances:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"><tr><td style="width:1.0%"></td><td style="width:71.573%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.538%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.752%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As of</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">June 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unbilled receivable</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2</span></td></tr></table></div> 0.140 0.119 0.139 0.116 0.111 0.107 2300000 4000000 1400000 2600000 1 2 2 2 1200000 900000 Leases<div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A major part of the Company's lease obligations is for office real estate. The Company may also lease corporate apartments, cars and office equipment. Payments on some of our leases may depend on index or rate, including Consumer Price Index. Such payments are included in the calculation of lease liability and assets at the commencement dates, all future changes are accounted as variable payments similar to other variable payments, such as common area maintenance, property and other taxes, utilities and insurance that are based on the lessor’s cost. </span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s leases have remaining lease terms ranging from</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> 0.4 to 4.8 years</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Certain lease agreements may include the option to extend or terminate before the end of the contractual term and are often non-cancelable or cancellable only by the payment of penalties. The Company includes these options in the lease term when it is reasonably certain that they will be exercised. </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of June 30, 2023 and December 31, 2022, the Company had no finance leases. Operating lease expense is recorded on a straight-line basis over the lease term. During the three and six months ended June 30, 2023 and June 30, 2022 lease costs were as follows:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:42.155%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.538%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three months ended<br/>June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six Months Ended<br/>June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">939 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">858 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,720 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,552 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Variable lease cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">68 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(96)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">262 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(72)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term lease cost</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">196 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">267 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total lease cost</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,105</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">790</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2,178</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,747</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental information related to operating lease transactions is as follows:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:42.155%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.538%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three months ended<br/>March 31,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six Months Ended<br/>June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease liability payments</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">913 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">752 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,640 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,618 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease assets obtained in exchange for liabilities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,614 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,514 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,636 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,514 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;text-align:left;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-cash net change in lease assets due to lease modifications</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(858)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(886)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-cash net change in lease liability due to lease modifications</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(26)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">858 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(26)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">886 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average remaining lease term and discount rate as of June 30, 2023 is as follows:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:70.935%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.516%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.517%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As of</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">June 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average remaining lease term, in years</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.6</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.8</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average discount rate</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.4 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.7 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-top:6pt"><span><br/></span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of June 30, 2023, operating lease liabilities will mature as follows:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:85.303%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.497%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Years ending December 31, (in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Lease Payments</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023 (excluding six months ended June 30, 2023)</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,121 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,060 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,092 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,219 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,844 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">89 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total lease payments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">13,425</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: imputed interest</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,589)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">11,836</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no material lease agreements signed with related parties as of June 30, 2023 and December 31, 2022.</span></div> P0Y4M24D P4Y9M18D Operating lease expense is recorded on a straight-line basis over the lease term. During the three and six months ended June 30, 2023 and June 30, 2022 lease costs were as follows:<div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:42.155%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.538%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three months ended<br/>June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six Months Ended<br/>June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">939 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">858 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,720 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,552 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Variable lease cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">68 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(96)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">262 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(72)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term lease cost</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">196 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">267 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total lease cost</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,105</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">790</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2,178</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,747</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental information related to operating lease transactions is as follows:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:42.155%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.538%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three months ended<br/>March 31,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six Months Ended<br/>June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease liability payments</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">913 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">752 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,640 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,618 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease assets obtained in exchange for liabilities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,614 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,514 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,636 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,514 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;text-align:left;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-cash net change in lease assets due to lease modifications</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(858)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(886)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-cash net change in lease liability due to lease modifications</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(26)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">858 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(26)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">886 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average remaining lease term and discount rate as of June 30, 2023 is as follows:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:70.935%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.516%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.517%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As of</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">June 30,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average remaining lease term, in years</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.6</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.8</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average discount rate</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.4 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.7 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div> 939000 858000 1720000 1552000 68000 -96000 262000 -72000 98000 28000 196000 267000 1105000 790000 2178000 1747000 913000 752000 1640000 1618000 3614000 1514000 4636000 1514000 26000 -858000 26000 -886000 -26000 858000 -26000 886000 P3Y7M6D P2Y9M18D 0.064 0.047 <div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of June 30, 2023, operating lease liabilities will mature as follows:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:85.303%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.497%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Years ending December 31, (in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Lease Payments</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023 (excluding six months ended June 30, 2023)</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,121 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,060 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,092 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,219 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,844 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">89 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total lease payments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">13,425</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: imputed interest</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,589)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">11,836</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 2121000 4060000 3092000 2219000 1844000 89000 13425000 1589000 11836000 Income taxesThe Company recorded income tax expense of $1.7 million and $1.7 million for the three months ended June 30, 2023 and 2022, respectively. The Company’s effective tax rate was 39.5% and (14.9)% for the second quarter of 2023 and 2022, respectively. On a year-to-date basis, the Company recorded income tax expense of $5.4 million and $3.9 million for 2023 and <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2022, respectively. Effective tax rate was not meaningful and (32.4)% during the six months ended June 30, 2023 and 2022, respectively. Effective tax rate for six months ended June 30, 2023 was not meaningful due to immaterial income before tax compared to income tax expense recorded. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The change in the effective tax rate for the three and six months ended June 30, 2023, as compared to the same period in 2022 was attributable mainly to Section 162(m) compensation deduction limitations and foreign inclusion adjustments.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three and six months ended June 30, 2023, the Company used a discrete effective tax rate method to calculate income taxes due to sensitivity of the forecast. Through June 30, 2023, the Company determined that small changes in estimated “ordinary” income would result in significant changes in the estimated annual effective tax rate causing material distortion in the year-to-date tax provision. As of June 30, 2023, the Company is unable to produce a reliable estimate of ordinary income for the quarter and year ending 2023 due to the inability to reliably or accurately forecast 2023 operating expenses. Similarly, for the three and six months ended June 30, 2023, due to uncertainties created by geopolitical risks, the Company’s estimated annual effective tax rate method would not provide a reliable estimate and therefore was not used.</span></div> 1700000 1700000 0.395 -0.149 5400000 3900000 -0.324 Stock-based compensation<div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Employee stock-based compensation cost recognized in the consolidated statements of loss and comprehensive loss was as follows:</span></div><div style="margin-bottom:6pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:42.155%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.538%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six Months Ended<br/>June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of revenue</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">520 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">272 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">980 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">521 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Engineering, research, and development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,020 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,638 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,673 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,502 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">823 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,207 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,878 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,878 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">General and administrative</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,790 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,270 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,879 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,147 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total stock-based compensation</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7,153</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">16,387</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">20,410</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">25,048</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Stock Options</span></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">2018 Plan</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock option activity under the Company’s 2018 Plan is set forth below:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:39.689%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.086%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number of Options</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Exercise Price</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Aggregate Intrinsic Value (in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Contractual Term <br/>(in years)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Options outstanding as of December 31, 2022</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,598,811</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3.54</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">12,279</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">6.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options exercised</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(32,795)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.54 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Options outstanding as of June 30, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,566,016</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3.54</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,942</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5.6</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:4.5pt;text-indent:-4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options vested and exercisable as of June 30, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,519,130 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.54 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,674 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.5</span></td></tr></table></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total unrecognized compensation expenses related to 2018 Plan options as of June 30, 2023 was $0.01 million to be expensed on a straight-line basis over 0.2 years.</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">2020 Plan</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of June 30, 2023, 7.3 million shares were available for grant under 2020 Incentive Stock Plan (“2020 Plan”).</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock option activity under the Company’s 2020 Plan is set forth below:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:39.689%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.086%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number of Options</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Exercise Price</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Aggregate Intrinsic Value (in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Contractual Term <br/>(in years)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Options outstanding as of December 31, 2022</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,003,611</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">13.22</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,883</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8.3</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">597,000 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.68 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options exercised</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,123)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.20 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(164,708)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15.51 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options expired</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(14,639)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20.71 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Options outstanding as of June 30, 2023</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,419,141</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">12.82</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,337</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7.8</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:4.5pt;text-indent:-4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options vested and exercisable as of June 30, 2023</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,415,499 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.90 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,069 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.6</span></td></tr></table></div><div style="margin-top:5pt"><span><br/></span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company elected the policy to account for forfeitures as these occur. The total unrecognized compensation expenses related to 2020 Stock Plan options as of June 30, 2023 was $11.5 million to be expensed on a straight-line basis over the remaining 2.8 years.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Restricted Stock Units</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">RSUs granted do not participate in earnings, dividends, and do not have voting rights until vested. </span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes activity of the Company’s RSUs for the six months ended June 30, 2023: </span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:69.221%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.084%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number of Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Unvested awards as of December 31, 2022</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2,245,968</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">11.99</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Awards granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">143,000 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.64 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Awards vested and released</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(989,969)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12.40 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Awards forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(101,883)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.22 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Unvested awards as of June 30, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,297,116</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">11.69</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the six months ended June 30, 2023 the Company net withheld and returned to the 2020 Plan pool 0.5 million shares to cover $5.3 million tax obligations for RSU releases. The total unrecognized compensation expenses related to 2020 Stock Plan RSUs as of June 30, 2023 was $12.9 million to be expensed on a straight-line basis over 1.0 years.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Performance Stock Units</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes activity of the Company's PSUs for the six months ended June 30, 2023: </span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:69.221%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.084%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number of Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Unvested awards as of December 31, 2022</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,328,482</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">39.41</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Awards granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">523,938 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.97 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Awards vested and released</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,328,482)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39.41 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Awards forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(32,375)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.97 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Unvested awards as of June 30, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">491,563</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">11.97</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During first quarter of 2023, the Company withheld 0.7 million shares to cover the $8.1 million tax obligations related to the release of vested 2022 PSU shares certified at 256% performance goal achievement on February 21, 2023. The total estimated </span></div>unrecognized compensation expenses related to 2020 Stock Plan PSUs as of June 30, 2023 was $6.1 million to be expensed over 0.7 years based on projected 158% performance goal achievement estimated as probable. <div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Employee stock-based compensation cost recognized in the consolidated statements of loss and comprehensive loss was as follows:</span></div><div style="margin-bottom:6pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:42.155%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.538%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six Months Ended<br/>June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of revenue</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">520 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">272 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">980 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">521 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Engineering, research, and development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,020 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,638 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,673 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,502 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">823 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,207 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,878 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,878 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">General and administrative</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,790 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,270 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,879 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,147 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total stock-based compensation</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7,153</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">16,387</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">20,410</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">25,048</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 520000 272000 980000 521000 1020000 1638000 2673000 2502000 823000 1207000 1878000 1878000 4790000 13270000 14879000 20147000 7153000 16387000 20410000 25048000 <div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock option activity under the Company’s 2018 Plan is set forth below:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:39.689%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.086%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number of Options</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Exercise Price</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Aggregate Intrinsic Value (in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Contractual Term <br/>(in years)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Options outstanding as of December 31, 2022</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,598,811</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3.54</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">12,279</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">6.0</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options exercised</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(32,795)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.54 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Options outstanding as of June 30, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,566,016</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3.54</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,942</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5.6</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:4.5pt;text-indent:-4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options vested and exercisable as of June 30, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,519,130 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.54 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,674 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.5</span></td></tr></table></div>Stock option activity under the Company’s 2020 Plan is set forth below:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:39.689%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.086%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number of Options</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Exercise Price</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Aggregate Intrinsic Value (in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Contractual Term <br/>(in years)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Options outstanding as of December 31, 2022</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,003,611</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">13.22</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,883</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8.3</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">597,000 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.68 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options exercised</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,123)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.20 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(164,708)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15.51 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options expired</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(14,639)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20.71 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Options outstanding as of June 30, 2023</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,419,141</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">12.82</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,337</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7.8</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:4.5pt;text-indent:-4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options vested and exercisable as of June 30, 2023</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,415,499 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.90 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,069 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.6</span></td></tr></table> 1598811 3.54 12279000 P6Y 32795 3.54 1566016 3.54 8942000 P5Y7M6D 1519130 3.54 8674000 P5Y6M 10000.00 P0Y2M12D 7300000 3003611 13.22 3883000 P8Y3M18D 597000 11.68 2123 8.20 164708 15.51 14639 20.71 3419141 12.82 1337000 P7Y9M18D 1415499 10.90 1069000 P6Y7M6D 11500000 P2Y9M18D <div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes activity of the Company’s RSUs for the six months ended June 30, 2023: </span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:69.221%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.084%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number of Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Unvested awards as of December 31, 2022</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2,245,968</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">11.99</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Awards granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">143,000 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.64 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Awards vested and released</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(989,969)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12.40 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Awards forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(101,883)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.22 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Unvested awards as of June 30, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,297,116</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">11.69</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 2245968 11.99 143000 11.64 989969 12.40 101883 11.22 1297116 11.69 500000 5300000 12900000 P1Y <div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes activity of the Company's PSUs for the six months ended June 30, 2023: </span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:69.221%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.084%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number of Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Unvested awards as of December 31, 2022</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,328,482</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">39.41</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Awards granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">523,938 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.97 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Awards vested and released</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,328,482)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39.41 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Awards forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(32,375)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.97 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Unvested awards as of June 30, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">491,563</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">11.97</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 1328482 39.41 523938 11.97 1328482 39.41 32375 11.97 491563 11.97 700000 8100000 2.56 6100000 P0Y8M12D 1.58 Earnings per share<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic earnings per share (“EPS”) is computed by dividing the net income applicable to common stockholders for the period by the weighted average number of shares of common stock outstanding during the same period. Diluted EPS is computed by dividing net income available to common shareholders by the weighted-average number of shares of common stock outstanding during the period increased to include the number of additional shares of common stock that would have been outstanding if the potentially dilutive securities had been issued. Potentially dilutive securities include outstanding stock options, restricted stock units, and performance stock units. The dilutive effect of potentially dilutive securities is reflected in diluted EPS in order of dilution and by application of the treasury stock method and the if-converted method for stock-based compensation and convertible preferred securities, respectively.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the computation of basic and diluted EPS of common stock as follows:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:42.155%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.538%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six Months Ended<br/>June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands, except per share data)</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Numerator for basic and diluted loss per share</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income/(loss)</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,627 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(13,186)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,343)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(15,853)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Denominator:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;text-align:left;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average shares outstanding – basic</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75,145</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">67,136</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74,804</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">67,028</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net effect of dilutive stock options and restricted stock units</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,705</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">—</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">—</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">—</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average shares outstanding – diluted</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76,850</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">67,136</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74,804</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">67,028</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net income/(loss) per share</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.03 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.20)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.07)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.24)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.03 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.20)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.07)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.24)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table represents the number of share equivalents outstanding during the period that were excluded from the calculation of diluted net income/(loss) per share attributable to common stockholders because including them would have had an anti-dilutive effect.</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:42.155%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.538%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six Months Ended<br/>June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock options to purchase common stock</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,118 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,380 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,827 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,280 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted stock units</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">138 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,178 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,942 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,817 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance stock units</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,131 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">957 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,153 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2,256</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7,689</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7,726</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7,250</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the computation of basic and diluted EPS of common stock as follows:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:42.155%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.538%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six Months Ended<br/>June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands, except per share data)</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Numerator for basic and diluted loss per share</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income/(loss)</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,627 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(13,186)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,343)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(15,853)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Denominator:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;text-align:left;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average shares outstanding – basic</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75,145</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">67,136</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74,804</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">67,028</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net effect of dilutive stock options and restricted stock units</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,705</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">—</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">—</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">—</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average shares outstanding – diluted</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76,850</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">67,136</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74,804</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">67,028</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net income/(loss) per share</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.03 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.20)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.07)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.24)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.03 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.20)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.07)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.24)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 2627000 -13186000 -5343000 -15853000 75145000 67136000 74804000 67028000 1705000 0 0 0 76850000 67136000 74804000 67028000 0.03 -0.20 -0.07 -0.24 0.03 -0.20 -0.07 -0.24 <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table represents the number of share equivalents outstanding during the period that were excluded from the calculation of diluted net income/(loss) per share attributable to common stockholders because including them would have had an anti-dilutive effect.</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:42.155%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.538%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six Months Ended<br/>June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock options to purchase common stock</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,118 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,380 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,827 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,280 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted stock units</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">138 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,178 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,942 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,817 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance stock units</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,131 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">957 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,153 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2,256</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7,689</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7,726</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7,250</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 2118000 4380000 4827000 4280000 138000 2178000 1942000 1817000 0 1131000 957000 1153000 2256000 7689000 7726000 7250000 Commitments and contingencies<div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Legal Matters</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is subject to legal proceedings and claims that arise in the ordinary course of its business. Management evaluates each claim and provides for potential loss when the claim is probable to be paid and reasonably estimable. While adverse decisions in certain of these litigation matters, claims and administrative proceedings could have a material effect on a particular period’s results of operations, subject to the uncertainties inherent in estimating future costs for contingent liabilities, </span></div>management believes that any future accruals with respect to these currently known contingencies would not have a material effect on the financial condition, liquidity or cash flows of the Company. There were no material amounts required to be reflected in these unaudited condensed consolidated financial statements related to contingencies. Subsequent eventsThe Company performed its subsequent event procedures through August 3, 2023, the date these unaudited condensed consolidated financial statements were issued. Stan Klimoff Chief Strategy Officer true 144000 72084 September 7, 2022 false false false EXCEL 75 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( -R$ U<'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 " #&ULS9+! M2L0P$(9?17)O)VU EM#-1?&D(+B@> O)[&ZP:4(RTN[;F];=+J(/(.22F3_? M? /I3)0F)'Q.(6(BA_EF\OV0I8E;=B2*$B";(WJ=ZY(82G,?DM=4KND 49L/ M?4!H.;\%CZ2M)@TSL(HKD:G.&FD2:@KIC+=FQGQY=EW621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M -R$ U&PO=V]R:W-H965T&UL MM9EK;]LV&(7_"N$-PP;$D43YULXQX"A)FZU-W3C;T W[0$NT+402/8JRXW^_ ME[(M.0'U6A#J+XENYY@/+^(1.=P(^9PN.5?D)8Z2]*JU5&KUWK)2?\ECEEZ* M%4_@SES(F"DXE0LK74G.@EP41Q:U[9X5LS!IC8;YM8D<#46FHC#A$TG2+(Z9 MW%[S2&RN6D[K<.$Q7"R5OF"-ABNVX%.N_EA-))Q9A4L0QCQ)0Y$0R>=7K;'S MWG-=+J*O]?!&E^5^R MV3W;Z;2(GZ5*Q'LQE" .D]U_]K*OB&,!K1#0O8"^$3A5O^#N!7G-6;N2Y5@W M3+'14(H-D?II<-,'>=WD:J )$]V,4R7A;@@Z-?+$FDLR@18C;9(NF>3IT%)@ MK&];_M[D>F="*TQZY+-(U#(EMTG @]=Z"PI4E(H>2G5-47Q3LDCD#LF^:OBN$4EN;F?BU;2/^-9JB3TNW]--;1SZ)@=]&!\GZZ8SZ]: M,-I2+M>\-?KI!Z=G_VK"^TYFKV [!6P'JFJ(UROP>O7P)ER&(M"C MD,#+P-AXN%,Q[BH''JIOR-DO./LU>Z9D,(_DTT!U.^)>R!(EM_ _,%;%"?>;6Q,Q+FJ*?)0HG#K(3^R%W

^).9V MQ2V[MFV3VQ?N9SKD0CR3SQNV-;*C1DW9RV#DH%$$9W_:"",[;CG-0A@;76H; M<<^1C)PR&CEXN'F+Z^DS&,9/8I,847&[*8,)C,7"I/5P;5/4,C(Y>-!YBUJ\ MLB92K,/$-W=KW-,;&T'/D9V<,CPY>.9Y"SH1J6(1^3M<5;^5<<=WG>[ &)YP M75/2,CXY>.;)>^L8/O:KP7"#7M<\*,^1F9PR-#EXXODD?&BOR5(D6&HZ8=*E M;EN_=8U\YXA-3IF;'#SP/(4*\J"8$X?^//N%3&%6D-"21DCF2ZC6/O9]#D9@$^PL MC<3GR$*TS$*T5A::QBR*R'66PNW4W&]QG\I%!US7E*^,0+16!+J-N5SH@?D! M'-024D*\8HFY:7'#:M!S)"!:)B"*!YA#0RXY-"2&UW#Q"-,LZ^'G5LW=],[2>M1O^NZO4ZG.[36)L8R#=$3 M&68_C=R%J8Y]WSBD&&S!\X1=N^W0MNL8(-PR\+AX7AG'/ GRY)P%_(;]SXT \8:53:[_C]JEQM1,7-^4L M/4<<*L:CT>ES5E/-H8PQ/*6\;]#D0U)6[WE1H9OVO> ML8XV2_6$E^\AI\37*[&[?=/B:K%//FY\N41'P.4ONR#R\\ MN=LWWITHLTF2R&PO=V]R:W-H965T&UL MM9EM_BL;-=-H9)]83#VX2SZ1V>LU-+\G4R=UK!>28*2 7B3S13%#[GD7(&G+,WEZ6"IU.K3:"2C)<^8/!(K MGNM?%J+(F-*GQ?U(K@K.XLHI2T<80G^4L20?3$ZJ:]?%Y$24*DUR?ET 6689 M*YX_\U0\G@[0X.7"]^1^J1DQ>[YG*O;U76AST:;4>(DX[E,1 X*OC@= MG*%/4T*,0V7Q9\(?Y=8Q,*'<"?'#G%S$IP-H%/&41\H,P?2?!S[E:6I&TCI^ MUH,.-OL3-5W\?B5UP%Y9KQ( MI++Z'SS6MG HE(JD=7.6D&6Y.N_[*E.Q)8#HAT.N'; KW4@M4.5N=%:6176 MC"DV.2G$(RB,M1[-'%2YJ;QU-$EN'N-<%?K71/NIR>WEV>WLXN9\!J97E[/S MR_GZ:'[U[6)V9BY_/OMV=CD]!_.OY^^ZCW0.-HG MFT3@:CS2,=ZT+ J>*\"DY,H9SMJ?NOW- _R^2!I3IV9]3KH?QJ*%,3'B:8^BCP M3T8/V_$XS#P_P..-V8Y2NE%*>Y6>19$HM3!=,"*N5=ZE? AR7=S$ K!4ER"6 M1]R<''B85B$=4$KT,S37] 3CZYR]S++*0D\XT>)LT>+UIN,WODC3E\58:G,_*LVX>PF#<4F@; M>=X8N07Z&X%^K\#K@J]8$NN*$(F, \6>W )]Z]YCC-LIM(TH'E.WP& C,'B5 M0/ZD^2>YK&:"4$M>Z"*[;^$'MFH4MM-J&X7(ZU =;E2'O:IOA&+I*P2&UKT) M1C3 +8DN,X*P[Q8YWH@<[TFM[BD*]5REU!23E::\JI:I2^O8$H$@M.: ;15B MY+F%(MBP#O9*O=)"F4KR>Y!RC7Y0&,8?BL5AJ4_6Z>W470^](QQA2%K"'6:! MWS5[T1:E4:_RBURQ_#[1"W^O3F0)P*%/45NGPPR2H"O%#451+[DFOPD1/^IB MY92&[=)#?6*ET#:CGH>Z M=]1YU/ .]0/OJBI)NKGVUJ;N5XVV&W/#.-0/N4VW MM&+/ID=P!FQSRB.P30J'%0G'0<=#:7"&^GFF!1:E7H"Z23 89NN-G,;&'<_Y M(NF82C:V, R))=DV0P3Z706MH1OJQ]N+YGVM#7* C6XSJY;IXE^ .@H';M"& MWX:VK7D_?.D@G)L:FU=TNV^I=RNV%?9@1VYQ0S7<3[67W/9T97O6+[8Q%H[] MH"W?8>7A+OE;.\9^UNVV9_N4.N!': #;4FTS$@8(=FAMX(?? +]]4AT$]*P6 MS645>!V%&S<$Q'L(V#>1&S Z==NL"_RP72@<5IY/NG0W1,2O(>*^S-JX\ZEO M;:8=9C1$6U5Z5V,#1=R_39N*+$N4:<_72RT2N<=#;$LR5B'XL11KS0KY_I_<3P7&U7U'.[3[N9>V;7_?\ MHM%V0V_ B_O!:QZ\1JTT&1B" W@$(42Z32C TM+?@P0@D-]S?P#/CT'@#0DAPW"\?H42T"'R_"'U0I!(:2IX5;A+)?4N)39K]W]Y X-M MQ%N5OL]D-WE-!X#W= !QG)A.12]O\P[A,,E!Q%:)7NY.D3;@24C'?OM]@@H5IF9 MPW[YII)"'&SW?<]O$\II1R#MV+61K?>^_4V Q:AJ.;XQ"/M-KW-GY[)S[>Q& M6]\NS(>C/UAQG^12TW^A'>%1H--0K+_%K$^46%6?,^Z$4B*K#I><:?'&0/^^ M$!IC]8GY0K+Y(C;Y!U!+ P04 " #0(=!U$HD#5 M3AU%I6P7TRY,8HA5Q\YL![K]^GUV: 1M>I+6BV([W_ORO(X/]#9"WJF,$(WN M<\95W\FT+DY=5R49R;%JB8)P>+(4,L<:NG+EJD(2G%I1SMS \SINCBEWXIX= MF\JX)TK-*"=3B529YUC^.2-,;/J.[SP,W-!5ILV &_<*O"(SHN?%5$+/K5U2 MFA.NJ.!(DF7?&?BGPZZIMP7?*=FHG38R219"W)G.9=IW/ -$&$FT<<#PL29# MPI@Q HS?6T^G_DHCW&T_N)_;[)!E@149"O:#ICKK.R<.2LD2ETS?B,T%V>9I M&[]$,&7_H\VVUG-04BHM\JT8"'+*JT]\OYV''8$?/2,(MH+@K8)P*PAMT(K, MQAIAC>.>%!LD336XF8:=&ZN&-)2;MSC3$IY2T.EX/AG,1Y>WXQ$:7D]&X\FL M:LVNKRY' S-\-K@:3(9C-+L8CV]GZ'"*)>$Z(YHFF!VA3V@^&Z'#@R-T@"A' MMYDH%>:IZKD:Z,QWN,F6Y*PB"9XA^5KR%@J]8Q1X0=@@'[XL'Y$$Y+Z5!_MR M%^:DGIB@GIC ^H7/^,TTU@26JT9BBUD116-?LD48U:?0B MZ5#D.;P7V#')W3$JL$1KS$J"#F%9IH(Q+!4J"!Q@&:S@HR;PRK^[ ^6U/,_S M'[&_6K:'WZ[QV^_ MY *X5)G0M*_)+4QJM%&]LJ\O0/E^U[U]PC_+95["3IU M@L[[$U"ERM?I.T^8NNTP#$\^AX_@&PHCO]V)VB?-[-V:O?M^=KCTE(;#C/+5 M:P&Z;PW04-@4*,;($J=?J@H>L[JBJHT5AC_F%T'!IV&8& MUSJ1I@">+X70#QUS<]0_%.)_4$L#!!0 ( -R$ U<4C#[D<08 %(= 8 M >&PO=V]R:W-H965T&ULK5E=;]LV%/TKA%<,+9#$)$5] M98F!Q%+7#,T'XJ1]&/:@V+2M518]D7;2?S]*Q9%-_DG'.%7A99+L][3 M*FB1]2G&7G^1I'EO<%:=NRL&9V*ELC3G=P62J\4B*;Y?\DP\G_=([_7$?3J; MJ_)$?W"V3&9\Q-7C\J[01_TMRR1=\%RF(D<%GY[W+LAI3%D94"&^I/Q9[GQ' MI90G(;Z5!U>3\QXN1\0S/E8E1:(_UGS(LZQDTN/X9T/:VUZS#-S]_LK^L1*O MQ3PED@]%]C6=J/EY+^BA"9\FJTS=B^=/?"/(+?G&(I/5?_2\P>(>&J^D$HM- ML![!(LWKS^1EDXB= ,T#!]!- #4#6$N LPEPWGH%M@E@;[V"NPFHI/=K[57B MHD0E@[-"/*.B1&NV\DN5_2I:YRO-RT(9J4+_FNHX-7B\N7B,KA[B" UO;Z+X M9E1_&]U^OHHNRM.C!_UQ'=\\C-#M1_3Y=C1"%SK=W?-97>O3E&/KCS4@OZY'2EI$ZZ%KD M:BY1G$_X!(B/NN.]COB^SMHV=?0U=9>TD_"/57Z"''R$**8.,)[AV\,I).?_ M73W^SU??2X:SK2.GXG-:^*[RL5AP-%*)XKJ/*/3GQ9-4A>X#?T%379,QF*QL MCJ=RF8SY>4]W/\F+->\-?OV%>/@W*,^')(L.218?B&QO1MAV1E@7^^">KWF^ MXN!*JR.]*K+<2M8#WW>8KH/U;EY!E./NHR(;15R?48,L!F L\%G#MB?2W8IT M.T4.A51(3/6658F%M-8$[LZ%68@=W] *H +F,T.KC2(8NV;B8AL6.@2W2/6V M4KU.J;\70DJT+,0T59!.S[HH#1QLS-800@4>,73:*-<+ FS(!%"NQS LT]_* M]#L;R>V2%XE*\QGB+]H-2;B _4/VCT.218' 5AEOQ8:?X49)I U-JU?;Y&R_K$5(:VBL@]$RE (@X1LN(;! A;FAT MJ=A&A0[S8:D$-Q80=W<6GNLUEU5RDXDVF6FYAM'#QIIZSH=KKG5[H$U.X#7,TRBQM M .81U\Q/#,$\&K24-Z&-<-HIO/9K_?>9WE0^H&DA%J]9$#FLGMK3[CC,%&^C MC@D.6&BJ!W!ZUBWU()W'VN0W;I5T6J_!K9KS0M^0U$EXG?4/1RCG8$O;T.U7 M,PY,]3;JV*.>J=U&,2\T-U>(2[>--N6-*R3=MG!_XI_X5!1\DPBDDI>6TF?V MD&V_"*"."6&^Z1@!G-D/8Y@K]&F+_L8PDF['>%>(=5H]YM#*?RP<<'P^L7H= MB#)-%8!R'3,Y,8!R@H"TR&[,(^EVCS=<; ./6I:90"E*Y,$5IT# M.-=ACBD8HG,#MZVW-T:2=-JCP4==V>DL1^-54?!\_!WI32V765(_H)K\O9*J M=#"R6O3E382N C KOCV[#)N[/( Z]@-SFX>X@M!J>P"7;GLM-Q"D<72DV](- MQ4(;Q7GYF&_-WU .@77/IG5C4[B-TN40>M9.#^ ')0M.BA;?"BV_0=HC?.DW<[S,I'I&+U/ 3:RD"J&-\8BY%&(5]O/=G-/&XA9O!U4D;(TJ[C6B4 M9BO%)S^3"_*F7-@H*!<@ZH>Y@+G;)#L>W/3V.>:;=Y;E9M/3%P>=K^U7>)V>Z' M ,SSB6-Z"8B-!9B9%0FQ8=JR=]#&---NT[R[.KLTVZ;5]P+7W#$!&*@98(,T M0VRVYO[..Z(%+V;5RSF)QF*5J_HQ__;L]@7@1?7:RSA_24Z'!#@?D=.X?KW7 MT-=O&Z^38I;F$F5\JB^%3WP]UJ)^@5E!?8OD8=_ M02P,$% @ W(0#5S\Z/F!3"P 86P !@ !X;"]W M;W)K]SVC@:Q_\5#[NSU\Z48DFV,=TD,RU( ML]G;_K@FO9N;FWOA@I/X"CAKFZ3][T\&BI#T(*STN5S>-$"E[V/K*\G2!TF< MW)?5E_HFSYO@ZV*^K$][-TUS^VHPJ*S=:;%?$##,!DLLF+9.SM9?_:A.CLI5\V\6.8?JJ!>+199]>U-/B_O3WND M]_V#C\7U3=-^,#@[NRN>R_-*^.9^=]L+VBO)Y/FU:B4S^N*LGK^',K MVMO%;#/NO_ZN+M8W+V_FO/TW.+_DD&+]_=_'^C_/)Z_;-Q:7\ M\Y:_NPS>"_GF_?BOO[W_8\(_7OSR4TK)\-> _^W3^>4_@W[PZ6(2//OY>5#? M9%5>!\4RN+PI5W6VG-4O@I^U]R>#1EYQ&W+A:RU%TTY_0+DGKASOY[-BK;69_/@-BMF?7D+T^RV@*^$N[4^YHULW?DL MR+-J62ROZ\&S;#I=+5;SK)&?RB903(OF.2 LCESDGDK9W.15,"T7LF^Y:1O] M72[+7;[/!\_F95T;\@-917;UA.[J"5W'BP[$>Y-?%\OV#F0[GF?+:1X\D^6R M,?UYD#7!))^^#!AY$="0$LAIIW[;@;ZJ;[-I?MJ3=U'GU5W>._OE)Y*$OT+^ M;\3BM5C;>=Z=)4D:R[AW^SYCAN288@))3+.2[:QDGE9VL6^CF>R5.*7#T"SR ML9UL:)@""!$:#HUDW$Y&XG#$]%3"3M4G--DETLHGVI5/M,[%#I3/^7(JG]&U MK.&R4-:OGK?=V+HWN2GGL[RJ_Q+P/U=%\RWXU\=R/@_D,^X^JV;_ALHMPJSV MF&(33#&.*2:0Q#3WXYW[L;-UO).C.4?GN3$UMKJ?/DT2HPJ/G8%\W<(4XYVN M7R"%U&Q(=C8D3AO6K:W?CAEGZR>;?*QE[4,9M+4-ZV7M3[8P#(&*>L;]\WM,I\2(U' M"V8\CBDFD,0T^]*=?>G#[(,L2ZU2IB.CF,?.<+Y-J4- CAE0((EI5HQV5HR< M5IS7]6H]XFJMV$R8Y,1(3C.^R0D6?:"5U6Y M");RZ;3.&-1YT\SS-EN;ZRZOVS0;>[-V,'*T<3JOU+=QCBP7"8N,UHD9D&.* M"20QK4J04,W PR=3*< I>&B/!D@:FJW>?1>^S;Y;4(X:5&"IZ4;OH1;B-%I. M$_+B>AE,5U65+Z??@J;*EO4\VR"VV7]6=;-V_,7:T8WMH&$$&+ZES/3+>3'> M?F&J<50U<:P\=+L4\2!NY,&7,P?O>)M5NPDS!5U"!1X$(!YR^FU.KE&#W#""(VMKO$X]8"DR(C2U.SP['2$1GM(8UN6=K)^ M%(X.5'E%/HAS:HU ^=P!O&M]U(GSH0;EJ&H"2TUW5-$,XL89#X-]Q 8$(.W; MIG-6?$ *XGU .@CX /!W\6Y=[T[17@%!S&'2!#4D M1U436&JZC0HUT ,12'H$]GS098&6STT"Z M;Q_+(%)B\T'4H!Q536"IZ78J4L*\5EMTLA#") ?9,JFL!2TQU5S(/Y+KCHY*(- M$%C"PL@<$VS3.2L^(#5,PS Q*S[$+")"B5GU@71IE!ZH^8I%L/@1 2'#) )C M5+4)JAI'51-8:GHE4.R#N=E')T#(;#+1'XZ&H=DT4!=5H*KQ;K<@L(+J;BB$ MP=P(PPIG0*RE&#"BPUW11%,=@#]WH<0PYN7>\NT48. MYIH]U( <54U@J>DF*N+ CJQ\\(&##-AZ875VJ&R@0T2.&E%@J>G;@148B)[. M!HUC[=1]J=[[B>VI^9 9^\8[!>6H0066FFZTHA.1FTY@L<'()@/1R.05[FOQM@MU2PBJFCA2'+I9 M"I-$7CL]'&NH&.@1*B.)($:2CDQ&@AJ4HZH)+#7=SKWC.-R,Q+UQ![80H!KQ M*$VMEG8VU M&1 :1 W*4=4$EIKNJ*(=D9MV/ P-1C8[ -'@-IVSY@-2$!H$TH%H$$IW$ U& MBD-$PT=$@Q'JF16H:A-4-8ZJ)K#4]$J@N$?DYAZ=T& $[/"(663NW'&'\C8- ME7.@J@DL-=TTQ3DB-^= &U0#0"(=F0NDW!?C;2OJ3@]4-8&EII^?I7!)[+73 MP_'%/#AV8'#6FP%+3+5&((OX?':#I MUO7N#J$%$>93!Y4QH*H)+#7=1<488L1S-&. -23F)D5W0.^&U2$D1PTIL-1T M1Q1 B)_.UHRC317UO(G81AJ1N:YY@AJ2HZH)+#7]\&C%()*GLV0#J@T)L.(0G,DY+X8;[]0=X.@JHEC MY:';I3A)\B-G:AX%2VYUWTXV 2 )P 91@W)4-8&EIMNI($GB>Z;F<0MM\@&R M02"=24@@*8@- NE -@BD ]C@8._'EMH?WWJ;5=>%?'[,\RN9+7PYE/6IVOR> MU>9-4]ZN?W_I<]DTY6+]\B;/9GG5)I#_?U66S?H&PO=V]R:W-H965T&ULM5IM<^(X$OXK*F[K:K=J&"S)QI!+J$I(IG:V=I+4,+G]+(P(OC$6*]DD MN5]_+=NQP7HAJ+WQ/7W<%/K&:':^8X]\P8N'W;V$;Z-6RRK=\ERE M(D>2KR\&E_AL'E*]H)+X=\J?U,$UTJ8LA?BIOWQ=70P"C8AG/"FT"@8?>S[G M6:8U 8Z_&Z6#]IEZX>'UJ_8OE?%@S)(I/A?97^FJV%P,)@.TXFM69L5W\?0[ M;PR*M+Y$9*KZBYX:V6" DE(58MLL!@3;-*\_V7/CB(,%A#@6D&8!>>L"VBRH M/#>JD55F7;."S$)22X,V?5'YIEH-UJ2Y#N.BD/#?%-85LX?;RX?KKS]N MKM'\[O;ZYG917RWN_OQZ?:EO+W[ Q[>;VQ_H[@N:7RY^1U_^O/MK@7Y!:8Y^ M;$2I6+Y2YZ,"P&B5HZ1Y\%7]8.)X\!A]$WFQ4>@F7_'5\?H1&-%:0EXMN2)> MA7^4^6=$@T^(!(2BA\4U^O67WRRXYF]70^QJCN#1UM&TTDL=>N=,;= :=HU" M:RFV"#:B9$6:/]:9G!8IMWJQUAK:M>I-?J9V+.$7 ]C%BLL]'\S^^0\\#OYE M,_V#E!TY(&P=$/JTSVZA)F5"68VL5XZKE;KP[&?#B(;T?+0_1&^1PM$DZL2. M<$4MKL@;F,O5?V";064J%"H$E*9$Y$F:<90W@/5=?9WH".ZDV*>0L&CY8@WA MFW&U")%)8(]JW"*-O4COVMAD'*H\DKJ<#\5Z6,(7IA2':!^"1_P9F%%QFQ&Q M@0^'>-HSPB9$L=V(26O$Q&O$%5L!)2T+'[B)^5SOZ;&LX>8!'V$%JG8Y3T<=-P6G )ODN5*EF><)0(59Q, MV$;C(9(PZH&UR!!'NN(#'L9>K/,-RQ^Y)M4U2R7:LZSD2*P!=:[3&,J3OE10 M>V2=L-HN\#]T>)E$4]DTTQ5P6DLY"XK5P M48CDYU#W7"LP9:LSVAT&8G%QB(,^3(M8%(03!]2.J_$)LJZ"H70T7FL%%+LL M900D SRJ0-IS_K(4H4F9-R':1,C+I0=:6(_:]Y+OF/I MZ5*)32("%;I) M?\,X,@JG18K2P$%%N*-)[.?)-E=W[,69J#:BG/1;$9L4#5U$U)$E]K,E )1E MK^Q5_EWRG*]3AT]-4AQ/2+_OL$C%T]"1#:2C3N*GSG[_=%#[;%B)28FP<^(^ M6*O8.'0D .G(D_C)\]6_IW88,6F-8MPO S:I(':0"NGXC_CY[Q6D9X.=\K*- M%4WXIE1,7>@[2B1>OJG&MS=-0%;@U 1.(C,]3#$<4>)*CX[+2/BNV3O-]UR] M!;:7(M]+Z!^E[=@)'5<2/U?>ES+9Z*T,'2+$$")7O%0IR*%YW.GYU^H""R72 M..KW[U8Q@AVC.>FHDYR@S@/0==2<0$U6['>+%I$A#@)'8TLZYB1^YKRTM]^? MJE,#W<+K]*MZ=-D_Z6JP6W@1QQ-J&&#*NIWF,.:] ;>7JM^]J3](V_&98D?3U$_3]^RE/KF" M- /60V*9I8]5>Z$;=U5FA1X1M7OX,Y=)JFD'1)4>Q:!Z5X)MGD)52#BW'^92 M"W-'?>:Q"!TF\;&-';E3/[F_W49MA]HPR1'TJ47&]3*]2B.88:\ S13SP.O*F?O(V3[*L^$P6-O!9B!IZ2 >^CJ>IGZ<-%GEK M-:8V3J9AV!_,;'(AG;HVHJ#D5 MDV@<&].S10Z'(1T[3 @[8@[]Q.PQ@>NQSP<^M)POAV,<]^G6(H>AV&#'K!=V MC!MB;VNU*'>[FCU9AE:I2C*A2LG;7E9W79!3]4L$P$K6T]#0R^KO[;,^2MNQ M1SIJ#OW47(6S.A[3Y^VGCAE"DT0G^."4HS&)&+]GXHGK=Z^P8]K0S[2'T\C_ M]:>$!L<8HBCK=T'J+X785:]3+$51B&UUN>$,?*D% MX/]K(8K7+_H![1LYL_\!4$L#!!0 ( -R$ U?;\TO;Q@D /H9 8 M>&PO=V]R:W-H965T&ULM5G;%^]FLU<5HB2NZFIA,:=C;$E]_AJMS-76<'SL*E4 ML\5\?CXKN=2CJXMP[=9>79C:*ZG%K66N+DMN]]="F=WEZ&347/@HMX6G"[.K MBXIOQ4KX^^K6XMNLM9++4F@GC696;"Y'RY-7UV>T/BSX58J=ZWUFY,G:F$_T MY5U^.9H3(*%$YLD"Q[\'<2.4(D. \3G9'+5'TL;^Y\;ZV^ [?%ES)VZ,^I?, M?7$Y>CEBN=CP6OF/9O>S2/Z\('N942[\9;NX]AR+L]IY4Z;-0%!*'?_SQ\1# M;\/+^1,;%FG#(N".!P64/W+/KRZLV3%+JV&-/@17PVZ DYJ"LO(6=R7V^:M_ M<%];P.+0<_;!:%\X]D;G(A_NG\&!UHM%X\7UXJL&W]=ZRD[G8[:8+TZ_ M8N^T9>4TV#M]PMZR\_(V>5=8K5_%,7(Y0.D[8 M!S&Z^OZ[D_/YZZ^@/6O1GGW-^E\5P[_\4/:3E3G[<:]Y*3/'?C8JQVTW9N]T M-F7/?"'8]]^]7"SFKV],67&]#]].7C]GE34/,H<%H;VPE95.3)1X$(KEB6(V1>9(4VRFSW+ -PE#!.'C.^E4JDLF/.;/P..U#D ML&PJ2)$?!Q=S5!H^<+7W!-P;!H7PM1;L9#Z?PR*AA8-3=H=#>^!/?GCM6 'M M_%QS"^21,>#7F:R NE+($<*WKAWX=HY)1]A77+./O#1ZS&ZXDO!+2QZM;XR" ML!*M6,K[[&=6 AZL'J.>O);.PR6U9[RJE!1YPQ)2M.(QI($K(BZ+3NW)2*UY MG4N/#;"20Z#C)P?;8 9?-E)S>(2CG<<%(@Y1B7(M+#L]"2*Q M0" =UBGBBE"UV]@07F&T!3M@P'P2NU'Y.A/L];KX"T%3 DOGDA3BNJW!1+S! T; 9\F6"I1 QXL18GG MOT%:XF)?<$]Z-&X"9BJI>Q5WJ!HE]&8KH@9I9+-SE*)MQG-IA\F9S. 2Q,T= MZ'2SK0D\[DB3P_E_QC7 VFQLEOK""A$%7CZR,O;O6%SO2?F:[DL^A6@U("52 M5NH<-4[SUR&N0$/)]R@ )AXKT$?LIC.; B8\AQ5\&B+EQ)'D[87$%:96.1FG MB96H1AA_JW4<"=L\/B2[B?Y1FX?HCLE+DZNMIGYQ0E0Q>T3% B6]/?^_3-UV M*D#ZWR;LGRA630TV3:'6WAVD;$B25*.28E"OG77NIY.^AQ9*S.TWUXHS6F#?0179XI*#_W<6-I?&A7@G#H4!_QW=449D08#84G>>MC@RUH47&V.<3Y /?2R0/)K M$]BUKI!53$OIAE!:/5YND',2_+5M(HY-@TH?GB![D@L&::38]SL4%\ MZ%GL 6G'UTITEW&"]/O6U5_?O6F=A,:9>ENP4G!J8^$T)*QF#R9J(CWBQ=#P MKDDU0'/T%(NTZY""45)"T-$KK!"V".(P1JZSD<=*@:\'Q!Y::D.%Q,AX[<0@ M+S"M>1Y["X&S R',:AUU[QE,@.A))DD7I$FDB#:E"L)DW!M_5-QH;5'T4F)M31ZI=?U/Z]"V6( M3,#!-"C<'9]XOU4>OYB3NN$CA=$-(H28E/R3Z $*Z>4PR%?1RRB9FTT3-SP' MU''<(*7H6LRW(6Z2N>T+87RB*A<7;91DP6_@"Y=$>=@RI*W;1+T7G*L6G&^-O@W M>/9^NUQ=-PK9#JO4EHB!HS;NJWSPT+%!KN3$Y.Q\<-38;G/;O# MV)^QT\7Y\_:(;P,85&+'X[@%H4FY4\8!%<%/V/XV.1N#YCR48$CD=R7E<4HE M<-E">L*%%N@ V;@[X,4?VMCGX!6[XW8K*-OO2.A#+: 2E!2;^.HE4XCR1O;G M82L4& NJ'B$LYI/%<00)P-,QH"-^(6OMY9=GB^?-HP8E,LEN>$M#1].#'84) MI5^'8E>&WMD@AZ4-\4,F%B:/+YH"8#ZX%(*6'AM=]_R317PJXBMC/D /&F_ M]?+W(%[HE8&1)!]Q7)&=L^,DJE0BRH#-,2N$RB?>3$IZ>4>*F8LU^G[[H$Z/ MEN0-]-6W#2VPZR+]9K.9I'[,XH\&"2NP&T)Y,'6($!CVHWK,=,:0W/"C0G,IM$N#6-QI.'>2M, F$F!8@L M/%V%T?B/O*QJU3=5]I/B>^S][:SW/AZS^#;\ZA":H?;QU7Q[M?UA8QG?YW?+ MXZ\B'U /B"F"L,'6^?2'%Z,XAC9?O*G"V_VU\1C\PT=ZP2@L+B/2?*$# MVI][KOX+4$L#!!0 ( -R$ U=*>934Q0H *L< 8 >&PO=V]R:W-H M965T&ULY5EM;]M&$OXK"]?72P!&$BG)MO)BP$DN38HF-9JT M!]SA/JS(E;@MR65WEY+57W_/S)(T:W)1%Y5Z=Y-[7SZ=3E^:JE&YB:E7ASL;84GK\M-NIJZV2&4\JBVDRFYU- M2ZFKD\N7?.W:7KXTC2]TI:ZM<$U92GMXK0JS?W42GW07?M#;W-.%Z>7+6F[5 M9^5_K*\M?DW[53)=JLII4PFK-J].KN+GKQ#;X+\F1MS"_TXT/V MZF1&!JE"I9Y6D/C8J3>J*&@AF/%KN^9)OR5-''[O5G_'OL.7M73JC2G^J3.? MOSJY.!&9VLBF\#^8_7O5^K.D]5)3./XO]F'L61F,U^L*N\FP8IRLZE,_>XJ[&/']Y ME?[::*<)(?=RZK$B79^F[>S787;RP.PS\=%4/G?B'U6FLO'\*2SIS4DZ&/*M:YD8$*5B2OGP/B! M]^+?5VOG+5CRGV,XA&T6Q[>AR'GN:IFJ5R<(#:?L3IU06>F5$WYO1"'M5HWFIJK"+HZF?J@R+?^. M@?!%Y,W:D8_O#QGFKV7&B[W)555)/1G:ZVJ5:EGHWQ2O4AI, -OJNM!I8%ZF M=I#!&J+F(^$.SJO285REO/Z-1T1PP61-ZL=#T\(T85]=;:P$3S&DH2U!-9T2 MTG032!7:'X1TKK$2.$S$]SME^>0.2EHW@I?P(\D$L'OM99 C>Q 8Y>%0X<(T=5/3!<>@OU>R\'DJK<(9Z8H!9+BNOYE^ ME%6SD60WP=TN!Y9,Q)J$ASK.=J73Y MG3FX>IHL)O-^3BTUCM\3#\B,8-9&:BMVLF@432! L(K';;)NO* ,@&6@?S?V M3B2?SB:K;KO@%9*,+IM2R!(AZFE,;3R6UH3A8*/[YK/+D]EXN0=MP^A:'N2Z M4 PIXI2R_4Y5\(O6 M <"LCH@^V.E":#/GO6:6,"2',&B#6FTJK)GWCS#!U!R>ANB:B"99'H%1CP# M9OT1W@HQ C_E@H!BNF0;$%/-EJ:J;+K3EJR;EOH&5B#VB2,AZ((2JPS)8RH^ MF"\@)A66:2=C=\)J[*;,F'+75:9 Z+J9QP&$?1G64!5&9_X+"B/6EY:$SA<[T!G(I MOK'0H;>'2I8(PG8+0K+4GE''LJV$(FKW/O^#^AB?3>+_51_C9'+Q5^KC_%:. M_PQ]7/[5^CAFXO^31))G&U.@_22">T8R]*!"=0JN%O%)- [ M6"@HJ-HJ5?9\F(+&:#]A64,118754_&FL9;L;!<^%:OH?':!ST6TNDC$M:5* ME02G+F058I&4.0A;O$I$/$\0NEXB;LF9=IU5M)J=B7ETOEB);XS)6!E641RO M\'^Y/!/?,V:5J=*Q .T[ONGHID%2WF9_B"#F&9Q.B:6(MZ7D:D M/[;!6#JWRK62;7B[(5)/XFBUFCVES^7YV5/D**@Y[>'E#=U.HF2^Q.V+<_P/ MUAP!&H8\641)@C&G-&>QC)^*ZTY=4+>A_IXHZKV@R%4*698B^$/0@A"*'V_1T&_*G9Y-%KT+$S $': 7(QG)T?T2,")%& M30/5K,4A,+4>.T)S)"O\H(O;2P8#>8^P,W^4H:/0!,V/LU[VQ._D<+!W4%;2 M"'634E_-I@2P@RW;EGD1+>1RLZ\ZU$+DR;79H6[N"6I5:-I\B,0@ \-*)6@! M2UJK9[B-CF2;\S!-[2E%1I\:0I^''\#9'9#^M[IE9$A*&$ M1%-UX-S=CMN? M03N B#-!R8?.>=[Y4QEJ(6C3HY#E*: 7J8D&&[HD&OCJ&9XUZKJG73SV/+1 MGR99@HHZ9(Z==@$N&C?2;[2;_.Q+\V^D23[O'40W'*8[EBZ)-^.$,CC#C:ZX M1>99]4-1R\?B#&45UY58(04V'MBB???ZAUY\)K@>,I9[)*N\(S=^XGCY,7CQG=X\>'F4@R(.W]I3:/*# 4I*]*P1 MH%I5A"/(=4W)Z2):Q$ODAS 0%^90W+FX:']?=1SKNX35:BD2R%ZXW[4DW><7 M*R&QJ""56*S.1-(.BY>)6+3?/YGJ&;4:"D#*K54+?GI(%MT9L9;? M/:'3-D&>MBERR,_&'7F^%0X_'"4G/"H?CNEQU->LR!6PH#B$$(6N-44H8GM- M_7.YH'U6U#=A#318Z#F/Y&5&[7)N1 M>[BZ7:C6E S/*+6MZ15'7T7([&>$5'M0=.9#8>F.RHZH&A2( S"4(VV^H$1Q M!9H.&PS4T4[N@!"XU!R9IN@.]+A8$@LI<;4N=.ZY M(Q@P-+AQC%4=3+>XXSAK:5L!Y*<(9.=.]8D0*HY>F/6WM:%25%^@1B_H@43& MC?NN;Q >I"5N'L2>/;W=GGAWGZP=$=M4U^5$CJ4(-EBVA1<<&B.KWIYPD)N& M'\6V=H"R X@@7J-7).*SOAE?N-,;_-!V=M#=)%I">%&U+L]1OB\12%X4U.NA MZHUQ<[GB CB>0]86**9UT= Y\)":^O:<[,>(V20.0V>3)'YZ[(7$=/ ""3E@ MRZ_)B.=0O? NJ;_:OXF["B^@;H>'UW@?)>HMP%NH#:;.)N?+$V'#J['PPYN: M7T>MC4?"X:_T>$-9&H#[]/"U^T$;].\G+_\+4$L#!!0 ( -R$ U?$F:RB M)P< !H3 8 >&PO=V]R:W-H965T&ULM5C9;MS&$OV5 MQL0);& \J[;(D@ M-I(@\C7L>Y.'( \]9(W849/-=#+)TO=<2MOQJ' MVI/.1:BTX]EDLC"S MN2HB/QB?'-7ZBKY0_%_]R>-NW&G)34E5,*Y2GI;'@]/IX=D.GY<#OQFZ#;UK MQ9$LG+OFFY_SX\&$'2)+660-&G]NZ)RL945PX^]6YZ SR8+]Z[7V#Q([8EGH M0.?._F[R6!P/#@8JIZ5N;/SL;G^B-IY=UI:&C/CGR[E9Y/@UM?"&ABC2<,Q47Y4OT M>&L@%T\^:./5;]HV=#2.T,=/QUDK>Y9D9T_([JE+5\4BJ/=53OFV_!A^=,[, MULZ"3DM314K5=Z80D]$#)O%I2K9>,A[Q7^D:F& M2GM2VEH5"N>CBN1+92I5Z8@RO&-3Z$#G:2A6,^W]"H;:&& 93P,I$ZF$MW7M MW9U!&Z* >(%8EUW HW[$JB2=ZORBYSKVE"CF"/!,UGC/;J#735!-X.M@KBJS M-)F&*E/5360?(,T!5BXJMV DB$X$R-& X:XICE2O*BFBI[U:%V.E8)>9)F>7 M6(3;C-Z>:V^=*EU.((G"9 6?JSURXHU=;20637ZU+G .V+L&TCGR&PJU! GC MA;8K!+>=M@590S=(FX$LA=CFFK4 ,4W9(H)#!OL'5W&X0U6X6TCY82HGN]1/ MUE_PI23)VHVS-Y2/U'FA$7U8)VJYE: 72[:)%Q4&\ZJE=Z7*>CI-R143MTL. MG=6&FC)V"0QJ$9JKZ%Z$/07 V6)=B'[@TAXP"E7 LA/GK;E&U@KG M.0A:IHZ6^[;A>UE;8G3Q4YW]W9A@.N;X2'?Q2RVP8,V736P0V*5#BN\P@D"*)"L_BK+86.$>N'/.T7&PF1K:7*$+_VW!0) M\KDY,6:#91X#Z;&Q/H1@@TD%-=T>[WXO4=#*: M?S]<@PK;B5UM]R38R/G\*Y@,F/B/4"^S%Q_K,3N_Y)YN*MWD1J@ .IPUN>:; MA;:2(=DA1NI4C&)20(.8:&EK05>FJM:M!6 DCA19J?:OH &KYGT4O/5D=6OP M>?\?TFQ3;9&J<"ZJ*;X$<_<<0F7L\&D+M@N'ZC3QP/F+XT#B>-@6K]1\.#LX M4*>;R!3G[ENYZVT?-3_.9RT5^I#MT2<;I:(7WM0^XAA>)GF;\[CM;>!R7C] MW(W7,QFO[SL6ALWM)&P6%E-A76NXO8-,6]X43-+_TOAF*"!6Q&@Q,EK*0*-M M]I!$KWRN:_>\S8'N48DS,L1XO-#V< :/\RX)UD8L65CWR^/NLRTT!=TPQ-.. M@/?IMQ6*,/J7J]N],'G=>OO_7K=2>\E\8=SP*@)YA"4K9%O7O"?6I>9;XY.B MESU4O5CUSE0N 1BP5<;>'/8!^9-!OGQ6K(#%1('O.Z][QQ*O3=N_LX[G7LL< MQH2'M^'-O8:YWRB'ZEQF& @$?C,4#GFKH]4:!$O,P\!]]N/^<#:=/G$E*9N] MZUT]9*M_;7HVV1WN'^P_YQ?N< M\6(+ !(ND,Y:*934<3WF2M?-9XA*[9\0? 2$3' M\IE%GX'6$M&E^5%AY+>K0]N$3ZR96UM$SK/FN7TBC![[53SN?:\H"8L9?Y61 M3;B*Z=-%][3[\'.:OG=LCJ>O1@ @]I*@+"TA.AGM[PZ43U]BTDUTM7S]6+@8 M72F7!=!!G@_@_=*YN+YA ]WGL)-_ %!+ P04 " #\X]Y]JY M&:V4OC,5HH5U+:09!Y6US3"*3%%ASS,$YF2MUYQ;ORW$0.T$H ML+".@=%PCU,4PA&1C&\;SF"7T@$?SK?L;[QW\C)G!J=*?.:EK<9!/X 2%ZP5 M]DJMWN'&3\_Q%4H8_X15%WMZ&D#1&JOJ#9@4U%QV(UMOZO T(\? :0;0.IU M=XF\RAFS;#+2:@7:11.;FWBK'DWBN'2'6$LY-+C0WC)>":CMF@ 29+ M4+9"3=FU1FF!&8/6C")+Z1PH*C;4YQUU^@CU"5PH:2L#KV6)Y>_XB&3NM*9; MK>?I0<(/K3R&+ XAC=/L %^V\YYYONP1OADND"R6,%7&FA"FK.&6"?X#RQ V MA0E]03[Z@ISY0L",FT(HTVJ$+V=S8S7=K*_[RM-ES_=G=U_;T#2LP'% GY-! M?8_!Y/FSY"1^=H549F9@H03U#S.D M0P"U +H*Z*_"# NLYX3+DA!>< FV4JTA.O,2_M)T!'G8[^4T9F&69G#+1$OL M9>D.?*E4V0EQEGB!8-F:0)HR\'LV%PAI&"<#2,*LG\/;EFDF+2+U@$893EH; M044I752^O9GH%"MM%V/V.WN.NQ9UUA^A7?M^8+I)9<&!"X(&A^?]@+07Z_,_D)4$L#!!0 ( -R$ U?+ M* 7U/P, !@' 9 >&PO=V]R:W-H965T 6[\[3I8$2'L];,,*!%=L^S#L@V+3L7"RY)/DIKU?/TI.LA;K M9=@7FY+(YWE(F?3RH/1GTR%:>.J%-*N@LW981)&I.^R9N58#2CIIE>Z9I:7> M1V;0R!H?U(LHC>,RZAF7P7KI][9ZO52C%5SB5H,9^Y[IYQL4ZK *DN"T\8GO M.^LVHO5R8'M\0/O;L-6TBLXH#>]1&JXD:&Q7P299W.3.WSO\SO%@7MC@,MDI M]=DM?FY60>P$H<#:.@1&KT>\12$<$,GX?\)A/X?!J)8Q_PF'RS8FQ'HU5_3&8UCV7TYL]'>OP M(J"*OQ&0'@-2KWLB\BH_,,O62ZT.H)TWH3G#I^JC21R7[E(>K*933G%VO=5T MO]H^ Y,-X)>1#U1Q&X)$NXPL$3BWJ#Z"W4Q@Z3? 2KA7TG8&[F2#S>OXB(2= MU:4G=3?I12GU"SM]&=KVS, .K<150,?+^C.S[KS2^C_]Y8N@KTM M]0+#A2.H%;6GL=B :L%V"*T2U.=<[A=P9RRGMJ&SC7''=)GH+_,#UMCO4$.6 MA/".2WA&ILU[;]I.C8:(:'FK^F&TJ,UK8DBO"O@>DC2N^5/SC:0724Q).$L+NE9)CG\BM3#G1(-\'[0ZA$=IB'0BAS2HH(R+^%! MM?; ""LCKB1,YBXZ+C*X9W5'Y=13,=A([:EV7!!1?E5"4D,JP M2N?^/4MG<,L&;IG@7PG*G-0V^$A3=JI2K8Q/*Z.0(JRRQ(>F5(U_:WE-G89E M5A)S3D2I8\ZH +[D85Y5<.ES()\XC-.3*L>]=[/9$."1VFG MP77>/8_]S33M_G&?_AGW3.^Y-""PI=#X>E8$H*9*K5#2SD+IEEE:ZF5D5AI9[9U:$:5Q/(A: MQF4P'7O=@YZ.56<%E_B@P71MR_3S+0JUG@1)L%-\YLO&.D4T':_8$K^@_6WU MH&D5[5%JWJ(T7$G0N)@$LV1TFSM[;_ [Q[4YD,%E,E?JJUM\J"=![ BAP,HZ M!$:?)[Q#(1P0T?BVQ0SV(9WCH;Q#?^]SIUSFS."=$G_PVC:3H R@Q@7KA/VL MUC_C-I_"X55*&/\/Z]ZVR *H.F-5NW4F!BV7_9=MMG4X<"CC$P[IUB'UO/M MGN4]LVPZUFH-VED3FA-\JMZ;R''IFO+%:MKEY&>G'Z1E8X7M'#5D20@77,(S M,FW>>M$VJC/4&UK>^6-/9AH%<[-K&KXR4%XF*;R&=!B6V34)R768ISD\:E:C M9"T:2"^3&(HP(VT>EFD)L^I;QS41,6IAUXR:FUX5<'U=P)M799JD-_"KDI>5 M:E=H*;^E1J0+AXY#"D69^]]KR/)PF/O(!)H-X",:,R+HJFL[X=-DK=*6_^.Y MPL4@3.*$DLK#?$#?$P4DN#(]ZX/NJ^GYUUP^ [ M!-SC]2VFW/_T2I2U"_V?IAYTF M+SJX-NFX+?WC8.AH$^?^!MUK]^_/K+]V?YCWC];.@-1>T,:'^AE-TM7(#]JSS]#E!+ P04 " #KOGN>=.I_-DK?2]J1 M;&HAS32HK&U.P] 4%=;,'*L&)9TLE:Z9I:5> MA:;1R$H/JD481U$6UHS+8#;Q>U=Z-E&M%5SBE0;3UC73CVM49I07"VX();CF826O+ID&&QY3_K^.,7^#.X5-)6 M!C[*$LN_\2%I[07'.\%G\4'"KZT\AB0:0!S%R0&^I$] XOF2%_BNV"-;B&W@ M/AM,&/@Y7QBKJ61^/1=RQY@^S^B>T:EI6('3@-Z)0?V P>SMFV$6?3B@-^WU MIH?8_\.%'>1_7OWKG,)MA5"HNE&23@RH)3V^5Q&L42,P TLEJ&N84YA[%KI[ M]'=_@076"P(G0U\(,;SC$FRE6D/$YCWL!&M<,$N$1S DX@3LF6N(O MJ2+!L@TT70V039YF]$W2$9Q3V7*YG\"Y?\,DM<1&&4[I&.!6629>F[J[=PKUF0KI5OB8:";*7M^D:_VW?=>==LGLR[EGW)](I+ P*7!(V. MQZ, =-<&NX55C6\]"V4I"7Y:T9\#M3.@\Z52=K=P#OI_T>P/4$L#!!0 ( M -R$ U&PO=V]R:W-H965T,IV[\\["^^)]O^^2A%E2(-0IGNCP:#-_U,J+QS<1;6;NW%F2F]5KF\M>3*+!-V M?2FU69UWAIUZX4[-%YX7^A=GA9C+>^F_%K<6=_U&2ZHRF3MEN=4WLR=28[WQSDYYW!FR0U#+QK$'@9RFOI-:L"&;\J'1VFB-9 ML'U=:[\.OL.7J7#RRNAO*O6+\\Z[#J5R)DKM[\SJ=UGY<\+Z$J-=^$^KN'?T MMD-)Z;S)*F%8D*D\_HJ'*@XM@7>#)P1&E< HV!T/"E9^$%Y*LCYBP]RZL_Z'IKXOI]44I=1:O2$U!OZ;'*_A9_*O$='@RZ-!J.C/?J.&K>.@KZC/6[1!^42;5QI)?T] MGCIO 8%_=CD;=1WOUL5E\=X5(I'G'>#>2;N4G8O7+X9O!J=[+#UN+#W>I_W) M!/Q:BN[DTNBERN=T966J/%V+1&GEU_3ZQ;O1<'1*DYP^"YLL:'@20COJDE]( MNC)9(?(UR=Q+2)+*O2%1:QG/K92H.T\'O)EUC0:G+/W3CO!L>'I(TS6)/"61 M&5C3.J)+PM'46 1%VGCXO!16X$#KJ! 6QF+12A@PLR8CCXHGW/!OW*\E,/:< MS6S I]O/("B1T]4"I4J7(O_>I2^]<2\8(E)4D&(@,!402 =.@MBVSFD[/9ZW MG.S1GWBR,PY46+-4J71!FR GDY(#FX$;%"ZMS),U.*S.ES8P<59G:Z7\ M8C M#8&94%N_SR:- ;@!"T!K=U*Q7T M^669)-KKRJE6F?+1DQH%F5CC:&SAB+'S3OTG68JOG[*YLN)DRPKH_Q=LRT\2 M:3U: B4FQ\EXZB) TG@'CQ*3P12.GHO9E ](#9^$C7V$,0>E5TG9%WHP,V+M MR#S"^DF/QKZ-Q5 4;T^QL_#!W(A+G.BHY&/"YMV'B"2QI>1" ?P<[O%'!41$ MGI<964X6-X>4S9"*44H'ZC!HY/6XH] EP@"+[1RA017,V=W@_+ W>,5Q&_9. M7G4A"EF$6Z3_H@5 *X[-Z+Y"U60I;<[=AJY5+@ 0*+EC_0<5;.\GUW=-:3(@ M&S4PYV-I#=VP(U-4!TUF,]BZ)?[QZ]W-Y62CX:#QS.2A*!$55NO4PV\9]X%- M7! 295)WN,_54>7J*+AJ.%"/W4V%TFOHSPHMB;V)\3O YOO)EYMQO(5B=BCA M^ *N#%"'CIP;5+GP@=>H0-FDCJ#5@D/GX;S[\=WDR_-5W*^48X@BTNZP^WS/ M\%0*X)&55Q7*9XFBT"H14WA6Z4@EIQ<,GVXPM NWJ"5GM$J#8=YX%)&6P )X MC+U19KNN%G1?8EDMZQG!"2Z3%75$BO+5 @W#*^;!,QDJG4HQFRD>?$.OQ#DY-R6^24WLMIBT$;-O-&=E*A#?=:H2($ 5D0,[AD-*B3*:^2W/V!4=(#G# QWS3 M;698$.P.]Y<%2I-CG8GO7.A+9#YVF]"($J#&J2I184NMA(G,JH0+!M421+J4 M*E>82!+" 1%8"M-3G)UJ491/[D02P1M[,F*H%8#EXH#2$IJ6%DSC $ET_"H- M[C%MM%IJ"*O8]%+YD,@BWCX7HKOHH5T__!97M6U0KP+CR7JT^"7Y=-L\IOA] M*S$VW:A@L_BYJZ'PA(WCL $O!+)Y(=B>6E>8Y':9J'4+@Q6J[=#)!% 9A5GO_< M"FJ/6>54:$Y.F\1_:FA1+!$V!3==[AK''GD:>'-3$H*68([02YL1A/MZ=]-( M*QJH87!K^9WA+NR!SXG02:D#I@L>CO$B'6+(6[]QZ/#2Q9]&/IG2@H:W*X@[ M:#54/4Y(/8MBB8'7V_6BV&^]M6>@L?!M@I&+03^^P#>KS>>/<7SKWVR/WTX^ MAT$"S"MG$!WTWIYTR,;O$?'&FR)\ Y@:#W(/EPLI$&3>@.&ULK5C[<^.V$?Y7=A0G,SY>DS?3:F[,O_:'3 MZ4 D)*%'$@H VE;^^GX+4M3C;,=SC7^P0!"[^^U[P8L';;[8E92.'JNRMI># ME7/KL]'(YBM9"3O4:UGCS4*;2C@\FN7(KHT4A2>JRE$Q_- MU85N7*EJ^=&0;:I*F,T[6>J'RT$TV&Y\4LN5XXW1U<5:+.6M=)_7'PV>1CV7 M0E6RMDK79.3BWDCRY(9 <9O'<]!+Y()]]=;[C]YW:'+7%AYH\M_JL*M+@?3 15R(9K2?=(/ M?Y&=/AGSRW5I_7]Z:,^FDP'EC76ZZHB!H%)U^RL>.SOL$4S#9PCBCB#VN%M! M'N5[X<35A=$/9/@TN/'"J^JI 4[5[)1;9_!6@K-/2OZ[GU^_]^R@ M__1I_IPM9W8M[EX.J'[Z)Q>/X"^K1'G[[$_26_O(K0TGMEQ7)IY%+X\-<+Y%#WZFXE MR8EYB>6 6H#I2U<(V1 8E* M-[4+R"EDQM(+:NI<&H=BY#:LLF[,3@T/1-@5+: S'HTDL5B@/$!7:-%!W@3( M+_,%]9#/:\@S)(%?5RJG!730YDB!E0 SLH!02DA;:^.-2U8N*[8J2J>';=4C M56W22$X:0LC+/N2]."SBEOE"ET#):G7,5HR9V11?.=;MP/SPW32.)N=VIS4T MJ\1_ >$K+PVI#Q9O"P=_S1NVAM.TE'IIQ'H%I2$*IZVO?K#PFMVBRA+K')Z# M@CN&MPT22M1.B;+<$/YMX75P8&3OD[_#1BNZ!AJ5BTX ?DK$G67I:#K&L[1, MP0P^UXJ1W3H^PB8R4AZ4(+J%>0\VO%79HGNK/O7_UF&F-UZ ;BSL;]\>(3NA M<13,TI0723#.IEA$<19,9XE?14$\GM"/C0%@BK(@SB**DB";C2F)@BC-*)X$ M21+1/WP<1>F$IA$ET]0O[[03Y!V'""L&,:<:++(**;%G6,)O1 MG:%V8F MH/@H\B^8E KZ6>O"_NF1L"W2Y(OTMX= WVSOP.8J)"CDF."3& M,Z0*)]0$3@F]H9)9,(9[>#4.XG *1SW*XG0!0)-@@H0:P[CPQ22(IQD2,>K7J5T/"6O:'Q^L/XFE_5*S47)$6/I>F(V8'@,Y!*&EU8571F# M!80_@-U"\0X0^$K:=92NT>!86^[68 E7>[?!8L-]::42J+_*(3T0'1A!I3&[ M=AVTDBWZ)8A%<>_C>RTVW(O:)LC5&R'C:ZM\A"[V8#PPR+-EK7Z7!<3Z5U\W MJOT8?F0A&_.=:(QX4'B5YT$@Y3C+N MR9,[Y)U$PVBW\5I0 72Q:^DG_W+#_8ZK'6<+^HN_T;!M]+Q4799RW1AD_R<#;AP:Q>:FM])O]B-4-,-[)1M16M#>5 M-5J/[",&391;5=N5GX;="?369K-O$(QS*6NR>&T7"K2O-AFWUG8,8\ 8LQ@# M,^V4*[@DG1&JU-% B,#5"'[%D5TTIJ\Z&B(W4AB.54RVD 9UQ0Q4EIT.\CXII'S"_K X\ MT0?W?NWS@XUN,Z]/8%7?:W8$\^'Q7G'2=PZ014#)6[H7"&PNNX?)OG,94@XV MPR@$?@)H-(]%3;WSRS-QR!/C@;!\U%1-SZRP##O(^I5CN^N<.VEN7L >*GN M/??MF'-V/ (Q/WE!%<_/D)C@B:ISZ,C/8^7@']TG^BXZP W_8[ M5K_;?P6\;C]^[8ZWGQ _"(/^8]%F%B!%6&6#MIQO'YQ>^T]A<^U@*K]<28$4 MX@-XO]#:;1]80/]M].I_4$L#!!0 ( -R$ U=9+5HD"@8 &L. 9 M>&PO=V]R:W-H965TOZQ+ M2W9\4N: M!$C2#>O0;D'3M1B&?: EVN(JB2I)Q?:_WW.D+-M):O3+OEBB?/?;2>EH7>2EO>QDSE7G_;Y-,ED(V].5+/'/0IM"."S-LF\K(T7JE8J\'P\& MXWXA5-FYNO#?[LS5A:Y=KDIY9\C612',YD;F>G79B3K;#Q_4,G/\H7]U48FE MO)?NS^K.8-5O45)5R-(J79*1B\O.=71^,V)Y+_!)R97=>R>.9*[U%UZ\32\[ M W9(YC)QC"#P>)"W,L\9"&Y\;3 [K4E6W'_?HO_B8TOA%.7%T8O2+#TD#C%Q^JUX9SJN2BW#N#?Q7TW-4[B9#L1=\! MB[_TDT;O)NC%W] ;TWM=NLS2SV4JTT/]/GQH'8FWCMS$1P%_J\L>#0==B@?Q M\ C>L ULZ/&&1P.COZ_GUAG4_I_G8@P0H^=D!X:TT#[)S]?*' M:#QX?<3!4>O@Z!CZDRWI"RAA2&Y4(E$.XFOA48J*D+*# G37!*[;0Q3+) MZU252WA38DI(0W>&\=^R7(_NZR1#O(T!862C(5.\^ 0D(D_JW$?,AD,,N1)S ME2NW\2X+:R5KNZ"@"Z EDB$IA1>(3N0Y+6I7 S_)1+F4P99($EV73C($/0@# MU%SNW+&J4+DPY#1I()NG(EU,/@0 ;;;*$PE5(!Z<3I8"3G2I,IBVIO$TP#BQ M9J=JQR$H&?*ND![#*@@"D;![/)I\4CFL7%JKS82[ R"_K]%4Y[2-V\-MK)LJ*!A5@&"2EV^ M2C@-N4\T ,.J69;YAN8;#]34@'%!/I%S)@^)W[AJ6=QNO;5;8NTR0JL,EI7C MAD+]K"YA;$-)DP9?#VAL,,?!HSG"64N3*!2G1]>6'<"DD^VD\Q&]D6#@',4> M1OYKW-UO9U0G1:BT4)XE3H JJW]9)KA(:G=PR-FP8^".(!R)O3*QXE M3!1(Z ?FUD%D/7I3&X;CSRY#(;US5JVI"+->\JQ_QO_]+W$[.2Q(L)+<.3QZ M/7T2.UNC%S0;SO [/9OB-^I. MXH%_GIW%]&G;C7ORXRF=S,:G%(^!/XE/Z3[3QKWR5=X3FTTIGE(T&T-P0A^U M QD/K$;=:'"&YV3&]N)N-&GLCR:86565^XZ EBK#*2H<:#"G$"S/BT?!H%RE M%4D[M_^'_+U[-!G;,88<1D..!3GC&,:CD,-Q-&V4F@&JY\SW,'KE.@Q*O\-L M07E6O: A-$>A"OXYZHZ'XW;]NV]@FU&)XV>#L9LEP5!:2TY2^%;H5&'+:?8T M))NQ3E#PT]UBBI(>!=Z%?13[)!Z?MFS:+J9C^NQ/>KP/H(=P<'UVP:%'?29[G]4W4<#XF N?)=9WD2;T3SL@; 8U$_T#KT:8Z3_B(D^P>\S\ZG[ MA)W[]?4S#H2N'W7Y7]X#T)/5#J)XEH?MH<'GY 1T:LX!QV?/:>BV..+5"-0: MC ?\>@;6#6:>_4A!-XYF_#H!YZ:C$;].:3H[:.26_M&P.X+^.^R?YZ2*JG:> MX4@M#DMT M9.9Z>-*D@,1+ 9VPCB]Z,.8QKID)@U^=,=T:HE-\Q*N:QM?SY5 M^5W]>[>&WG-'S_[>!0#'IJ6_YO"^CS*'NT#[M;U)78<+Q$X\7,/>"X/]GD\& M"Z@.>I.S#IEPM0D+IRM_G9AKA\N)?\UP&Y2&!?#_0FNW7;"!]GYY]1]02P,$ M% @ W(0#5U\2Z-!N! ;PL !D !X;"]W;W)K&ULG5;;CMLV$/T50FF"!-C(MNR]VP9V&Y'1MW8,O 5!L*FW\+"D1ZZO!P.I -AV>#2BJ3S*?1=N?F4QM0*P-W3OA05=)M M;T';]2P9)9WALUJ5R(;!?%K+%=P#_E[?.1H->I1"56"\LD8X6,Z2F]'5[837 MQP5_*%C[G6_!D2RL?>#!QV*6#)D0:,B1$23]/<(;T)J!B,;7%C/IMV3'W>\. M_7V,G6)92 ]OK/Y3%5C.DHM$%+"40>-GN_X ;3RGC)=;[>.O6#=KQ^-$Y,&C MK5IG8E IT_S+39N''8>+X7<36C\$4.-WD1. M&1;E'AW-*O+#^4>3VPH$R@WXZ0 )D>V#O/6^;;RS[WB?B4_68.G%.U- L>\_ M("8]G:RC'^$[Z?E.CJ'_4(ZG M>W\I0;RQ52W-EIHGMXX$$JI?(&!#?>U!V*7X992>4VUI'=O$%/L&:GR!!(:E M Q!5HS>PWH+4@EZMZ$D?V0GMYVN([::WJ=AA\N+9138ZOR;_Y;)9$+DXB2#6 MTHOQ97KZ/ *]'$W2RU?/^]T]A4#FKT$Z!,>LC^[Y&P4BMB#=:[2O"X:GUE7^ M)&(]-2VGZ60_+>/TUF]BFA$748;;1B:6:TJA='H(R].@%H9CEF'>#G)XA\ZJ>FJHOM1 MO/_?@>S69/ T+T5!AY4#/)BI"K"T,>1>LW$D;N5%,+%2*(GD2'5 .A)_K:*UX\@P7<1=J%T5 M=^<4R\]D6'CF'/NMU8?7D?-":5:(#.T.I!8YYGG@:&G4B=8XTW.,[(S5-AJ5 MW#U5J)9.;T]^HHU:-L'DX)!: Q7)0<4755ALQ0IL;8DBZ:6%4_YA_Q3]=J0_ M0;JV=)N"X",GZE(<3B^3IXU<<^)TAQ0W2'KHIAWL/((J<*OXU.,C(AALWD.] MM7]-WC2/J&_+FZ?H)^E6BKI=PY)&PO=V]R:W-H965TRK@D(;OS:8\Y&DS1Q>CV@OW.Q(Y:E,/)2U3]7 MI=VU5)1KJ_&VPCQ[ M=FU5\?D5Q56R0C6HM1&4KI.Y!3J-F1<]TD6'%.Y!2MD/JK4;P]ZVI2P?SY_# MJ]&U<'#M(GP6\%^[UF=1X+$P"*-G\*(QU,CA1?M"W0@M7UVX4*_$/9AEV;G6 MHEU+=_W+^=)8#9K\YZG@.^SX:6R2SK'9BD*>SJ -(_6-G)U]^PU/@]?/>!Z/ MGL?/H?^E(CV+]+2?^^#9VV9;JWLIF=DWHE#&0IN%6K?5;WA9M&8L39=@PM6*U,H:)ML/188[9QXV&\2FMV'5U M]_@!D8,.X>3JT+FA=@9VS!&[)"=A6LL;V>XD.V!)&. 8+D(<\RQP3S@ UTB7 MU%6[]AAE1^ABXSEG2TRMU=;QA'L!IG,OC3(6>ND"1KTD"-FUJ&47&MK;9VD! MPS*XQ+TP6."8+;+^^)ULI1:U&RM*J+HBXE%[8K&WR $>>>$"IQC#<\3D\7C! M/BJ+.7M+<< 6'D\BG'GJ1=F" @R\F+M($R^(,^8*S7[OIS,HP@Y4#BX/=L"6U^&/V[UVSQ$0D M?+#TL^N-:[D&2]C[UB+]IBK83Z)&J;ZH MY%= EZ "27:'S'R4NAE-8OT![]J2BB <\=[(0CK'(NYU-.%>DF=>QCDR%/E) M3*D+D?BUY(=1B&JDQP-P_?;0NN28^LB.VGJ!3Q]L)-Y>1RRQ$]' MD!MI*#"B1&]1+&NY#X_G'H^"*5ZZB(&70#.26<>473L1YB.JR#NZ!EFUK)U$ MK9K45/4>/66:%'H0^ ''6E37A(6I2SD@EHP(Q(C-5*A7U'YHT01-%"K& C]D M]Y"5\0DNZ.R=?VW'8PL_&DT8:MSH#E(C'S>BJEUFP#FV1O>V/5$=X/NV@$1) M2!VGG8%#(FX8O!Y-NGO^^LA_ ?,'K__6S(^\((B\U#&?1WY(?3#RLBQB&?(^ M(+GLPF22+S">V,:YGV9/*2/T>!B1,#(_?) .DK.2%4$<\A2=+X%*;6%U.FK9P5S>TN2#YYML=X5]R0'411JUSIJ#!G8$7]A"P-1>E44.^W_ M%TI%BB?T_D.]HFK)R_1*@6E)>WO*/I([J/<#T@D"DT>=)Y_:"NO[A^M/#[0I M%6N595NA;5546R(Y.(WY!&8\5D)LI02[^R6V&[X1$.^-@-!?=.5+H7[Z=VX-NMT*79JT.L-G'BY="4TQ8H=]Y-&'+(XV@BO7AX M/6$SB"'=9N PSW) .05!!W$P#)ZJ,."D\J,.#PX\[>B7>@C1 +A;OLB+G+W9 M:9?[/\S@M *L1;N\K>QF(^O!=0BC[4A- Q^:ZU;A0RB8L+9? C"P<,0\2";K M@Q5W3"WK:BW&MD-E'E)C_G=2<^39K[/0SU^F,X[]1J^L*ZG=IS86LD?2>AGM M_VG8U?\3X=&8P\R+79..Y1&$'Z$*BQZXJBLIBLY_^@VTG-%HK^M8H-A4^8MP7#$R^DTN- M0.Y9V)4FFHH$1JK&>?#4Q^M\\K>AD7KM_JG !UKTNA\/X]/QM\UY][?B87CW MS^<'H?')95@M5YB*G"6SKND/-U9MW;^+I;)6->YR(P5V9S0 [U=*V>&&#(P_ ML\Y^!U!+ P04 " #>J5:3M,X7DQK+M1H=>&_79O5 MA6Z=% JN#;-M77/S< 52;R]'R6CWX;.XK1Q]F*XN&GX+-^!^;ZX-CJ:]E5+4 MH*S0BAG87([>)F=7,UKO%_PA8&L',J-(UEI_H\&OY>4H)D @H7!D@>/K#MZ! ME&0(87SO;(YZEZ0XE'?6?_:Q8RQK;N&=EE]%Z:K+43YB)6QX*]UGO?T%NGCF M9*_0TOHGVX:U63QB16N=KCME1% +%=[\OLO#0"%_3B'M%%*/.SCR*-]SQU<7 M1F^9H=5HC00?JM=&<$+1IMPX@[,"]=SJ S=*J%O+&L"MJKB!BZE#NS0[+3H; M5\%&^HR-!?NHE:LL^Z!**/?UIXBG!Y7N0%VE1PW^UJH)R^*(I7&:';&7]4%F MWE[V4I#7&.0-!O7^5I&I]_N+[Q4G(^9L*R M0M=-ZZ!DZP=6BCM1HAIS%3"%]"$43@/C32-%P=<2F-.D46/S81T7WRHM2S"6 M(95X)70GM+=%HZUO(+3-[\ @'S#5UFL$I#_I?P78Y0/=(J1:!H5\ M+B]+043&Y7,N7,4=DF K2U8A+K8&4'M^Q2;XU Z4$UQ*2@+F!WF162@0E1-H MM^)ET!76MH!)O'Y!80=XZ*N+NB'(-D+^QG83!:4^S+1*./R.JRD'_G11!0PG M)^P+@NW]P6:#3$Y!OX0?]QFIG7@?*+-AS:X&,".F#!D-NG0T*%\07>7Z3SJD MRM&NM.:APU6#JW"W:#W-BLUIH156 %GOYJBX_>+3M=]/JC@\PWCOJ-,05&38 MG!LPAI+2P_>Y:L"?5O(A)&&C)9Z>OF9\<5IPOHUT-28I=$B7;*3)(N2?#%F)_,HFV7X3N91/D?A M/2B-9R.Y.&-?'[?FKEL&Q4FO[D_6^P[K*U7�\?-H]U/WF.M_8O$DSO!U M$D_2>!R$>-D)Z6S<,^;+*P]5I@%_X"@,?9^^ @CXWHH[+OW\<48,9 :D<^_9 M!5O+Z#K4.Y=%*_MZWV5&'8F>.]R==>N.G4MK*'AKH:.S#D\]9%1B1DYM[,3I M(V*:_#]--&8W>Z6%4)O6%!5RR7[[IE&2Y&P697F,SQS[8Q:E*']^I@ZSG%26 M.5;DFUF*SSQ9TGWH$//V]9E@C27LS7Q)TCQC7[3#XR>-TCE67K3(W^!SF9*< M8DD>NOQ,!U=39(%;?P&G<[A5+MQ2^Z_]'?]MN-K^6!Y^$#YRK/ _!0PMP/F-QH.C&Y"#_L]G]3=02P,$% M @ W(0#5_'G][XH P _ 8 !D !X;"]W;W)K&ULE55-;]M&$/TK P;(*1!ERG8,1Q)@.RG:H@:,I&T.10Y+'$+]0B\CPM7.>-EG+W%_G.54M=H86H49EWQOILNTYK#W&[#@,[Z_$A @U=9^+C+;IP MV&1GV=/">[MK61?R[;HW._R _%?_$&66SRBU[="3#1XB-IOLYNSZ]ESC4\#? M%@]T- 954H;P12>_U9MLJ8308<6*8.1OCW?HG ()C7\GS&PNJ8G'XR?T7Y)V MT5(:PKO@/MJ:VTUVE4&-C1DBF9&'0 M63_^FZ]3'XX2KI8_2"BFA"+Q'@LEEF\-F^TZA@-$C18T'22I*5O(6:^'\H&C M[%K)X^U=Z#K+TF4F,+Z&*GBV?H>^LDCKG*6$!N;5!'<[PA4_@+N$>P%H"=[Y M&NOO\W.A-O,KGOC=%B+Z$.ZIMY4N,GDI1#&/6;;ER_.+I=O3D@XGR6< MGT+_^2,["?<\V9,UX _<&0?WAADCP9\M2AN[WOA'L"3/N_PL3PXX@$MQ?0P5 M8BWI$Y8SMB/@UC"8: G!>IDAA"A!X@Q2;8BR'!JP4K\<2"@3+:2B%Z-05H![ MXP;#0@9-U8Z8"5VJ[6TMZV)8T >68"LDY%0)#BV.E<9P(2O1I2D=*ML2H3>V M3BCB;Q2\[#P"$MM.8Q;PL;42:NH]*KT:*ZO>1,J_PLAB@N+#.+HM>.$0Y_\K0PL;IF&K7R>,&J [#=!;L$TT0+S!V_[ M#5!+ P04 " #=F((F2'RDJMP.!FP9;'YZM9J(\% M7R0.=L^&H&2M]5UP/H@%RP,A;+%R 8'3[QXOL&T#$-'XL<5DXY*A<=_>H;^+ MVDG+FEN\T.U7*5RS8&<,!&ZX;]V-'M[C5L])P*MT:^,7AE1;O&90>>MTMVTF M!IU4Z<\?MONPUW"6/]-0;!N*R#LM%%F^Y8Z7GY":T MV=-H84K.;<\K7# : XOF'EGY\L7Q:?[F -?9R'5V"/W?SN,_(3XU"!>ZZ[EZ MA!Y-F&04(&D?[!^ET!M=H?"D"UQCM*\;6/J:KF$2.$UG,6] MD(Y0*TV70-ED6=W*4"5@(Q57E>0M6$>!+I["@ 9!6NM13)[:NFSO6G=HZCB\ MEH"]'9H0%CD)&UX@IM%13 QU? MS981R8C*Q+E@3/!'-\ M:<30#IK.:Q(!&&8]SRBL&Z!(]S$?H_.P"G:&, MH)\IK3@F"0]-(6TK!3-N[ QK.\X>.RZZHT2D'(U) DD'?W*8'QS@F]+GUG%G MX_C0.2CXO2)7R+4^(<=RW([SW!ZFWV$FZ?9>^NAXZTX'?7R\]2[ZY/]\G[[[ M\#NA<-L<=+6>^YX<[$JU6L[KEE-O=Y^7.(:!(1]G#FP%1O3Q@QU87[KB?$JQ MT2G%QJ<4FYQ2;'HBL9UL\=IL\0ZI1S]D>Y9NZA1!\IV[>M@%S;N@#E!\,;DI /ENYZ[BYIVF?2O M_5=8?7'FUK-? %OJBLY13"LBZG]?N]HV#3>Z5KY9']K]L=VQ/I%-1MT3O,K7 M'8I\@)89X2B'A31E7?5D>6-UU:\G@I:ZZ#Q2(4N8'J:R40*F ')_0:G83)2! MMO6*_@)02P,$% @ W(0#5WMMTJ5K P 6PX !D !X;"]W;W)K&ULM9??;]L@$,?_%>1)>^IJX_SN$DM)NVG=U+5JN^UA MV@.)SS8JA@QPTDK[XP=V:J>=0[M(>4D,YKY\P-P=-UX+>:-=3;QAAZ*(2$%T]=B_0DV"^I9O85@ MJOQ%ZVKL8.2A1:&TR#?&AB"GO/HG]YN-V#((.SL,PHU!6')7$Y649T23:"S% M&DD[VJC9AW*II;6!H]Q^E1LMS5MJ['1T;O8W!HEN)8DI3]%42L)3,/NNU=C7 M9@8[SE]LU&:56KA#K8,N!->90A]X#/%3>]^0U7CA(]XL= I^+O@QZ@1'* S" M#E(9D: OL&]X/W#N1NC=QUJ4?7!0.$@WGO'=[&1M-8+/7SO:YPW8()80H< M8+T:K.?4^2KXNSW@W*(OP?5KN/[><+<@C4.1'7QNW9?X!C7?P*ESHPE'7QC- M19*@GQ>0ST'^:L-QRNQY](8UY/ 0WC(\ /*H1AZYOSO)H8W);;7]-1P0.&B" M:^ 4O*6:M7*\8'>:44B0Z3&G,WU ETE"%R!=2%OQ'CNE2Y>T^="DBW8TM_T- M&(^VQQ0-RJ@#HR;M()[ MAX@ZV)E8]J5N\@UV)X9IFDI(S8%%TQ6AC,QW^'^ETBM5[,UY%>%N-PB"L;]J MF[_))_@_$HKS6-RNQ7['XA"I"#>Y"!\D&>%#9"/GPM^Z[^<@T[*J46@A"JZKJW_=6U=.TZI>:(979=<%D2GE"C%(C&EP/#!S MRZJ2J1I:+,OJ82ZTJ47*Q\Q4?R#M /,^$4(_-NP$=3T9_0502P,$% @ MW(0#5_&UL MK5E=;]LX%OTKA <8M("_XK1IVB8!G+2=:6>Z&\3-[,-B'VB)MCBE2)6DXGA^ M_9Y+4I+M.D83]"6Q*/+RW*]S+ZFSE;%?72&$9_>ETNZ\5WA?O1F-7%:(DKNA MJ83&FX6Q)?=XM,N1JZS@>5A4JM%D/#X9E5SJWL59&+NV%V>F]DIJ<6V9J\N2 MV_6E4&9UWCOJ-0,W M7+VF^6'"7U*LW,9O1IK,C?E*#Q_S\]Z8 DE,D\2./[=B2NA% D"C&])9J_= MDA9N_FZD?PBZ0YR\6"U\K?F-7O(NGSDN1E1KGPEZW2 MW'&/9;7SIDR+@:"4.O[G]\D./[)@DA9,?G3!<5IP'!2-R():[[CG%V?6K)BE MV9!&/X)MPFIH(S5Y<>8MWDJL\Q?_XKZV@ID%0V!83J9UC.N\<2N]<7*IY4)F M7'N8/3.U]E(O6664S*1P[-EU^O7\;.2!B22/LK3_9=Q_\L#^Q^RST;YP[+W. M1;YG_=7A]2<'UH]@B]8@D\8@EY.# C_5>LB.QWTV&4^.]^%Y\O(M.,>M?XZ# MO.,'Y$T[>S=69O^=SIVW2(#_[;-WE/=BOSPBA3>NXIDX[R'KG;!WHG?QZR]' M)^.W^Y3]2<*V5'_1JO[BD/2]H;E/X<-2?K,R9^_6FI3R?CME2DKKM?AZ>CMZ$8KE<2L\5 M@P^TBT1*C"0U(W$<9.H(M1=9H8TRRS7+ !V\@IW[C"^E$BFUF3,+O\(*, \D MFPK\Z/LA_W)D,WYPM?8$W!L&VO*U%NQH/!Y#(J%%- S9%VRZ ?[HU5O'"A#Z MMYI;((_I#/PZDQ505PH.(WSSVL%6SC'I"/N,:W;#2Z/[[(HK";VTY,-]07'0 MX$\,BI=M4+P\Z,Y+[F2P;I"M?3#]OJ@X*.:Q:? $3,$MQ);!,92_M>9U+KW( M*1QR%,+XRR&MX6P\+*3FMTF *, 2 M1)$L-^!)W44]!=<>0+2)K6E'FF#%LE:IN%!FX.5,9+657J89[^^S@NMEB.12 MNM D-+!F[Z\:0$,V#1M!*[7NDZ URPW3Q@-$INH<-E>JV6,7Y\(8CZG8THIO MM21;SM>LU3IH2PY3PHN]WHC)]C1'HCVAWB7@TP1+)=/ #I:\Q/._00IQLB^X M)R;I-PXSE=2D1M)L-]]+,,521/;0(D-64^TF?6CV@DN['9Q)#(9 2VZG_#?+ M&L?CC30YE/]WG .LS<)FJB^L$+%OD/>LC"594$EFGXBSFHI(.@5O-2 E0E;J M',T%M7.[N((92KY& C!Q7\%\9-VTYUIP2WL0GG<05\Z%9<='<:/@*2?V!.^& M2UQA:I63<&J R=1PX]^UCAUF&\>[QFZ\OU?F+CK,VP4W:6(U;[S[W0Y:UQ"+ MA ?G,V"AEA7$/_@CFF1C#5 H"&K!(EG" C&W-<7 Y#09Y #YGK3D>W*0Z*X[ M'H&CNI!_@((/"GLL!3\9V<\BXH9??!)7:^]VTC$D0.(?2?%5SYW,):)<="F- M]@$Y[Q'W@5N[IY7&UH&!M+=&P:M#="D(WP0]]AL\ZWKT.5?$N)M%0BB)4T+0 MHJZ,WC;%H1AXU<; JZ=:NL_NH"J?JY1VPGEJG@+)[XN/@QL]-CX.H][HD;K& MCF1*,A^:*W)7[,FH8ZJ]5/(?BA4:AV>( YW1&MT?FKL53IWTOQM<6&KFZGGP M'5QD+-&E;@EM^Q6X#+'D0'CPNZLKRO+4I@E+)6L#&WPX%P57BWVQMH5ZJQ-$ M2.0@VA!5UA6RBE0CW3:4ML9.%^ 1B;AI2W]L8HF]H]$;"M_>1F[44IB15U7L M09K6 PFD]:T*[';DA9W'%5 P_6":B-5/'0"59J M\X/$;_8D*>*H&7DH$->MOG]]?-]JBN)EZF7!2L&I/PF[(5LUNS.QV-%50/0/ M[[J/!FB.9L$BYSJD,"N5.)AC@U6"[R*(74>Y3D8>:0*Z[AAV5U+K+T1'QFLG MMF*#9-)S95:DBTF<$\:2YK%M,+#,]O$>9;CKRF02@PI*M62.+A,39;H7V,(1 ME>+.B60JC,[Q*LC:G9PD4O$GQ210$&62KP8-V[7D1L*VJ2\R; RHO=0G'T%\ MIRWQG1ZDD%L7LAFQ!.A^/Z,=E/!81GL$38:O&>6NR^Z^B[-CG%I=L* M.019R;^*#4 A7YRKRRJZ+1; Q:()1)PUZ]@8$_]US=#3$#?9V5;YT.C3><'' M5BIVE%G,60D8-K*V#WWB-FQ7([+B)!%B,&L:19H#:E%#-MM(FVYUTR4T&=WZ M(O3@Q&GHZ9&NBUHA0^[:\U%F[M!;AX19IUS <4@2A6WDU-*8?"65ZD-SDWT= MT 5F'HXL,%.JP42/T!]&B;F5I[Z>57Q-E-C_'ENHB.'(%<][$ @^X??"T608 M(9 0OW\HO>D97;.PGI,/,;$R3@:O'\J\UVWFO3X8ZC?HGS6U2#PWWQ]MC3:T M=Q<%MIF.8V1]:/:^##Z(Y+$9_-/4N@IGX]"H=&E(O20"#SZ5KHA'64J?#VUV M;-P=SMHR?&GP;^OBZ\-T=MG4PO:\25T(A<9>&;=5OG5O,)W=NDX"0 8<26PH M--/9U7;5HRB.BGUM'$ >KD+<;BB74R/CKI=_)3+$'3\&9P M=-S?+VBPO=^S+SBY9^QX)I -]KG@\58"!4^R4\8P)YR=LKP.^9*7@9CMPXTEJA8+%0[B*$R7@PV8\@ 7C8![3%GR2M'3Y],7G>W!90 M(%,]"E>DM#7=S9";P(EU8$%EZ,(4,2QM\!\BL3!YO.4-@/G64'!:NOEQW15& M%O&IB*^,\0 "\%04K9?_!%9'5Q0LDG@U-J:R4[:?J@VEB#*P9I\50N4#;P8E MW9U3*>]=&MT.D#0J/;RM]L*Z+YC>+Q2!U7BQ^1DQ8@=T0RIUC1L-= M&S$E0HFGVYQ/7(<[B'0G0X4O7'2A[\R#CP=6H)6GW WS<7JPAF<%JC:)3=6I M%8V*G(?..O1\X?0!$%FX( DGH1]O%X;LYFE5(A:PT<8'-QR]EN$[9.@2M(_? MWMK1]E/G-'SA&W73XW?2S\@'^!1.6&#I>/CJ92\>.)H';ZKP^6YN/,YYX2?= M[@M+$_">+C6;!]J@_0!\\7]02P,$% @ W(0#5^S6(&ULI5=M;]LV$/XK!R\H$D"U)5JR MK30QD*3KUF'M@B;M/@S[0$LGBRA%JB05Q_WU.TJRZK2.,:!?+)&\E^>.SYW. M%QMM/ML2T<%C)96]')7.U>>3BG,YBD:[C0]B73J_,5E>U'R- M=^@^UK>&5I/!2BXJ5%9H!0:+R]%5='X]\_*MP">!&[OW#CZ2E=:?_>)M?CD* M/2"4F#EO@=/C 6]02F^(8'SI;8X&EUYQ_WUG_4T;.\6RXA9OM/Q;Y*Z\'"U& MD&/!&^D^Z,WOV,>3>'N9EK;]A4TG.X]'D#76Z:I7)@254-V3/_9YV%-8A,\H ML%Z!M;@[1RW*U]SQY871&S!>FJSYES;45IO ">4OY*>5*RW\JG+,G^I/"-* B^UP7;.C M!O]HU!BF80 L9-,C]J9#G-/6WO09>]>-I1UKX497*Z%X1PF5PY6U1/V]-, _ M5ROK#-'EWT-YZ-S$A]WX$CJW-<_P"!RX9."+\__)]HS^$]/KJ[ND2# M\*YQ#9=$-Y)".!6*+.G&DJH]@YO&&%1N9_@$TF >+N@9!^F"P:VA9F;<-H!: M;OPST!E@;Q=$8OT2)(6$0TS'2C2*;F6Y]- MNM L,PW)XB.U8>MS0IAUZVX_4Z=1D*;AF7\F\]D9O,8"C??A^*,_9@&;)G2\ MF--OA^9 H@G(:1PP1C(G7B=.HC.X;4Q64M^#VHB,4D+7G77E0_B3@%&(A'\6 MA/,0CG \&3B>_"3'"Z&$PY>2NGD.8K@L>XC41WT]3^I#K V@L5@T/G$/_3WP M2ALGOG;9J)"(F+?<%CEQ0!2B+0CQ YWX4 Y^?#O>_%!4^>=9VW(R18H^6J- M.RWJBSCT1>#&&^UKT!ZIDS<^C$\^#/C81?&G*)[=?E)5 7$OP]I1(+!%;MHR M\]\EHJ!!V09O2U'[-X;GB,H7B'$Z0Q8+Q8E#.+^_;U6+S-=U4B)Y&N#Z$OY1TM1' _J M'?UW=_2$0_N-PY?\25_T1W@]&W@]^TE>UT9#.V41H&[:HNU#I#[NB/A+Q=HH MWN3"\^B;6:(XS2H62OZ L$)4=(8U-SW9?!JYX7Y*@KHQM?;M1BNY[;A.MZ6T M X49(:<.3_M"Y2+K%'I"[US0TK?:CAR>HG2XI0&MD?F>^Y+GW7=@?PC16=M$ MJB[4V^*HB,RI<%86D-[H/A:L!#F@2@H H@P1X'?:!Z<&.X+XDH3R86 MN!./3S>^^[)\P =45";$<18D1'+J>= :NM96A'" K;T^$DB'$>=:#AFT=DACDWV!CNJMW4[OEIH/Q+=C#?L#A/R M53<8?A/OQNMWW*P%I5=B0:KA>$ZMT70C:[=PNF['Q)5V5-SM:TE3/AHO0.>% MUFZW\ Z&_PW+_P!02P,$% @ W(0#5X,U3]+S P X0D !D !X;"]W M;W)K&ULG59=;]LX$/PK"[4H$L"-;#G^J&,;<)P& MO4/3"Y)>[^%P#Y2TMHA0I$I2L?WO;TG)BI(Z;N]>;(KD#F>6LR2G&Z4?3(9H M89L+:69!9FTQ"4.39)@S%\6K UWJ/]L[C5]!4V M*"G/41JN)&AX]^[;63EI@97"KQ%T]M-@O& :2X8J6P=VKS"6L] MGF"BA/&_L*GG=@-(2F-57@<3@YS+ZI]MZSS\2D!4!T2>=[609WG%+)M/M=J M=K,)S36\5!]-Y+ATFW)O-8URBK/S:\8U?&.B1#CYRF*!YG0:6@)VPV%2@UQ6 M(-$K($.X4=)F!C[*%-/G\2$1:EA%>U:7T5' WTMY!OUN!Z)NU#^"UV]4]CU> M_^%+6C9#B''-I20"P&0**%/7C)E@,J$D MM[BS%G==N"?/N!<5=RB-@S-\+?F*)XSFE5+%CI(?YK(HK0$ZGCP7P[>0 M5V9$9T8@*V%C)6 :@;G9@DXC,X%%KLHJ:\=),*_C"A/,8]30[WF\"-Y"OQ.- MQ^U=@91TP(R$:433J%_ M4$:TZU$YAB>XI9/%P"$=, M/VA,/SAJ^FLNR3*W]=R)U(S)V(NM-<4LYXQG:[I3*A-A, MVOGYQ&DS=9+M*#6^,.%CP[HUK:K47OT?-95[0FZRF2H-L36G+RSPJA"P)W=''I!WIHK$I"<<[Y,.I$O=XK+9^RZ*+5^K'^_O?247?0 M&8U'K[1^7/J0O/GAFDZ0PT( M7%%H]VQ$/M75@Z+ZL*KPEWBL+#T)?#.C-QAJ-X'&5TK9_8=;H'G5S?\%4$L# M!!0 ( -R$ U>"*$+#X ( &4& 9 >&PO=V]R:W-H965TD1(_62C^: M'"IA32C+W"VNHR"$Q68,G,J:I0 MTLE2Z9)96NI58"J-+&] I0CB,#P+2L:E-QDU>S=Z,E*U%5SBC093ER73WZ@6[_.Q%SI!*#"SCH'1\(0S%,(1D8QO':?7NW3 W?F6_4T3 M.\6R8 9G2GSFN2W&WM"#')>L%O96K=]A%\_ \65*F.8+Z];V_-R#K#96E1V8 M%)189OCDND6'.8*6.-#S-6<OHC.PE<'8DO[V-)#[),[ M>L9Y+1#4NDBNE M\E:($\HS!,LV!-+D@3^YVPVQ'T87$/G),(6W-=-,6D1ZY94RG+16@D+-G568 MTC>^&'1YK'8R^T=\2103832(X5[1I?J/S!S!A1\-+V@<$CZ%?;I5 MT^ ,9*J6MNT"_6[?0Z_:UO'+O&W UTRON#0@<$G0\/1\X(%NFUJ[L*IJ&LE" M66I+S;2@_P!J9T#G2Z7L=N$<]'^6R4]02P,$% @ W(0#5UO2YG5. P M#0< !D !X;"]W;W)K&ULA55M;^,V#/XKA#<, M+>#6[XZ3)0'27@_;L +!=2\?AGU0;"863I9\DMRT]^M'R4G68KGLBTU*Y,.' ME$C-]TI_-BVBA9=.2+,(6FO[6129NL6.F5O5HZ2=K=(=LZ3J761ZC:SQ3IV( MTC@NHXYQ&2SG?FVMEW,U6,$EKC68H>N8?KU#H?:+( F."Y_XKK5N(5K.>[;# M)[2_]VM-6G1":7B'TG E0>-V$:R2V5WN[+W!'QSWYHT,+I.-4I^=\G.S"&)' M" 76UB$P^CWC/0KA@(C&EP-F< KI'-_*1_2//G?*9<,,WBOQ)V]LNPBJ !K< MLD'83VK_$Q[R*1Q>K83Q7]B/MCE%K =C57=P)KWC<:7[D6MJ">-Q<:QL"W"5@EJ;BYW,W@PEE.OT-[*N&TZ./0' M]P%K[#:H(4M"N.(27I%I<^U%VZK!4"!2[U77#Q:U>1\8TIL"OH\A%);NV>$E5&L)$RFSCLN,GAD=4LUTV,QV$ ]J3:<.@/RFQ**8@I9 M/G6D)F&13)Q0A%F>4%1C9K"JZZ$;A*])@U3AFK-Q(#FP3FG+OXX+5TDNY98)_)2AS9-O@,XW6L4JU,CZMC%R*L,H2[YI2 M-?[+Y7WH-"RSDB+G%"AUD3,J@"]YF%<57+H.9!.'<9J34%&L L[=\^C-B.I0 M[_P@-D1XD':<5J?5TZQ?C2/N7_/QH7AD>L>E 8%;AR^HV)5[P?> M1EDZ*B^V]%ZA=@:TOU7*'A47X/0"+O\!4$L#!!0 ( -R$ U>%H*? P0, M &L( 9 >&PO=V]R:W-H965TU M*!) B5YM*XYMP'G;.K1#T&0;AF$?:.EL$:5(EZ1B9[]^1\IVG=4V]B'1\>6> M>X[W'.G12NFOID:TL&Z$-..@MG8YC")3UM@PU^ADW^7B"I1+&_X=5MW>0!E"VQJIFXTP,&BZ[+UMOSF'/H8B/ M.*0;A]3S[@)YEG?,LLE(JQ5HMYO0G.%3]=Y$CDM7E">K:963GYU\E);)!9\) M!&8,6A.")"FCR%(0MS4J-X W'6!Z!+ /GY6TM8%[66'UUC\B3TI5*RX$,%G!7OI3GS[<<5,* M95J-\-=T9JPFW?Q]Z!BZ*/GA**Z7AF;)2AP'U"P&]0L&DP_ODGY\?2*'?)=# M?@I]\D2]6;5$6LWAAPH>(GL2[C#9(\HH%36DL5BYV+9&F"M!G$6FS;DW;:U:0[6@X:W7.VW3*)AK6E/S MI8'B(DGA/:2#L,BNR$BNPCS-X5FS"B5KT$!ZD<30"S.:S<,B+6!:?FNY)B)& MS>V*43'3RQY<7?7@P[LB3=)K^%7)BU(U2[24WT(CTDU#Y4^A5^3^[SUD>3C( M?60"S?KP"8T9$G39-JWP:;)&:I^^1 R2X(NSGB3/B M,!OTX(0@>CM!]/ZW(!ZXY!8O/M%M=T#@(3RTUJE[NL_]?DVWO,%#TCD9^+!T M;NB:)'U(KX^2:?U*\H 7)EKY)DTZKE=8'AS-< MEZ+U+H:OH>GN.W3WW5N:YY"&<1$[VPDSS@MG]B"C^OO9/IE)W\\.G)G%\%PC M/:YS2S22-.R1/)Z59>*[; ZI)=I[ *A_%OZ9,]2KQ+E["W:SNY=TVCT@W[=W MS_!GIA=<&A X)]?X&ULE55M;]HP$/XKIZR:.JEJ0A)"8(!$VTW;I&I5VW4? MIGTPR4&L.G9F.X7^^YT=H$RC2/T2O]T]]SQW]F6\4OK15(@6UK609A)4UC:C M,#1%A34SYZI!22<+I6MF::F7H6DTLM([U2*,HR@+:\9E,!W[O1L]':O6"B[Q M1H-IZYKIYPL4:C4)>L%VXY8O*^LVPNFX84N\0_NCN=&T"GV_PP'%E]N;@E,R5>G2+K^4DB!PA%%A8A\!H>,)+%,(!$8T_&\Q@ M%](Y[L^WZ)^]=M(R9P8OE?C)2UM-@CR $A>L%?96K;[@1D_?X15*&/^%56?; M'P90M,:J>N-,#&HNNY&M-WG8<\BC5QSBC4/L>7>!/,LK9METK-4*M+,F-#?Q M4KTWD>/2%>7.:CKEY&>GLZ+0+9: :RJS00-,EJ!LA9JB:XW2@N!LS@6WG$Y/ M[]E>01&<01W%R!"_992+Q>,DK>#?LV6OS&?!I8<+ K]G<6$UWY_AC1 MO:>1:5B!DX >C$']A,'T_;M>%GT\PC?=\4V/H4_OZ'V6K4!0"[K;;ZGB(25' M8QU68$8P\RA46/2%O<("ZSDY)SU?Y1A. MN01;J=80L/D V\NK<F&@)OZ3K!I:MH>D*3#9YFM$W M2?MP27>2RZ5C5BCJ-"5JYKO%BW&699"ZNM\ZZEO)BWC7F:Z:77!H0N"#7Z'S0#T!WS:Y;6-7X!C-7 MEI+@IQ7]'U [ SI?*&6W"Q=@]\>9_@502P,$% @ W(0#5YYD;<<5!0 MM0P !D !X;"]W;W)K&ULK5=K;]LV%/TK%^X# M+:#:HMY.$P-)^MB&90L2M_LP# ,MT986671)*D[^_0YI674ZQQW:YH-Y2?&> M>^Z#O,SQ6JH;70IAZ&Y9-_ID4!JS.AJ-=%Z*)==#N1(-OLRE6G*#J5J,]$H) M7CBE93T*?#\9+7G5#";';NU238YE:^JJ$9>*=+M<V+L8.KSP*R[.E5S2.;@JE +";$HZ=P$6BOX\ MG6FW_M>^ &SPH_WX]M@A]A.=EHB,K'$XJV9!QE8!Z5*N-1E\*?YCW:Z>R^6* M-_?/GV0!2U]K'$['2-/L'K7YCU1=Y2*PMBLJFO(>5V)QNP 7K?(&6],Q>OZGO"SI=?1H0J$ M6T6_2854GX)-E?/. (::&Y"!=5QPRD%JJV$!/C25979M[)8A34LEQ(,JI^OJ M[N&"K57[$^Q(?77]VG&F%\Z ;#5O"OWR"V9/*6'>.(JL$'I)G$%@0>QEX]!) MS N2E-ZV"H2)Q5X0,V*A%X\3"IG'HIB"U M#1K_#!T4L2BEC%&:1$Z?2\/IS M$IY2BLU1T EA;$W$J1<%=HE%F9<"\,<7!P)P*Y2!OS5FZD88??3- ?ZX1?HB MKE?"\*J&'T'B^:%U"&&,8BO$#"[:R%H/XS%-15XVLI:+>X\N1%%Q @16T35P M6P21YR.\0>B%8T:Q[XW]E*+(RQ"O\\OWHPO>M'/<&JVR\7G!7A+SO2P-B,'P MV+>*,OQD3.^JAC>YH 2QS2CV_&AL$Q@D(8V].$VZQ$$>1X2DQ"&QS O] M!/GP8@S?E,._'_USA.$&V6-4:&1:V?L1_1DL+GE^@ZYU'5T*^O8?- M_4I\1PGT]_D4.%_6P13/AU<07Z%[XXQQ6Q+)&$?%'J@42?%=H,*QER ]5DJ\ MP,^0J#M1O)J#4.JE.% )@HM;T6+CFZ3@2#EPL:I;R&5OO%L&JQ [Q _J?;UD\,V#M<$7\H6 M]S6L;>_C CFX11Y=(Q8\+S^W"7&7"YP^P##_V5?JYSN*96L.%VYQ)W#%TFN4J"_<(]F#4YW,VKLE_MW^2GFZ?HY^V;!_T%5XL*3;46&ULM5;;;N,V M$/V5@=LM;,"Q=;,LIXZ!7+;H%ILV6*>[*(H^T-+8(I8259**D[_OD))E._$: M^](7B:1FSES/B/.M5%]UCFC@N1"EONKEQE27X[%.%.W&'4K&"RPUER4H7%_UKOW+FXF5=P*?.6[UP1IL M)"LIO]K-A^RJYUF'4&!J+ *CUQ/>HA 6B-SXM\7L=2:MXN%ZA_Z+BYUB63&- MMU)\X9G)KWI)#S)$P O",WAA%V'H\,+S$?Y]O=)&41/\QVZM MP8\P"V?T3"8)/?WA-/#<>S()X#-3W++B4#Y.H#^+!Q#$A#\-!K#,I3(7-A>' M8K,$@@3\64R"4WB4MGQ'5OVA[TWH/9U9>\'0G[;VH^EQT?F^W%0BP0P%:R3( M5\%0N4K-W*#3MIK_0_Z:]A.4$BZX>8&*O5@?M.+04%:C35)S5LB,KWG*FMQ0LBU6GPH^V&\2*NE9X'W89['[03SHNFFW M26+XXGX.%#DC#M&_CDII?Y@'];,-9'F1<9W*NC1 Y74TH*%PS)Y7U;T^%KG# M%(L5$37TA]]G=FBC?$&F-(0C:MA1\E;OV*MX%,$[B$93>'=F_$VZ\3?Y[O&W MYVC3./?,T'RQ?7%JUIW%/3VTK]\F=/B&3(?MN.5"T/^6W#@>2G^YA!&;K-I1 MTD_2YF%'%E?"/G6_J)WJ^5$Y:(9#X-M=1$SP8L\N)T02;^;(2A4;!O[,+J=$ MD22*[#*!9'8T=SJV^N$P(OV/J"D*7E2U<82D3D":3'TB63(;M*K$.4(D\ITJ M\_C@TE&@VKBKE0;7)\W]HSOM;F_7S:5E+]Y<_>Z9VG BD, UJ7JC*556-=>I M9F-DY:XP*VGH0N26.=U 45D!^KZ6TNPVUD!WIUW\!U!+ P04 " #B#]3N2%IX=ZF2E&7WZSOD2FO% ME52CZ$/[LA=RYLP,YW"&O-@H?6N6 ); MX&L)&[/W35PD,Z5NW<_'XK(7.(>@@MPZ!(FO.[B&JG) Z,;O6\Q>9](I[G_O MT-_[V#&6F31PK:IO96&7E[VT1PJ8RW5E/ZO-C["-)W)XN:J,?Y)-*QN*'LG7 MQJIZJXP>U&73ON7]=AWV%-+@B +?*G#O=VO(>_E66CFZT&I#M)-&-/?A0_7: MZ%S9N*1,K<;9$O7L:&I5?OO:Q5607-68:R/]15 M"\F/0,;DDVKLTI!W30'%]_I#=*_SD>]\O.(G 7]:-P,B DIXP,4)/-'%+#R> M.!;S4FIX?>5CGL@'I)@E8ZUELP#__>MX9JQ&OOQV*/@6.SR,[?;0N5G)'"Y[ MN$D,Z#OHC5Z]8''PYH3G8>=Y> I]-,4]6:PK(&I.S)','?+Y).IAG]_5JTH] M !RU@S_&XK[,U:(I_\#)LB%V"3C<&%65A;0X9BR^W*(:YW*EC"&R:7$T+-W> MOH-V>"-QRI"YJK!.F'-RL]1H?)])9%K>?S_@^. >?._KS+NAU@;MF#ZY=DZB M:0UWT*R!O"01#_#)$X[/+ W\"$/ !:X*Z+)94.(60>I\2;VS!:I6:N6IP6B MZHS&(B65E98$[ MNG1<W#(=+]#9B+Y2D,66->M:?1-<8GFX=7+U+. MDC<&XV$IF52R(:4A!KL5-B2[)#/75L[)S^MZAHKHV"\>T9!OOA[C0HWO<+T7 M0-[=@\Y+ V2BRQS(>+'0L$!VDH^-Q;2;,B=?9844><*@OP!=(P5==5AC1FY MUYU)['G(]Z9PR9>>\&\A!^^88+2E)Z-1EM*4,,3Y2/N MRD?\[/*!%1;3GK\]W:[1<@?[HXL ,^.%:1MX[S[V6IMW3_TNPR MM)&Z,$>9BS4BC&B&+/1LQ"2-6X4=65DH]L@:[J;W\J_Q*.Q;QUF69@CE.8?, M"8.=\#YO ^;V1;_%0P<.._J401RW#/-%QWF1G>HZ24>;Y-FT68'V]Y &2XAQ MZWR2,B=Q_TW*_&#(Y+]$%BP#/*6A+PDB&V")>$*6B N:B1V7DI-DZ<#Z3]'V MZ()=2B11OP-\#EO"S#4IT>DTEIQOMKHCC]F;T M*-[>+S])C4<\0RJ8HRJ66CR?Z/;.UOY8M?+WI)FR>.ORGTN\YH)V C@_5\KN M?IR![N(\^A-02P,$% @ W(0#5QWL_TTL! 2PH !D !X;"]W;W)K M&ULK59M;]LV$/XKA#H4-J!:;Y:E)+:!O'38!K0( MXFS],.P#+9TM(A2IDE2<_?L=*5FU5\?-@ $&=23OY;GC/33G.ZF>= 5@R$O- MA5YXE3'-91#HHH*:ZHEL0.#.1JJ:&IRJ;: ;!;1T1C4/XC"4.WL +S>W.O?W:Y8RYKJN%6\B^L--7"RSU2PH:VW#S(W2_0Y^, M%I)K-Y)=KQMZI&BUD75OC AJ)KHO?>GK\!:#N#>('>XND$-Y1PU=SI7<$66U MT9L57*K.&L$Q80]E913N,K0SRX]4"2:VFC2 1U51!63T2-<<]'@>& Q@U8*B M=W;3.8M?<38CGZ0PE28?10GEL7V P 9T\1[=37S6X6^MF) D]$D+\)3_*]AZS7;EL_[Q>:Z.P.?XZE6_G;GK:G27,I6YH 0L/&:%!/8.W?/\N MFH579\!.![#3<]Z7*R1@V7(@K+\ECI0".VH2LV,OQ@CUL.\0'TH@)!"!;C<&T3^"E@,8<-&V)S3\FG]L: M%#526<@GT'&I#SO],UYZ3"!6"$9V:TQB?Q9G9!0E?I3/QF24^LDTP6^4^GF* MPAT(B2RT(2[)%T=Y*#_09XRZA*K[[[_!>N^6MD,DPY?1WMB*?C MH7=_J'F&3.E IO3-9+H6A@WU74'1*F88UN+C2\%;VX ;)>M_4^YM!#L+XO1] M<8IU"MR^P&.UK!-MO<:HB*(K,'QMV3/E;O_P $O,Q/I $SP-)DL4J2$[L#9' MR3DN4UZT?$AP?^KBS,E2@YVW;CN01A[1O)*\!*7)&@K::K ^,&"/I\8_YY:7 MI,+VPZ'$1L:?81^&<^A:?_+_7!!CLCJB#4)M6E54^/=]?#7%?A3E9.HG>8AC MCMR?^C'*#Z]P+,FM298CVRZF,8YYE-F.<*\C4<"1]IY[$?(G(A=I9J4T(8_2 M4(Y^XA19Y<_R"QRSV,HQTNU4LP<'?_!XPVW=,T9C*JTPW7_]L#J\E*Z[!\(W M]>Z9]8FJ+<.2<-B@:3C)L&55]W3I)D8V[KFPE@8?'TZL\+4'RBK@_D9*LY_8 M ,/[JN.N3" 4 *$B 9 >&PO=V]R:W-H M965T4HD> MTR03,V'*=<5Z3U,B+MB!9NJ7+>,ID6J7[UQQX)1LBJ T<;'GC=R4Q)DS MGQ;'[OA\RG*9Q!F]XTCD:4KXTX(F[#AS?.=TX'.\VTM]P)U/#V1'[ZG\/I%M&$ MKJ5&$/7U0)-;!77JG#KP?/M$_UAT7G5F101=LN2O>"/W,V?LH W= MDCR1G]GQ5UIU:*AY:Y:(XA,=RW.'GH/6N9 LK8)5"](X*[_)8R7$68#J:'< MK@+PLX# ?R$@J *"MV885 &#MP8,JX"BZV[9]T*XD$@RGW)V1%R?K6AZHU"_ MB%9ZQ9F^4.XE5[_&*D[.K]??\EC$NF@"_8QN">=$EPZ]#ZDD<2(^H'Y8+DFW$U)4JK0YVUU6*L$R!7T@Q0C*.WJIYWW6YY= MH,![M5G1&YH5^&:S+*H%=:6#@AN\P%WD0AT1 IV5'/W]NSJ&/DF:BG\ZFKHH MD8-NI![$KL2!K.G,4:.4H/R!.O,??_!'WB]=Y8"$A9"P" AFU&50UV5@H\^7 MZN:(LQW-)%JKFS#>4'T'LJRK'%92WW) PL(2-BI@>G)ZF$\"/'4?SE5NG^/5 M9QC2#6OIAE;I(B%C-5?0#=KF,N<4J?E3BY?MU!PFU%0AD#H0LTV7EE9T7RTA M8:&]TSYZHH1W7<5 C3!*,:I+,;*VZI8^ROO#GO*N@7-AC>VK-20LA(1%0#"C M )=U 2[AA_=+R+I PD)(6 0$,^HRKNLRMMX8=Y2OU=BN%MV(;=$#*T:G.)/J M3A%J?"*Z6OSYLJBL3@F>G(V7OCFB+JVI^TH."8N 8(;DDUKRR6LS:C.-(LE) M)K:4OR#RI#4IX:%R6<^$MB;L*S0D+ *"&4+[7N,>//O539Z4:U37L62G2QFM MJI&H2^T*-SR7>Q"TY+9G[:LW*"V"HIF*G_DU'VRY6*'.U9ZTM;;FZZTU)"V" MHIE:XT9K;-7ZACS&:9YJH=^N.6X/*%Y;=&OBWJ)#TB(HFBEZ8U-]J]OZOD7] M*VP?H[3X+Z)K_6*/[5T34(,*13-KTEA4W^Y1;U0E2()NV"I..A?X]OB^*TE0 M6@A*BZ!H9B4:Q^L/X9?Y/JC7!:6%H+0(BF96IS'!OMT%?\=BWT[N7:/1:]XA M!$T80=%,X1OSZUL]W/PV3U>4:]%/_]\V:J-_;7_J+NSDWL)?MI9<_MA[+CVH MNX6BF=(W_M:W&]Q>;LO.ZBWVN+76\D?^\\56")HT@J*9UK>;V]Z."])M M+BN:<7GC<5MQ4(L+13,?-C4>%]L];A_'94?U51NWW7+0,LLA:,X(BF:*W=A; M;+>W_\=RV9&]1?=;@\JP9>!"T)P1%,T4O?&YV.YSO\MRV=F]U;>WU&;@0M"6 M1%"TLB;NV2/ZE/)=\6Z$4-=VGLGR:7U]M'[_XKIXZ\!M3B]?WK@A?!=G B5T MJT*]BTLU/O#R?8AR1[)#\!0 7BP !D !X;"]W;W)K&ULK9I=N)D_:BTPN9 ME;U,6$0DX77^?06+ 2T@+YUS$P/+>03O40Z\1USLN?@JMXPI]+Q+4GDYV2J5 M?9A.9;1E.RK/><92_(L$>+B=7^$-(ED5 ><9?,=O+UC8J;N6>\Z_%SO7FLPBL+W]0O^YO'E],_=4LC5/_HXW:GLY64S0ACW0 M/%&?^/Y75MV07_ BGLCR7[2OSG4F*,JEXKLJ6%_!+DX/?^ES)40K 'L# :0* M(*<&N%6 >VJ 5P5XIP;X54!YZ]/#O9?"!531U87@>R2*LS6MV"C5+Z.U7G%: M3)0[)?2OL8Y3JZOH6Q[+N$B:1&?H2DJFI$Z?/BK8!M%T@Y*8WL>)/H7I'Z2> M4?KXVX I&B?RG8[Y@MV_>H3D MS@NI\T)*GCO ^YA+?41*U$H0^N=W?0Q=*[:3__;I>T!Z_>.60(-*0AF%<+YED%^X,]J[MLRP3KD\P: M.W;&0L("2%@(!#,2X-<)\.$KB0^9%TA8 D+@6!&7F9U7F;6_QCK7 B6JN*1 MJA^Y?4FPQH]-PJQ3*99S9V$6B@!RQ! (9H@[K\6=6\6]%?I56JCO[U&6T$)D M_1[#]/3/]#NNZM/:BANK]0'FM[3&2W(D->2 (1#,D'I12[VP2GV=*IH^QO<) MLTSE14>1Y=*9'3T93SDIL%[,6-V 8(9NRUJWY?]^D[!&CIV-RZZL&"^/9(4< M,02"&;)BIW$TCE78/Y5^VT I3Z-7*ZR=-%;HBM96VL?X2&C0(4,HFBEURSQB MJ]2?N:))I6]M&GN%MG)&"XT[0I.EYQZ7"M!!0RB:*77C!['5UFBC'O$\U3)G M]#O5Q?:]UCL2N?;B[#ECJ2S,N7[(\7+RMRQ[;S9 C6)%:V?C#.O*?9P-4 \( M13.ST;A ;+>! 7M@HFB0*/H\H#&DSUM7-$-C0ES_6&/(04,HFJEQ8QRQW3D> MBDM/]ZE7;E G6=$,N3U".G*#FD0HFBEW8Q.QU>VL;G,1;:ED*!-QI-_EDH1' MM#"+O7*#&L2*9M1SGW0?G:#>#XIFRMVX/_R*_:-R6U;LJ-@HO,D33?3;2G\Q M ;6"N.L%9Y[3J=>@9A"*9JK=V$%L]X,WN '?CL*0KF\-2@M :2$4S+IH]CKNLT]I38[>GHUI2=-WI9!Y(6@-)"TC70V!T2O#&IQ&Y23VI058QV MLMVY=]0E6=M'&BT>J#\E75-LW(&I7FL=TNX[;6TJ>^CHF0F[X@B[Y-CUN$O? MGPV(V]A(8K>1(UI5=M)HK4%7(4%I(>EZ7>P,58'&39)3W.0)K2H[9[30H(N2 MH+20=%TN7FC?-2!UXR2)W4E"MJKL0XW.!NA2)"@M)%T3?(;]^5"-:8PFL1O- MUUM5=L!HC2%I 2@MK&B&QHNY/R!QXRZ)W5V.ZE396:/5!G6:H+20=-=!SXCG M#]67QD(2^XKCJ$Z5G35:;E#K"$H+27?]5)\Z=P;D;CPA><43CNE4V5FCY0:U MAZ"TD'3MH>L[QVI/6Y]F%E_>WE#Q&*<2)>Q!ASGG%9^K7G/ ME>*[&ULM5M=;]LV%/TK MA%<,+;#&$BE_98Z!U$31#,T0-$WW,.R!L>E8J#Y_U.;0TWJ39=[644I.G.$K416>I]>J\VU6SI8R%.DM7,C'O+-(L M%MIL9@]=M@..I2S^MW8Q$FG33<;I6D=A(F\RHM9Q++*?'V24 M;BXZ?N=YQY?P8:GS'=W)>"4>Y*W4=ZN;S&QU=RSS,):)"M.$9')QT;GTSWG M:Y(/Y3Y-O^<;5_.+CI=?D8SD3.<4POQ[E%,913F3N8X?)6EG M=\XGG1&7;(7"[$.M)?TLTG60ZHE_/-TD@5 M?\EF>^Q@T"&SM=)I7(+-%<1ALOTOGDHA]@#^,0 M ?00$!P!L!+ 3@4$)2 H ME-D.I="!"RTFXRS=D"P_VK#E+PHQ"[09?ICDG_NMSLR[H<'IR>7LQSI48?X9 M*/*>7"5:) _A?22)4$IJ93X83MFW?D#0D3\G69 MKI5(YFK:*B,R624(2)%7^;E:B9F\Z)@R M5C)[E)W)K[_X?>_W*GDPR3@2F2,=VTG'"G9V1+H/:V7V*$7VYB/Y^[/91ZZT MC-4_55(R3"DQR3@2F2-EL),R &?AG9*+=40^AXO*^0>#*?DI1:9(G\1IHI=5 M)3T%&9HJA43F*-7;*=4#!_MGFKR?I?%*:M/M'C(IS?>9KNQB($_3F89)QI'( M'/WZ._WZ^$7;QY02DXPCD3E2#G92#EY3M#"X+-HJ@4!@4X&0R!R!ACN!AG"M MRB=]NUK*ZB]5$-MT4F&2<20R1[/13K,1?GV.,*7$).-(9(Z4OF=]L@=.P(\B MS,@W$:TK)V )[A?@/&L]3D8CKS_N/CIN]I2C.'PA_W>@>X' /['2R+]D6B00 MF9F(%XDB)"S#5;71!UF;3AQ4-H[%YBIJ8X%/\>O01PT*J&PQV%Q!K./W7V7Y:]"^=]P_P-#&,K7A]GUK]_T:O[_? MV4X*ZS!AXR)$=?Y8;*Z8UOO[+9A_']7]H[)Q+#973QL ?-C$US2U085S>-'3 M4-T^%INKA_7[/FSXZWH:C#YE'0.F:"Q7&T[?MU;?!^VOV]N^9F(N22+B:NE0 M+3XJ&\=B<]=OK)FK[6>]'7O,.NAAH%L-A<-6P4 MH* UGERO]5I$Y#J]#Z-J05!M/RH;QV)SM;.VGPY:J$Q,HS]%9>-8;*Z>-C90 MV/C75.86W-NK3#8(1H?%B1H,2K;^L7.Z [6&G\*&WRFZ1BNU,''CV8/J_['8 MW)L0K/]G+?A_ANK_4=DX%INKI_7_[#7^G[WT_RSHL8-JA$_16) V @"S 8"] M*@#4H(?' P",;*Q2*_<"[=T,! > P]YVTEHMS-FX#''O!VK#_C-K_UD+]I^A MVG]4-H[%YNII[3][C?UG]?8?YF^L1AOVGUG[SQK8_]K51YBL\;1"S0)8;*Z0 M-@NP%K( 0\T"J&PDL1 M*AO'8G/UM#DB@), W-I*L-/:@N"@M<%G:*Q'&XDAL(DA@!-#W4WO,!KX805& M-E8)-0=T]Q[[R1_2NA;90Y@H$LF%H??.!L879MOGGK8;.ET53P+=IUJGJ)&3:5U>N*Y*,LBIZHD2"EQ9"IE3C5.YTRG05A1?R*FUH=3T)1Q=809UY6N*"?78L$X$%JDY 8>];S,0 (NW\VG MY/#@B!P0EZB,2E#(1.X*IM4Q!G'\+1.50IP:NAH-&!ENTH@=UV*#-\2&N&VA M,T4^%BFD'?C)?OQ@#][%PK75"[;5&P=[";]418^$WC$)O"#HTO//\&=RPO8P M0\L7OL$WKA1&E"([ITI^?L48N=*0JU]=):\I^]V4IHEAR^]_(GOFOM^Z[^]CCV]A#44%71YKX, "35];QV=!Y$=#=[TK_G66 M'YU&T5/:,UE1*RO:*^L&6S$7JO-SCU[M>.('473^0EA76GCN];N%#5IA@[W" MIHQ7&E(KCI0@Z_^5'.(_6JGT*7+4I;RF/MN5Y/7\E\([LP+_A6YWIWWE(%>V MJRN2B*K0=2=KH^W%<6G[I?N47M\ZUU2N&'8R#DN$>KU3+)VL.WD]T:*TS7 A M-+96.\SP\@-I$G!]*83>3LP&[74:_P%02P,$% @ W(0#5Z%_LG)V P M_PH !D !X;"]W;W)K&ULO59M;],P$/XK5D!H MD\J2IFO6C3;2NHTW,9A6!A\0']SDVE@X=F8[;??O.3MI5B!DXO5+ZW-\=\]S M=S[?>"W5%YT!&++)N= 3+S.F./%]G6204WT@"Q#X92%53@V*:NGK0@%-G5+. M_3 ((C^G3'CQV.U=J7@L2\.9@"M%=)GG5-U-@I1,O ML(B 0V*L"8I_*S@#SJTEQ'%;&_4:GU9Q=[VU_MR11S)SJN%,\H\L-=G$&WDD MA04MN;F6ZY=0$QI:>XGDVOV2=7TV\$A2:B/S6AD1Y$Q4_W13!V)'(3S^B4)8 M*[A ^)4CA_*<&AJ/E5P394^C-;MP5)TV@F/"9F5F%'YEJ&?BYY0I\H'R$LA3 MLB.\6Y S*0P32Q#&+C5+05$7R2MZ1^</"1/D?29+346JQ[Y! M9-:^G]0HIA6*\",#IGG!D&FEQ#(D6"4A6A3]>2Q5/=$$3F'AXUS2H%7CQDT?]*'C60>*P(7'893W>26SR36*+ M*K$],H_E7\2 OOP09;J08+ M1X#IR&/4!"OZPSR"2!](8O1#$OM1%+4G\:C!==2)ZRULS*Q ZJT>.W5_L_)' M#;+1_[F^HW] XK@A<=P9WM/DMF2:.:0IEC596%8KU[:QNI,'JJ*-3N5PN%,% MQX.PO0CZP?W+$G3BO"Q-23EV=@QSJ]=N_=^,8G_GY>O_GV*H_?QE'N$]C["[ M#604TVU?X%\K!-N8>(GOK55M;57[K6S#'UK&TW X//RN7/R=F01;Z-)-7AJ1 ME,)4XTFSVTQWI]5,N@F7GCKU!+ P04 " #YCV8,(!5AT[M1UHI?WXV0Y$4*796C&I+\1.[KZ[[_.= MN>Y*R'NU0-3PF#"N>MY"Z_3,]U6\P(2H8Y$B-U]F0B9$FZV<^RJ52*;.*6%^ M& 0M/R&4>U'7O;N145=DFE&.-Q)4EB1$/ITC$ZN>5_K;]$::G5^@3&F"7%'!0>*LYWVIG_4[UMX9W%%[MYG+:\P*; M$#*,M44@YK'$/C)F@4P:#VM,KPAI';?7&_0+Q]UPF1"%?<%^T*E>]+RV!U.< MD8SID5A]PS6?IL6+!5/N%U9KV\"#.%-:)&MGDT%">?XDCVL=MAS"\ 6'<.T0 M_JM#8^W0<$3SS!RM =$DZDJQ FFM#9I=.&VC7 MJ$*/OCYD5#^!LA+ERJVH7IC; NR50MF3:2F-TA2N$VMFY5[F,:'_4X7:!$^+TY?'-7Z?QX:S"@*K;I MPHAH+,NY$OZU)[HGL!TEFH42S??8$F0@]>#K=(.CNO-YK,&J,SAC0Q/"X:GE0R'FVR7]C[UVQ/8CGZ=0K_._VR73FF[!(UG[5*9 MPVL9^EO3EIUTAT3.*5? <&;@@^-3<_W(?'K,-UJD;@";"&W&.;=YL(Y>KD4>\NP-7;#8W[H _'B[H#*_1 M?%I<*KOG5RP)2U%H)@4HG(Z\M^1H0OH.D%=\9KC2M6UP4FZDO'4[9\G("UQ' MR#$VCH+:OR5.D'/'9/OX7I)ZU34=L+Y]QWZ:B[=B;JC&B>1?6&+F(^_ @P2G M-./F2J[>82FHY_ABR77^"ZNR-O @SK21:0FV':1,%/_T1VE$#4#V[P&$)2!\ M+" J 5$NM.@LEW5"#1T/E5R!_BN<"&5L?85MI5NVOO";)/6RN7N\".]H#&./'L+ M:U1+],;__D/ZP7_;A'9$UI =5;*CG#UZ,&8[]X6K"I:-TCI(KJH1ER)97\_M M!>#,8*J_;3,NZM*XCL@:QNU7QNVWYF5"]1SP>\:6E-N0;+T!"H9^SN >V\LQ M.1R$A S]95W&9ED8] 8'@ZJLT6"O:K#7VN#_VC#[-+5/@&G]>?! L%LYG[H^ M'9$UY/Q^E\9U1-8P;E 9-_CK8!<,O8>"O5G6%NR#JL&#U@;/<8D< M"/R"YT6\E?VI*]416<.(P\J(PQ<5\<,NC>N(K&$<"=;#5?#7(2\I'DSYEKJV MF)/:!$@>$?3PV4%OIW_J@G7%UC1C/9Z1\$6%G70ZXG7%UC1O/>21UE'H<7&/ M-F(<_)GTMI)F:^LQBK3/447(H^>'O)7^R>O4$5O3C/7(1GHO*^2=CGM=L37- M6P]\I'4L>ES(^QNS]D;(VTJ*UOS::[W[IF+?D&=,:. XM9A@;V"-4,5GBF+' MR$7^IG\CC9%IOCE'FJ!R!?;\5$ISM^,^'E0?B\:_ 5!+ P04 " #X" )" &0 'AL+W=O6K:;O11MI:,4!"5/OB ?'@)K>--2<.MM,6?CW73A9U;59X MX"6QXWO./??XQAYOA'Q2&8 FVYP7:N)D6I>7KJN2#'*JSD4)!:XLA-[ S2DKG'ALO\UE/!:5YJR N22JRG,J?UT#%YN)XSO/'V[9 M*M/F@QN/2[J".] /Y5SBS&U94I9#H9@HB(3EQ+GR+Z=#$V\#'AELU,Z8F$H6 M0CR9R:=TXGA&$'!(M&&@^%K#%#@W1"CC9\/IM"D-<'?\S/[!UHZU+*B"J>#? M6*JSB3-R2 I+6G%]*S8?H:DG,GR)X,H^R::.'0X=DE1*B[P!HX*<%?6;;AL? M=@!^_Q5 T ""?P6$#2"TA=;*;%DSJFD\EF)#I(E&-C.PWE@T5L,*LXMW6N(J M0YR.YQ)*RE("6^P+!8K0(B5"9R QNY10:$*5 JW(Z0PT95R=D7?DX6Y&3D_. MR EA!;G/1*40IL:N1D6&UTV:[-=U]N"5[)^KXIR$7H\$7A!VP*?'X3-($.Y; M>/ 2[J(/K1E!:T9@^<)7^9: -:=D*I16/3*E)=.4L]^0]DCC5,\Z]-4Z=%4[ M,V,JX4)5$LCWJX72$GOS1Y<9=?9^=W;SOUZJDB8P(S]H&NZBJT9!I;!G"7KN#^*^F-WO5O$85 8FDY8=XCKM^+Z M1\4]4EX!H6EJ=FTE1%HWM?& )4 TW6*;2TB K>F"0Y?V.D&T(ROP_(L][8=! M?CCJ=VN/6NW14>TW%96TT !X%)5",>RNDN,NIETJHPZ5WK[#'4'!1=2M MW0NA\2:PPPSO:I F ->70NCGB;D.VML__@-02P,$% @ W(0#5](+2YHP M!P &CX !D !X;"]W;W)K&ULM9MM;]LV$,>_ M"N$50PNDM4B1LITE!EJGQ3JT0-"LVXMA+Q2;CH7JP96H."WVX4?)BBG:U-DR MR#>)[?#^NCN>J5^.U-4FR[\5*\X%>DKBM+@>K(187PZ'Q7S%D[!XDZUY*O^R MS/(D%/)M_C LUCD/%[51$@^)YP7#)(S2P?2J_NPVGUYEI8BCE-_FJ"B3),Q_ MO.-QMKD>X,'S!U^BAY6H/AA.K];A [_CXNOZ-I?OACN5193PM(BR%.5\>3UX MBR]G :T,ZA%_17Q3M%ZC*I3[+/M6O?FXN!YXE4<\YG-1283RUR.?\3BNE*0? MWQO1P>Z:E6'[];/ZASIX&C >H 5?AF4LOF2;WWD3$*OT MYEE.=R.5?(VDGIK>YK(A<_$!AND#O MOY?16LZ1N$"IK*"7-UR$45R\0J_1U[L;]/+%*_0"12GZ?-]=YMKT!B$=\@_D,-K_A/?##] M]1<<>+^9 K<1>C5\; =T.&I, M,-L-TARE.T?I28X:Y^L"O7^:Q^4B2A_0+%Q'(HRCGWR![K*EV(0Y1[.L$,:: M!2_:=R(MB6GY8;O\,(?US&RFP9*8EH9@EX;@K'I^R+/"6 !;.=:NZ!'#H[V* M-HQB/L7FDA[M?!V!OG[B17&)WL[G95+&H9#UNN R)?,HW-[G9 1ADN4B^EE_ M8/)^=.#7:^P%X_&>^X9AXP!3L_OCG?MCFTO'^,"'8$PF>XX:!HW(R.SG9.?G M!/1SEB7K4O"\T!TU^0@*]?T:6!+38L:>NKM[#M>#1MQ2)FRIZ:EH@0ZVNR8T M>MIMCHPF^]^J9IBV*N!@-#&7*U9D@L$[?E?!HO_0YRB-DC(Q^FP526RIZ1E0 M4()]E\4+(D_O5%A2TU.AL ?#W/.^$%%2WQR^%GQ9QNA3M.3&J&$=@G[P,#>5 M^PRV/#="!2X8! *HW,.GSG*W2BRVU/0,*&;!@FI4$B$828Z MO=QA'0:4.VAY;H2*FC",31_*/(U$*?\IJ:9Y&3U5K\VW(5"H]\1:4M/#5A"& M)RYKW"J9V5+3&P\*S0C(._UYI-'3>&3D!7LXTHS2<*03\HFB)P+3D[E>81B! M)7OW1RRIZ0EH-8J<=HKLMHI<4.XN<(LHW"+' M6E!AP5=9O$!1LLZS1U[-LOD>9(F:FK!=,!A1#$;&+HO<*I?94M-3H;B,P-VQ M_C R,31'V'YOI!FE=?)H8&817Y&3#Y.3N5QA%H$E^\Z6+34] 0K&?.RP<'VK M6&9+34^%PC(?[I*=O#H?T0$:([#EN1&VMN9@2NJN]FX6@25[3[$+&/,5C/G4 M9;5;Q3);:GHJ%);Y<)/L]&J'=<9 M;N@+5_1E@]3TO->K3$HJRTN6VIZH(JY M_)'+JK;*8;;4]%0H#O//VT+LA(]&3X,//-GOA/B'VXC88WX'?2A4\F%4VITF M@'G#:JO*EII^YD(!%W6YBTBMHI04^H@/T/F#+K-W(T>FWD8&S_W!(]/&'ETXZ#(%3A$87QJ+-@80*!57O/EXO^%%7015WN M&U*K,&9+33_@J6",P=VODU?H(SJT>X6&+<^-4#$6@]D(+/AN)(%5>Q]?=4%A M3%$8<[G=R*S2F2TU/16*SIBE[<8C.@%0\"Z@BRGH8C LM0^K%\_XO>"//,ZV M\SWO.K@."_>>:!=DQEIGUYT>7K=[>MT%JC&%:LSR ?9&3^.3L8_W (4=GF / M"/;,A,(433'G1]B9X7 Z"?S]GHYI&!U5CP(9(U",Q:R>8F>'#2@?3]B^LX8V M%6V=RM=]52S$CIQD/VFU@.$0OD3O+XL+(@H4$04NVU.!U?:4+34]%0J= DOM MJ2,ZP'88;'ENA J,@B/'XD^N_FY2A"_1>\I=X%&@\"APV;P*K#:O;*GIJ5 < M%5AJ7AW1 9JSL&7?"(>M!W>KIZ8_A_E#E!8HYDLI[[T9R1M=OGT0>?M&9.OZ M6=[[3,C_BNJ7*QXN>%X-D']?9IEX?E,]'KQ[''SZ/U!+ P04 " #*%XZT=1%GA>Z%">9,QV7G]WRZ9CE,DTRTZQ <&&MU(J+LC:EM\HFR8IAO)-<[ MW79< 5N ELUE:0/>7A&)DU2\4X;W=U?@[9MWX U(,O!UQ7*!L[D8NU)%5_R& M&U>1?-A&@@Y$\F>>G0/?>P^0AWR-^\SL?D5BY0Y+=]1U=U5-ZL*@NC"HU/,/ MZ'U,LD22LQO59'--!?ZY4?;@6A(J_M7ENA4/].+%W+P0:QR3B:,FGR#\D3C3 M7W^!H?>;+G-+8ITZ^'4=?).ZKD&6G GM &^5PE*I6#\>IWXP#-1H/+:SV;=" M0>2'M54GS* .,S"&>4.$N "7<9S3/,52C1FFC,OD/URL%KI@MWJ#5AAG(?3@ M3K :JR (H3[801WLX-B:JDFG"W*P]_,H"H/=(#56GC\ M1OYHIT.CO0Z%HP %^@X=U6&.3NA0\#_XI,:1YE07KE'QV#&R)-9)'GK-/[?7 M9[=6ZI9*84NM6XL6Q4!C*_PN9$++9?]>D$6>@IMD0;19FW4B\(-@KFOTF=GS MU P;'('&?WE#L^.G0\UNECQZB/O $-AP"/1[;7]=JI5^K*EUMT>:/ +&9'F]6OP"SJ&)=CL>6J2A,PQU6_PP M9IAECM[LZ(.S4&O;I]]]'[L;/WT@%VJ0"YGW?E[?XF8=Z!EZO ^20@U)(3,! M7<;?\X2K# 5;R WF^O0LH5"5<1]@A1JP0H->&]PJ>=E2Z]:B(2]DWN-Z?8.; M=:HU'(2 LDRN](W>!UBA!JR0/;!"^V U&@UVN KM2K(KR\F[P( ,<) 9 >&PO=V]R:W-H965T8^3V*,-%\\R!5!HFU$FQU:JU.K:MF6<0H;E%5\!TW<6 M7&18Z:Y8VG(E ">%**.VZSBAG6'"K&A47+L3T8CGBA(&=P+)/,NP^/T!*-^, MK9ZUNW!/EJDR%^QHM,)+> #UM+H3NF?7+@G)@$G"&1*P&%N3WO5T:,87 [X1 MV,A&&YE*YIP_F\YM,K8< P048F4R^$6;:JQCH3B7BF>56!-D MA)7_>%OET!#T_%<$;B5P_U7@50*O*+0D*\J:886CD> ;),QH[68:13:%6E=# MF%G%!R7T7:)U*KIE"K,EF5- 6$I0\A(Q_>R\0S>YR@6@2<:%(G]PD?G'K7YX M)$AT/@.%";W0XYX>9NC\[ *=(<+08\ISB5DB1[;2<&8*.ZY /I0@[BL@7W)V MA3SG$KF.Z[7(I]WR&<1:WBOD[DNYK2.I=\6P7\R>Q&(5P?B=;E'9EG0.6QCFB>$+9$D6Y1QIE*)@"60(+V 4,ZV6\6+ MMD#*6<)B%O.)66OG@3.RU\U".U%.+-2O"_6/%>JW@9>JH 'N._Y@#[S3^D3P MH 8/CH$';>#! ;@7^ON)=UJ?"![6X.$Q\+ -/#P$[X7[B7=:GPC>K\'[Q\#[ M;>#]%G!O/_%.ZQ/!!S7XH!/\,06]Y2\4B#;\P0%^SPWZP1Y_YPPG\@]K_F$G M?_NNU5;+\/!S,PC]WEXM+:,+9JI/6B#, 'U_P;G:=&ULK59K M;],P%/TK5IC0)L&2YM5TM)&V#@0(1+47'Q ?W.2VM>;$P7;:[M]C.VF4M5XU M)+XD?MQS?,[-M9WQAO%'L0*0:%O04DRN*; 4%%N>L@E+-+!@OL%1= MOG1%Q0'G!E10U_>\V"TP*9UT;,9F/!VS6E)2PHPC41<%YD]70-EFX@R_/0:)"94G"FB^]MK='IRADX0*='=BM5"8<78EQQ>BPAE,'+51!? U..G;-X/8 M^V"S^Y_(GID/.O/!,?9TRDI)RJ7^[!E3.ST'CLUNK9JLV,PWC+%AU&?..AW$ M<3QVUWU3AT&!GR1=T#.Q82]H.@\)A8)<6 M==*BH](>,*T!X3Q7\B3>'DM?="@Q"??39PD*PLBN,>XTQJ]*W^[DL(F+#]>- M_<&>N,.@Q!_9M0T[;&PO=V]R:W-H965TA-H,:9>^;DSYLK!N(TB3BBUA!O:YFFBT M@I8EYR5(PY4D&A9#>M<=C'HNW@?\Y+ Q>VOBE,R5>G'&0SZDH4L(!&36,3!\ MK6$$0C@B3.-OPTG;(QUP?_W*_M5K1RUS9F"DQ"^>VV)(/U.2PX*MA)VJS3=H M]-PZODP)XY]DT\2&E&0K8U79@#&#DLOZS;9-'?8 W=X)0-0 HK<"X@80>Z%U M9E[6F%F6)EIMB';1R.86OC8>C6JX=++K6("T1G,VYX):C]R.9@F 6 1.F_<[U&"SCPMR@[WDV)M=7-^2*<$F> MN!!X428)+.;I3@NR)J?[.J?H1$Z/*]DA& U.Q#(84^\R 7@--W[_K]L,OQ[1=B.Q M:=PJC3U[_!:EY(=FTK"ZVWY_QU#R8*$T?XZ5(+YD"2Y$=E""7EN"WMG+GK = MFPLXIK$&=NM.O[4AE65;^&YLC@0_++ D0W:!:!_H91]-=Q4:'\"Z3]02P,$% @ W(0# M5_N4MDI)!0 >B\ !D !X;"]W;W)K&ULM9IK M;^(X%(;_BL6.5C-2MXG-I646D%KL:KN:7@3J[H?5?C!@VNSDPCH&IM+^^+63 M-,%M<,G,X0O$2E%I]]KQT_B0BGIXF M*Q'K*\M$1ESIIGSTTI44?)$%1:%'?+_G13R(6Z-!=NY>C@;)6H5!+.XE2M=1 MQ.7SI0B3[;"%6R\G)L'CDS(GO-%@Q1_%5*B'U;W4+:^D+()(Q&F0Q$B*Y;!U M@3\STCO%L.6;7R1",5<&P?771HQ%&!J2_AW_ M%M!6V:<)W#U^H5]E@]>#F?%4C)/PSV"AGH:M\Q9:B"5?AVJ2;'\3Q8"ZAC=/ MPC3[1-O\WJ[N<;Y.51(5P;H=!7'^S;\50NP$X,Z> %($D$,#VD5 ^]" 3A'0 M.32@6P1D0_?RL6?"4:[X:""3+9+F;DTS!YGZ6;36*XC-'V6JI+X:Z#@UHF*F MT"_HEDO)3"DU)PDO':>WA?=!LE2S268A$H=,7G01BH9_17=N%:B2C]NT[B MG-JIIYIR\CE=\;D8MG2]2(7F-?09N2? M=@?>ID;X3BE\QRE\5H3T6RQ5/%YHG>OD=1*:RIO#>KMC*$>0:_;N'0SH!UF" M=4O!ND[!+O6K$4VX$N@_79=C\R^MT\P)::H9)(Q"PA@0S,I$K\Q$[RCEO >9 M&D@8A80Q()B5FK,R-6?O/21!BO+Y,])ST@V7 9^% NF9CJC+28[K6Y7-Q_9C M/W;VV51K2!@#@EE:GY=:GQ]>D/+79IW"3DC3?STDC$+"&!#,RD2_S$3_* 6I M#YD:2!B%A#$@F)4:[%=FRX6)\7%,,09U MQ: T"DIC4#0[094SQFYKW+QPM>LF4^1UV0+UN: T!D6S%:\L,79[XG?+UOY9 MEIO<^*F I%%0&H.BV3FJ7#CN'J=L@1IS4!H%I3$HFIV@RIQCI\'\CK+5JYUO MD3?S+5#+#4IC4#1;\\IU8[?MICP(G]$TB%9:9U/%3O3G[?7%B:EFTXO)W>TA M,R](9SP&I5%0&H.BV=FJ?#L^/TX) [7RH#0*2F-0-#M!E9W'3DOZ'26L?]#, M"]2B@](8%,U>GZM,.G&;] 8%;/\ M'I1&06D,BF8G:&>]VVE-FQ>P@O?N',S=;V/-89>QCV'72677B=NN3\0F"3=F MQ?K58U&K-^C*-2B-@M(8%,W.2F7I2>CLN/D.':<@-IQ4!H% MI3$HFIV@RHX3MQW_P5=$_\TK K\I5:#.')3&H&BY^-[.MF6S*_V&R\<@3E$H MEAKOGY[IDB[SC=YY0R6K;"?S+%$JB;+#)^TJA#0WZ.O+)%$O#;,YNMQN/_H? M4$L#!!0 ( -R$ U&PO=V]R:W-H965T<=NC0ESDMC:+D42\U91PN!2(-G6 M-1:_%T#Y9N[XSM9P15:5,@8WB1N\@FM0-\VET#-W8"E(#4P2SI" >W9O*EF#N><0@HY,HP8/U;PQ(H-43:C5\]IS,<:8"[ MXRW[9ZM=:\FPA"6GWTFAJKGSP4$%E+BEZHIOSJ#78QW,.97VBS;=WNC$07DK M%:][L/:@)JS[X[L^#CN T'L"$/2 X!$@")X A#T@?"D@Z@&1C4PGQ<8AQ0HG ML> ;),QNS68&-I@6K>439M)^K81>)1JGDBM8 VL!O4<76 ALDH .4U"84'F$ M#A!AZ)Q0JE,D8U?I PW,S7OR14<>/$%^C,XY4Y5$GU@!Q4.\JQT=O VVWBZ" M4<*O+9N@T'N' B\(T&0F]#RAL_DIA2\1DL=2:%?B;X?JD)+>S- H!^GF;3VG_O2T_%'^_E-19G) M!NG0\5+7K88+ MA3,*V^Q+]&?D(BPZXJDE-A5UG?BQN]Z-TK,[TE'G_E/Z=) ^'94^W")*<$8H M402,XH-]6CLFW]^1XDVB1W)'C_O72['G1']R'[Y.L;M3[/0+6-FF(5'.6Z:Z M2C)8A[YT:LOQ(_O"GRV[]G)/TS6[&ULM9M=;]LV%(;_BN 5 M0PLTM4CJ,TL,-"&S=5BV(&VWBV$7JDW;0B71D^2D_?>C9,4R*9JQE^.;Q++/ M>>BC0[W6*U$7CZ+\6BTYKYUO>594EZ-E7:_.Q^-JNN1Y4KT3*U[(3^:BS)-: M;I:+<;4J>3)KD_)LC%TW&.=)6HPF%^U[=^7D0JSK+"WX7>E4ZSQ/RN]7/!./ MER,T>GKC/ETLZ^:-\>1BE2SX1UY_7MV590U)?H]_.^AH M.V:3N/OZB7[3%B^+^9)4_%ID?Z6S>GDYBD;.C,^3=5;?B\=?>%>0W_"F(JO: MO\[C)C:4(T[752WR+EENYVFQ^9]\ZW;$3H+DF!-PEX#U!&]/ ND2R*$C>%V" M=^@(?I?0EC[>U-[N.)K4R>2B%(].V41+6O.BW?MMMMQ?:=%,E(]U*3]-95X] MN>OWKCO'+2POFT M%.LJ*6;5Q;B6WZ4ACJ?=N%>;<8ES*XIZ63FLF/&9(9_:\P-+_ECN@^V. MP$\[X@I;@;^NBW<.<=\ZV,7$\'VN#T_'IG)>-CK[WZ,K.X-L9P5I>60/;_]< M^/LW&>I\J'E>_6/J^H;KF;F-ZIU7JV3*+T=2UBI>/O#1Y,5'H]32E5'];JF\O5?XFG4F!.9._"+Q,D\Q4K15Q[)2#A%%( M& ."*7T(MGT(3J0' 61S(&$4$L: 8$ISPFUSPA?JP2;?WSDX@QAY1-.#852( M7%<[T.DP"I$X"&)-#TQA 78CLQY$VU(C:ZDWZ3<^.YMS;JK2FGKL5(.$44@8 M X(I^S_>[O_X1#H00S8'$D8A80P(IC0'N?VYO/M")>@ OOJCCS0E,$0%A&AZ M00U1*,21=@+!3&'8)Z%9"=".<4'68O^HE[R47M52K!5P[*0#I5%0&H.BJ:W M?2OPB62A T.U"))&06D,BJ:VJ#=TR&I)#I$&,CA.O2#2E6$8Y.JR< "'63EJ MB;TM0G9?=-]>I3"69DT\>I9!TB@HC4'1U!;T=@WYIQ("4!<'2J.@- 9%4UO4 M.SED]2*'"$$P.#9QX!+]\H$IS/=\W2\8PGSDX8$@#,.\*/3C/:+0>R/TC#GB MTV4A,K'X_M:YY;,T<9)BYGQJ+E2+W%B]E7?T1(2D45 :@Z*IG>FM'(I.I16@ M3@^41D%I#(JFMJAW>\CJ5P[1BG@H IX;![I6&,((B9&N%<,PWXW=4->*89CG M163/M4;NN'K;[E (GH (K_=Z-0/YTPA07RX-/G1GGGTE .]]P5*8U TM0>]S\/> MJ50!U >"TB@HC4'1U!;U/A _<]_N>57PAY<80T^_W&"(\ETOUC5A&(4(#HBN M"<.PV ^#/9+0&RIL-U3M=4ACB:#WOD!I%)3&H&AJ!WJ/A\-3"0*HV0.E45 : M@Z*I+>K-'K;?N#M $"+#T1E[NB ,HT+BZW.N]S7J;3Q%@KZ-TP4!H%I3$HFKJ*J7=TQ#V1,A!0CP=*HZ T!D53 M6]1[/&*_C?>\,G0 Y50!Q9XN#:8P$OC:*04UA"'L1[%^MF",0SC8<]^2](Z) MV!T36Y=B9700]L2CYQSHS3!0&H.BJ2W86=UXLN6-L.L;81I]'7KK0L0.HRY!# M71&&09%^)\(00R)/%P/[:)LJQSO/9DA'L&@?BJF3+C91,@/Y\+43]M- -L'U^:_ =02P,$% @ W(0#5[%7 MW!+S P @AH !D !X;"]W;W)K&ULM9EMC^(V M$,>_BI5*U57J;1Z!70Z0%I*H5_6JU:ZN?5'="Q,&R&T24]O 5>J'K^V$0%#( M+KW9-Y X,[\9SS\9)?9HS_BS6 -(\BW/"C&VUE)NAK8MDC7D5-RP#13JRI+Q MG$IURE>VV'"@"^.49[;G.'T[IVEA349F[(%/1FPKL[2 !T[$-L\I_V<*&=N/ M+= +Y>?/ U9E=4Q9I#H5(64$X+,?6O3N,W4 [&(L_ M4MB+DV.BIS)G[%F??%R,+4=G!!DD4B.H^MO!#+),DU0>?U=0JXZI'4^/#_38 M3%Y-9DX%S%CV9[J0Z[%U:Y$%+.DVDX]L_PM4$^II7L(R87[)OK)U+))LA61Y MY:PRR-.B_*??JD*<."A.NX-7.7CG#L$%![]R\%\;(:@<@M=&Z%4.O=";O0I TS<1/^K+)!7B;W?LJ4^ C6ZJD--I.J@2F90+>A01\ M\HD5(?=OOW._QM58RZ(MZA(E.O$_CKMK@AOO,S\1S/;\EG]GIW MKVTZWQ<]^K[H<;=["(ER=]O<&[7TZ[O+-[S@ N^)9B#(O\>;QVV[03H9NK4. MQ88F,+94[Q3 =V!-?OS![3L?VM3!A(68L @3%B/!&JH&M:J!H?N7[I)4T-6* MPZIL 6Q)#EWDK]^4*?DH(1=?VI0.,)7&A(68L @3%B/!&DKW:J5[G<]OL]=S MW>LWP/60>NMH$[C$W1F=C*N?3@P82$F+,*$Q4BPAJJ#6M7!&[7! :;2 MF+ 0$Q9APF(D6$/IVUKI6]PVV(F[5N#;]@;GGK5+S)A1>TQG<-94D6(V1+FK M1;GK%.4^2=BVD$)]WR:0[N@\:Y6B$W*M%)BP$!,68<)B)%A#5M\<2>YTE_ES,TRR#Q0O-LIMR]0.$20M1 M:1$J+<:B-=4]KK*X_EMU3-2U%U1:B$J+4&DQ%JTI^'$!QNW\ZK^R8P8=_:02 M#G4MY>6 $6K N#-@66+[9(E<%6IE-C,$,:^0Y7IF/5IOF-R;;8*S\:D[G+DM MXZ$[C,KMD".^W)WY1/DJ+03)8*E".3<#E2&PO=V]R:W-H965T X!V6I;AJ&JV>XRESGF<$O3;TDL5F/-TU ,"[Q) MQ8SNWD&9CZ/X(IKR_!/MBEA7*D8;+FA6@N4X2TCQC7^5/AP )$\SP"P!9AU@ M/P*P2H!UKH)= NQS%9P2X)P+<$N FWM?F)4[[6.!)R-&=XBI:,FF'O)RY6AI M<$)48]T))M\F$B/2K6;0LU\1,U"GR@1*XX"$D/<@/?;\6X+7I>9 M5^F;^_1OS%;"#QMRA2SC-3(-TVI8S^WY<+,IG7]3#_Y-/6R'^Q!)>*\)?N2E M5;62E?-9C[;20P/]1I\9)AP7V\?WCS(4O1>0\1]-35/PVLV\:FL=\C6.8*S) MO9,#VX(V>?FBYQIOFRK6)9G?)5G0)5G8$=E1I>VJTG8;^W[3:-P "J2;(]6I MMIWT^Y8M^VM[6*3&*,LYCO)/HWI.WS9K9$%#F.WU[1I;V)K3,QUS*L><5L>N MHXANB.#R+(X@V>)Y"DWF%23.02:VYQEVS;Q6J:=V^%F209>2H7-2+]NS'*^2 M/'+8K1QV_]*3![M/D[>M\*=N,EV2^5V2!5V2A1V1'16T7Q6T_Y^.DWZ7E>Z2 MS.^2+.B2+.R([*C27E5I[]G'B7>R/9F68=0V1*_A *@'^:=,,J86%)PRF6X] M*&S-YIE>#2JO!ET<)(-31\P3VUJ5GMK:YR@&72J&IXJ# \'"7?W@9I0!6^9W M6(YR#XM?MM5L=4V^SF^'M?F;WO"VUS#O]X9!<0M^H"_NY)\P6R:$HQ064LJX MZLO68\4]MQ@(NL[O97,JY"TO?UP!CH&I /E^0:G8#Y1 ]6?#Y ]02P,$% M @ W(0#5^#9&ULM95M;YLP$,>_BL6D:9.R0 A)N@R0ED;36K5;U&K;BVDO'+@$JWY@MBG) MMY]M",JDP(MI?0-^N/O[=W?FB&LAGU0!H-&!4:X2K]"Z7/J^R@I@6(U%"=SL M[(1D6)NIW/NJE(!SY\2H'P;!W&>8<"^-W=I&IK&H-"4<-A*IBC$LCRN@HDZ\ MB7=:>"#[0ML%/XU+O(='T-_*C30SOU/)"0.NB.!(PB[Q/DZ6JX6U=P;?"=3J M;(QL)%LAGNSD)D^\P (!A4Q;!6Q>SW -E%HA@_&[U?2Z(ZWC^?BD_LG%;F+9 M8@77@OX@N2X2[\I#.>QP1?6#J#]#&\_,ZF6"*O=$=6,;!1[**J4%:YT- 2.\ M>>-#FX!(]P6Y5%+LTN, MGT[OP(2DT#OT!4N);8;0FS5H3*AZ&_O:G&#M_*Q56S5J88_:;<7':!J,4!B$ MT[_=?0/6T84=7>CTHAZ]>\()J]@ED$%'>Y67JL09))ZYJPKD,WCIZU>3>?!A M &O:84V=^K0W:4H!C)!+W@BM0662E.Z6_;PSMNA& U._+F%/7P [ZK"CP6Q^ M+<&6F.\1;< EV,_6+FB0%[,\+!@A)K@N% HCE..C&F"<=8RSX8KC0U_%!QW_ M,77S#FO^4A6?OP#VHL->_.^*#PM&Z A8*O3^5/G)56_E_;.N9!O\/99[PI5! MV1GM8+PP!95-TVPF6I2N46V%-FW/#0OSGP%I#U_VYTC]02P,$ M% @ W(0#5]GTYQ4# P 80H !D !X;"]W;W)K&ULK59=;YLP%/TK%JNF5EK+5X F2Y":D&J;5JUJVNYAVH,3G& 5;&8[ M2??O9QO"$B"TVOJ2V)=SSO6Y-O@.MY0]\00A 9ZSE/"1D0B1#TR3+Q*407Y! ME8EF]F$!,C'.K8+0N'="U23- M WR=99#] M'J.4;D>&;>P"=WB5"!4PPV$.5VB&Q$-^R^3,K%1BG"'",26 H>7(N+('TT#A M-> 1HRW?&P/E9$[IDYI\CD>&I1:$4K002@'*OPV:H#150G(9OTI-HTJIB/OC MG?JU]BZ]S"%'$YI^Q[%(1L:E 6*TA.M4W-'M)U3Z\93>@J9<_X)M@?4\ RS6 M7-"L),L59)@4__"YK,,>P3Y&<$J"4R?TCA#F\$K"=JZ67C7 MA8N@@.&0T2U@"BW5U$!77[-EO3!1YV0FF'R*)4^$7Y&L,@?G0 _ A'(!3B,D M($[YF0P_S")P>G(&3@ FX#ZA:PY)S(>FD+F5@KDH\XR+/,Z1/"ZXH40D'$Q) MC.(6?M3-]SOXIO1<&7=VQL=.I^"7-;D KO4!.);CMJQG\GJZTV;G_[)/_SG[ M03'KAMQPQ*#!9@52_C@OY.K9M1:'B:Q5U M$VS"OML?FIO]"CS6(3%/1K9S%J M8AP[J!5BVI(MZ-5=FGMW9H;82C!W ]6-#3%1-!)[ $14P#Y M?$FIV$U4@JJK#/\ 4$L#!!0 ( -R$ U?R:TPTM , )8- 9 >&PO M=V]R:W-H965T69[3E.9.>84&L\ M-'./?#QDI.1)GGF&\?(&.;D>5:NXE/9)5*/6&/AP5>P1SDE^*1JY'= ML"0D!RH(HXC#S@;8W!O\0V(B]9Z0S63#V0P_>)R/+T0%!!K'4#%C] MK6$"6::)5!C_UIQ6XU(#]Y]W[.],[BJ7!18P8=E7DLAT9/4ME, 2EYG\Q#9_ M0IU/J/EBE@GSBS:UK6.AN!22Y35819 36OWCIUJ'/8 7G !X-< [!H0G 'X- M\"_U$-2 X%(/80TPJ=M5[D:X*99X/.1L@[BV5FSZP:AOT$HO0G6=S"57;XG" MR?'?H%06Z ;-504F90:(+=&\+(H,5#5(G"%C@=[3JB;UXKZ:@L0D$Z\5[,M\ MBEZ]>(U>($+1YY25 M-$#&VI8M,>[+B.XZ&*PSL1AX\^,"I3@68T@:0#/SV/ MC\[@;:5)(XRW$^;!.TOX5TEOD>^\09[C^1WQ3"Z'>UWI_#_OL]_V?B"&WU2) M;_C\\U7R[7XA)%=[^WO7 E<403>%/N_N1(%C&%GJ0!/ UV"-7_[A1L[;+G6O M23:])MGL2F0'ZQ TZQ"<8Z_6 64$+TA&Y!85>*MW:>=^JY@BPZ2_%NOQP%6E MM-Y7N6W3"[U#FVG;QHT"Y]!HUF7D]ANC@V3#)MGP@F2Q$" %8@MUY%!(]#$# M3W&*Z0J0.I(:,0ATJE"Y"/<"\R,W.)*A;>2&QT;3ME$0^=&1#L\P'>@0-3I$ M9W7XR.A-C$6*J&H;ZLR5"MF^/$D)2+)Z+F<)69+8'-:=HD2M*+VC1"9MDYM^ MV#^2Y'F>61=//^H6I-<(TOM]07YNCE_3I->JX)N6*&V;MB87\,PZ>$YITF\T MZ9_5Y*OIB-3^P&O@JL%3/9SN$@E=U0)(X/D;+=,6,.]4X+P#OP*BGI+2?&@C ME.!M%]'D/)%7$PUV1&[_%-/T6B'-KA'2P;H,FG49_-JZ)$3$K*02<2RA:QDJ M/M?;JP[GUHF.SZQNLZ!W5(Z7L9:N2M_<:S1SXRG3X IF$JFZBF6TN$?>F M=SZ:?W#O)F['_%1=.JH[PD_ZZL;R ?,5H4)5\U*YK]D3.X&VD%S%1O_!U!+ P04 " #,@2/R*4.9E(SLV$=F(-ZJD#"8"R::JB'B[@9*OQE[H;0<>Z:)09L#/1C59 MP!.HEWHB=,_OLN2T B8I9TC ?.Q=A\.;T ;8%=\IK.1.&QDK4\Y?3>=+/O8" MHPA*F"F3@NC7$FZA+$TFK>/W)JG7,4W@;GN;_9,UK\U,B81;7OZ@N2K&7NJA M'.:D*=4C7WV&C:&>R3?CI;1/M&K7)IHX:Z3BU298]RO*VC=9;S9B)P#C P%X M$X"M[A9D5=X11;*1X"LDS&J=S32L51NMQ5%FOLJ3$GJ6ZCB5W8.V)-$E^E:# M((JR!;)#Z(&H1E!%]>3Y'2A"2WF!SA!EZ+G@C20LER-?:04FCS_;T&Y:&CY M^]JP*Q0%'Q .<(1>GN[0^=G%OVE\;:!S@3L7V.:-CKOX>3V52N@/_P[K6=GD9H\E7:.* M,U5(!"R''.F=@9:VW9X+EX>6DEB*.7#+#(8J4N5KK'2@^X&G2DP5'2,U>D1*6M!S5YT\58.0_]8-]E%)L/ M[8*'P=_2%!S%WX.40T2KNE'ZA%"F0!],Y:PZP9Z"R[!WR'ZX4QS#TQO@!(9[ M!S$,TRCY#^CO%&9SR3T0L:!,ZBV=Z[C@JJ\5B_;>:#N*U[963[G2E=\V"WW7 M@C +]/R<<[7MF/+?W=[9'U!+ P04 " #K+]F':!P>.@ HVLTV2_?O9AM DI:S;^@7LXY[G[CECG\=KRAYY M B#0)L\(GQB)$,7(-'F80(YYGQ9 Y)>8LAP+.65+DQ<,<*1!>68ZEC4TYCEFOZ:0T?7$L(VMX39=)D(93']$H)8A!/C M[-!\H?^WP-84UWQDCI61!Z:.:7$43PU()00:A4 Q8 MOE8P@RQ31#*-GS6GT814P-WQEOU2:Y=:%IC#C&;?TD@D$^/,0!'$N,S$+5U_ MAEJ/3C"D&==/M*Y\/>DNP Y \[0"G!CB' .\%@%L# MW-=&\&J ]]H(@QJ@I9N5=EVX OLCQE=(Z:\)9L:Z.IKM*Q72M1_8_)I* MG/"O2$AS0 )O@*-> *G&3]&']'#78!Z1\?H"*4$W2>TY)A$?&P*&51!S; . M,*T"."\$<-$U)2+A:$XBB%KP03=^V($WI=A&L;-5/'4Z";^4I(]?_''VO&&ZS_*[F<[N7_QYO4)#R,*.\9("^7RRX8'(/_VA; M[XK1:V=4Y]J(%SB$B2$/+@YL!8;_X9T]M#ZU%?LMR8*W))N_$=G>LGC-LGA= M[#N[$L%&M@0.J+< G$JCMN6I&(;:C;5&5:^?6H/QN9JM]2M3O:^4_#<:>"> M'C#-GSNY9V=/3'N2!XWD0:?D>1R#;AI:-<,"3E !+ 0B9+]J$UWQVPYLJ=LJ1R$MB:AV M>F-M.O>%;E@']JD]FMDM]D!V^JHQ/]%7UX1KS)8IX2B#6(:R^J=2!:M:;S41 MM-"]94&%[%1ZF,C;"C#E(+_'E(KM1 5H[C_^;U!+ P04 " #*=_?-1XQ_BM6 -(=%_DI9@X:RDW%ZXK%FLHJ#AG&RC5-TO& M"RK5+5^Y8L.!II53D;O$\T*WH%GI3,?5V#6?CME6YED)UQR);5%0_G %.=M- M'.P\#GS-5FNI!]SI>$-7, ?Y?7/-U9W;4-*L@%)DK$0S$T372H=PP=JMO/J<3Q],K@AP64B.H^KB#&>2Y)JEU_%U#G69.[7A\_4C_ M5 6O@KFA F8L_R-+Y7KB#!V4PI)N<_F5[7Z!.J"!YBU8+JJ_:%?;>@Y:;(5D M1>VL5E!DY?Z3WM<;<>2@.&8'4CN0KD/PA(-?._C/G2&H'8+GSC"H':K0W7WL MU<;%5-+IF+,=XMI:T?1%M?N5M]JOK-2%,I=@;NHUWFU7R=Y8IT^^L)*N18H*5-(#?YQOW_8 MX^^J/6LVCCQNW!7I!?ZZ+<^1[YTAXA'?L)[9\]V)*9S_-WORZME;F^$W5>17 M//^I*EI3#G557-,')20277).RQ7HZS.4W.M*4=^J[*,9W622YKI6SM!EP;;* M^L_?%!)]EE"(OTS5L9\_,,^OU?1";.@")HZ22P'\#ISICS_@T/O)E!J;L-@F M++$$:R4Q:)(8]-&GWYA*RI,/N"DI>UY8\?1_I+MIA >J'.^.-_O4"(?^,&I; MQ:=6Q NPU[9*#%8#+Q@V5JVX!TW<@]ZX9TQ(K7$<[J#<@BG07L!+J\\F++8) M2RS!6ED(FRR$;RPAHD Z3_WLU(9$ MI*,?IS:C85<]3'-ALW8,FX"'O0$GY4J- ,_*U1G2^TGY8GU6E6BJY"1G&UV\ MIL![N2^M1INPV"8LL01K)6?4)&?TQI(RLIE$F[#8)BRQ!&LE$7N'#L6S+"HU M\/A)Q]Z)K)BLU"^3CK 8K$@8=7[D)":K@4?,XH*/FC/<&_J'LI+ZU#J[38*BVQ16OG@QSR0=Y84>H%V$JE35ILE9;8HK53>>A8<6\O M]1I5\4^>\2'I=CL&(TR\;K=CLAI&PZZH_(=5._)#FX?[^[R?H02N8MV$O+DB;M-@J+;%%:Z?ET(7BP5MKB]4VUBHMMDI+;-':J3RT MLKBWR7J-MH0G)QM!-#KYQ7)JA7T2>5UU,9@%PVC4E9=3,^+A(.KHBWMTN%P M7U6G^D)%I$IN?T+8C#9O#BZK\_+.^!6^F&'#>*S?-%2'V0?\_C7%%\I5>R50 M#DLUE7<>J;3R_&ULQ9KO;Z,V&,?_%8N=II[4"]CYV2Z)U):==M,Z1>UU>S'MA0-. M@@HXLYVFG?;'SP8*(2'.H7NJOFF!\'QM?XSMYPL>;[EXE"O&%'I.XE1.G)52 MZTO7E<&*)51V^)JE^I<%%PE5^E0L7;D6C(994!*[Q/,&;D*CU)F.LVLS,1WS MC8JCE,T$DILDH>+EFL5\.W&P\WKA+EJNE+G@3L=KNF3W3#VL9T*?N:5*&"4L ME1%/D6"+B7.%+WTR,@'9'7]$;"MWCI%IRISS1W/R)9PXGJD1BUF@C 35_Y[8 M#8MCHZ3K\4\AZI1EFL#=XU?USUGC=6/F5+(;'O\9A6HU<48."MF";F)UQ[>_ ML*)!?:,7\%AF?]&VN-=S4+"1BB=%L*Y!$J7Y?_I<@-@)T#K- :0(('L!Y%A MMPCH[I?0.Q+0*P)Z&9F\*1D'GRHZ'0N^1<+F]XH'CY\,N1 %/-&/DZ19AWQ"OU,AJ.D5=.8S1:-8?M17'^Y]=/;A(_J MHA1]7?&-I&DHSY%<4<&DN7@;Q;%6D&-7Z0J:8MR@J,QU7AERI#)==,M3M9+H MYS1D84/\C3U^8(EW-9B2#GFESAOVY2'>X=#??M MX3X+RM*)I37=LJ^[F5[OB-X=DTI$@=)=+4VWHTT:J<9NLNJ8J>A2KFG )HZ> M:R033\R9_O@#'G@_-3&"%/.!Q&K\>B6_7J;>/396S"->C)6;W;%RI0=*NF1Z M.E1H_H)V[YO1E^SRU9:*$/WUFY9$7Q1+Y-]-W'N0W"'%?""Q&O=^R;UO?6YG M3$0\1'J1TRM-P)?ZJ=74F_A9==KRLU<*HQ=&11,JH$K44 U*5 -KK>[S67@; MJ=6*Q2$ZT_-Q/C-_;.)E%6O+*Q?#^>@Q^<;3U.OTQ^[3+AR@$FMPAB6Z= M!NS4FFH5:DL&4LP'$JL!Q%Z5@'KOO*H6%0!"#ZKF0ZG5X>]D_QAH:;4+M89H MK]8()7DBCPD*Z4O3>/*A*E0G1RIR!'*E+=3V5L=A?2J[L9?9^MD"4JL3JMP& MMMN-=LMM(;8[V8_P_EQ_8R^R-:"W[F4FG/]IG='@7Z?0' MY5WUMEW9"V(W%\0C MWM$EWA[;&A:HY8!2JW.K+ ?IOO=P!_TT JKF0ZG5X5=VAGRWG;$L8G;QUF / M30S&_0,7 U5HG5CE8HC=Q=PQ\V7>N+OBZRE]HE%,YS'+)LVE?F;5J1<+]B): M<^L?OJ88=KK[V-[B$P>I#! Y98"*V?%;DB.[5FL^H(8(2JW.L3)$Y+T-$0$U M1*!J/I1:'7YEB(C=$+5(CD#-SXEJD>RSID0799(T.IXD@7HD=V<32\+$,ML, M)/5"LDE5OI^EO%IN.+K*MMFXU>WY;J5;*I91*E',%CK4ZPSU?"7R#4#YB>+K M;$O,G"O%D^QPQ6C(A+E!_[[@7+V>F +*;5C3_P%02P,$% @ W(0#5Q(A M;SZ+!@ A2L !D !X;"]W;W)K&ULQ9IK;]LV M%(;_"N$50PNTEDC*LM0Y!M)DPSJ@6]#T\IF1:5NH+AY)VPFP'S_J8E$WT[(B M-_U02[)XSGD/CYA'QYSM8_:#KRD5X#$,(GXU6@NQ>6\8W%O3D/!QO*&1_&89 MLY (>/M @ MWE^-X.APX;._6HOD@C&?; T>75Z!J^O[%P M,B"]XYM/][QT#!(I#W'\(SGYN+@:F4E$-*">2$P0^;&C-S0($DLRCG]SHZ/" M9S*P?'RP_DQ,%W?R'65R-G!!9T2;:!^!SO_Z2YH$EBSXL#GOX/ M]OF]Y@AX6R[B,!\L(PC]*/LDCWDB2@.L8P-0/@!U'8#S 6GFC"RR5-8M$60^ M8_$>L.1N:2TY2'.3CI9J_"B9QGO!Y+>^'"?F]R+V?KQ+$K$ 7AS*ZN DS>\[ M<"]+9K$-*(B7(-ZHI/OB";R^I8+X 7\#7@$#\#5AE ,_ E\C7_"W\J(\_K*. MMYQ$"SXSA(PT\6=X>50?LJC0D:AL\"F.Q)J#WZ,%7;2,O]&/ATACP) I*O*$ M#GGZ@+06_]I&8X#-MP"9"(.O][?@]:N*^.RC+52]X5OJ2<,P-8RZ&JY(P,54 MX]03/N+I>UK28]WQ"/7HWD M$L(IV]'1_-=?H&W^UI:'@8Q5M%N%=DMG??Y/6K\-SV0*7LOZ7,1!0!@' M&\JR)+\!_Y42WY:/S(F3.DD6R-T,IG!F[LE!M*#V%3@JA$ZW0.\K2M3WR M*.#)LPVVR2/9)D9KZ-S)'D6*MWG%ZP[I-J!C%740E,QAMFI9"5&M6UCG-OY4*&$]=Q8'TAUH?55W8)K>"%GM3<<.51Q6CJ3NH" MM0'T%8B40'3^O-+T\_Q)12V3:MLFM.N:VVZLSGY5CN(CJ$600LZ.\@23I*## MU)&'X PEN"5 Z$)LUI5<@HB@0B)H#J)@[ M+[,B'D^L>@E<@IN@ B>H)94C*U0?M9D?:)V0>PEP@HJ<8!=T.KE<]=$_[:9_ MJB^*JBX%35!/31T6KCZ:G$X5? F0@HJDH!ZEKEU4*TJ6NZ"2 ),>Z4CA52H&U*U5WH?.; IQY[6BUP? M5=^94YR%>G#6_E#;)*]MKU3;XG1MG_ YR8:"*0BS3IH-%N2IO<&EMV1GEG29 M4(B&GH-H R1%[_Z0%#M/2FLV+D%U2%$=TG>ZD(G,HV_0^K'GKF=#6:LJ5?R& M)L]_BT:#=KF&LE95K' -=<.U@=ZCHE&SX35QIZ99?P_3N^\K3]$;ZD9OY[<) FRPHJL< ^RZMD'P>-"NUU#6JOL^%)M9/Z/K9;7TLS">UC=^-._"CH/;"]U2/&;]Y*:7U6QZ M0=.NU[@^JKX3I[#,>H&FUPF?T[R_XQZ:7M YVO4Z8[MX;U%LZMXB,TD;'D+)5NO^32W7;2&1['HNKQ1[3ZW1GI:%NSS:H?B), M$BX' 5W*H>9X*K&$97L^LQ,1;])MDP^Q$'&8'JXI65"6W""_7\:Q.)PD#HJ= MM_/_ 5!+ P04 " #DAD1_ZP?F+QR6RMI M5I"29[0$C"PFSAV\O4>1&J#?>,K(EN^< Q7*G-)G=?%'.G$\141RD@AE LO# MAGPD>:XL28Y_&Z-.ZU,-W#U_L?Y9!R^#F6-./M+\6Y:*U<2)')"2!:YR\4BW MOY,FH*&RE]"/>) M")SE_/W8%9)7>763ANV^9D,];"'X2DNQXN"W,B7I_GA7QMD&BUZ"O4=6@W]6 MY0#XW@> /.2#GX$+^ K+T)J#Q8/?IM/7'H(>#X]=>>)=H5OMJ%J\Y6N?8.C]:J$,6LI 6_=[*/^JBCEAZKO..@*O^8(K\ U;OJ$UBW]7 M@@LYN;)R^0',R3(K2WDJJR_7T^Q=5C9?[#WXK_/;U2'43H;:B5J=-E.$@F$< M1F-WTT$7MG2AE>X+PZ7ZP,=BA <8,/ ]S^NF&+44(RO%DYQI$D*5()-KG"[@ M8XE&!T0W<13'8=R-%+5(D15)+I,+DIV2FN@0!'HPBOQND+@%B8^?/T0?3YX\ M\>%70_$(PK ;#7IFP?6LQ?=-"X5,TMV&,"E\0,\G(%=O C[CC($GG%>D<[7T MKE"3<$@U5; MA\$^5QCTEV-; M?I#1#F37CM-;@\;@'HR/_-&P!\4( [(+PULT!XV+7;@@AL.PIV]!1AV0?Z7F M %WC#P4RFH'LFG&=YJ!QNKLX^_$@@#UI-CJ"[#IR87/06'^M;_&HA\N(!K*+ MQALV!XVG/49;[HQ<(/L?CXN[@\;^T=DS*H%.4(FWZ0X:CZ^[T]>H[LX&3$'8 M4F\S<9#0JA3U7DQ[M]W*NJLW<,SK]3[85\QD\7"0DX4FNIOA!T MK;=SYE0(6NC3%<$I8>H%^7Q!J7BY4 [:#;[I_U!+ P04 " #^;\@MO.W$WFTO0^*R#;3 "YDHCO_GU7@A",9>*TY$., MQ.ZSNWIVM4+C/67/?$N(0#_RK. 38RO$[LXT>;PE.>8W=$<*>+.F+,<"AFQC M\ATC.%%*>68ZEA68.4X+8SI6<_=L.J:ER-*"W#/$RSS'[.>,9'0_,6SC=>); MNMD*.6%.QSN\(0]$/.[N&8S,!B5))"G M1?6+?]0+T5( '+V"4RLX707OA();*[CG*GBU@G>N@E\K^.?&$-0*P;D6PEHA M5&15JZNH66"!IV-&]XA):4"3#XI?I0V,I(5,Q0?!X&T*>F*ZQ*Q(BPU'.P() MNL6,H&OT F?E!E!=(WF--^5 JN\@>$,\S1&N$C0(LU*01+4(-P#PH-"N%P0 M@=.,7P'6X\,"75YF@#"ELV9< MAS2K0G).A.2B+[006XZ614(2C7[4KQ_TZ)NPO,T:.Z]K/'-Z ?\LBQOD6I^0 M8SFNQI]YO_H7S$#=/JF^.-^ZHU%?GF]=IQ[]O]A7_]GY RK<)MU=A>>>P/M: MYH1A01F"75SN874R)W4R9Y2W2D&7>Q6^I\>7C>..[W!,)@9T!D[8"S&FO_YB M!]9O.N*'!%L,";8<$BP:$FPU$-A!^GA-^GA]Z-.O<#9(BYCFQ+R4J7*ERY * M(E 0\B3P,G4")QR;+VWFCX6NP]O0.I1::*1LUQX%AV)+C9@3!!V3D4;*=SWW M4&JE,^F/_#>Q@X7SFX7S>Q?NNSH20('A%ZB_#4%%F3]!F4%'J7L ').X@%*$ M5@)=HZK,2V@$U6OM0EE>QW[:(T=FPQ"V^WR,:3)2!.E-[*\ M#FTZQRQGI&JCE!U;[%39 M*:_P./&"D=^)9M[KVD>Y.C:I*Z\A34::*#7EI7/L9'F-&MY&_8>1;C?I/WF, MACQY# FV&!)L.218-"38:B"P@URY;7+EMK?&9TU#3&B68=8ZI6J+MT(;M3>9 M&ZO3Z^>])C^:!,<6KZT;IU.Z0UJ,M!:MT#KXLSN5K'?3TU>R;;U]1EN]_"Q: M>^IY#-6 [U#4;_:C'&EL:D@:U&:DM_D>32<\[?)DMFX^X,MNHRZU.(II68CJ MJ["9;2[./JOKHL[\S+Y;VIKY2%ZTJ9N6-_CJE@X^C#!U( \WUX_1?4$L#!!0 ( -R$ M U=Q&M$2]@, #@6 9 >&PO=V]R:W-H965TM6=M-JTO0_5??""$ZP%3&VSV?[[VH:0 M0+S<;L^J\B5@,_-X9I[)DS"+/66//,58@.<\*_C2284HKUV7QRG.$;^B)2[D MDRUE.1)RR78N+QE&B7;*,Q=ZWL3-$2F8[8/[+$NWP!HL_RCLF5VZ+DI <%YS0 C"\73HW_G7D!\I! M6_Q)\)Z?W .5R@.ECVKQ,5DZGHH(9S@6"@+)RQ->XRQ32#*.OQM0ISU3.9[> M']!_TCJ:V]9+U*H1MD()I\2Z2=6$6(%*78XNMS^.%""O![2BN.BH0O7"&34J&Y<9/ ;9T ?"&! M 'RFA4AE0(6,QN ?#OM/!OQ=6' MIG2^[_3H/Y_>*4;0ME>@\8(7\&QUSU^?)##X*'#.OYIZI(YB9(Y"B>TU+U&, MEXY44X[9$W96/_[@3[R?3039! MM@D66P#I4CEHJ1T/H72KYD4K6=_+[7W_SW)B;K(,8Z"/4K][2"<#Q9N$^G#)T;32>S>=HID,)K!:4^1#$9P]H(BS=I*S08K=8^Y8"06LB9:>T!5$&'\LS6(\]:V MM0D6V@2++(%UR)BW9,PO0H'F-JFT"1;:!(LL@76H]+WCZY-W"1K41'&J"G[0 MUR"#$?2G/:O0!#4?P9X*F:QF_M0L0_[)VZ8_6"[9O7JX4<3X6THTC/36_K6* M%EI%BVRA=3F!1T[@1>A1$X8M0FVBA5;1(EMH74*/[]S^X'O@_Z9)P9E$>'U% M.C?Q_<#O*]*YU7S<_UMDA!H'/4%R3R9A.68[/8+D,M>J$/74HMUMQYPW>KC7 MV[_UK]>^83]48U$]>3O"US/5SXCMB'S?R_!6'N5=366HK!Y3U@M!2SV'>Z!" MT%S?IA@EF"D#^7Q+J3@LU 'ML'CU+U!+ P04 " #6QE>:]\0M\-*K3F]6U"J MO%7.137R%TJ5GX*@FBUH3JJKHJ1"(UDAG_\P@"7?N 4[1TA>M71%ZIL4$P^/D[^D#@FW=^5-M//M9 EGF.T M@8-V9?/;YH.1DZ/2.9 -(MSON%V=MUUA*?5#)[E%-<2@KK+Q,"O$MM@BWPYH M99)3[Y'PD3\AG$TE U9&B MD":VC6!_3^OI>\"F!P89YXW!KF\'QL.2*$6EN-$=,]D,/H&\NGV_+K7#N23K ML-OSMP1STT&FA4RI;,*$_F9H/.0T SN2S1=P5T49 *A4D>M&RLB\$,1XV##J MAI:=4<[OX-OA9[:COV:V6S1-;:AN6AG; ?VVFM5NR_9>I.N5[+%07Y8Z M'6'Z4*'T5M*,K4Q_E34&,/405R=ER=>?.9N+G-KDCPXX'I(-SUL4DOW1T:!4 M9GJ 2M][I%*Q67ODMR3E/5VI33FM,MQS]P0]_]MUGE-!)>%MT[KVW_(JO]AQ MU'\MR^9;9=^PTV/]RG_K)GNG8#(^!9,G49.#4S"9G(#)_JM]:S['9/CV349O M<[>#^KC6.A/NG B;40].WB/_!YSA^3:H-UTRKIBH>PN6IE0\.1AJ>46F^H_1 M'7T]/Z4967)UWX C?]O^3E.VS)-FUBTL1#UKV_X&Z85Q<^S7L9A(Z8JFD[HK MYU/3]'1#1ZTO(.PC-^9R(QC'8FX$,"P.Y@#C6!86YW_*9X#F8S',V\")#%#. M .58E@N9F \6Q\U)].7.-$FB*(ZQ%9U,G XFV+K%,?RXU3!OP,#B0*3GK36^ MVWB%'*X#;$\/50B6*5Z)6*;X6@/B7C=@)(E[M[$XP,!V :L=B.^. S7EYD01 M["KF#7N"<21), 1JT5VC<8RL3@P?]_Y@3TD4)8D; *NQS $P( L M !?3T\$MP>:4#M.*2VBZD8_1!2:5K5N %(MB6/:(7->=I3W;+T]!;X"O.DQQ0FE(2S,. M\,W2?S+W\PPU1>5*(Y5;&GC3Y?YVX$G1H2)8%II%R=.B':5_'9EC AS>N.L 5H8DNL)).DO[Y7=DAD0F[[R:===NC>"YW0CARJ(; M]7J#;LFEZGSYO*]K;KKACG8BL2 MQY?7'$"&G4$/*EQ)8UU]1ET_!\:=@).;O$!E-W)K.TSQ4@P[%WHG#)OS MM? W!5>9YLT-.B +FLN<2SA@IGG-2,?S?3;Z/I[>3,;LXFHVGLP6S:_%U=?I M>'0S"2 C!#)Z1\C_H@ R1B#C]X2, \@$@4Q."+GOY#%;W,#FVV060*8(9/J> M+9D$D ,$.N,H+I%8-:3'.<<94S6Y4E-P'D!P3R RWD*/N_@FO6Y0'1 M1X3H(RW1)9>&W?*B"N/?)X3G$RW/W(@MESD3#U")%4T7:K>!()U5)NS&?@^+ MTCUJ3/^4N<<:3T"G;OT?_F)*N! 1%0FQ2:9@DT">VPE?!H=]"&BSZ]XG# M_U1ENA20A3ZTF;!@WR>.]@NGL[NS)313SH#./^CU22$?%OK[Q+%_PHV"O-LR M"&6 Q$WKV<(DT">VP(4N2^G\24U@R&!8 J1"9;+5O1'F@(C8 8MJ:2'TPTG, MOYFN!89%_H@X\L_Y(]M9-A>F_KO*!!M+FQ7:5JTNCM A!+$ ILK*')Z[&\-S MZ%HV,@9T)::[>[%-!(1:P3)-7V3AIB832)BFQS/-X]V.J:6B%@M:.+9 MGKO Y!(3R^4IV3O6?#'FEIC8+4W6=Q0+LTE,;).W4JTGT! 3G9(B%LKKC.MH M2V(RB4\IDS,VX\:+;P>@8^&X##$QK<3$6CG '-41AW%?:N 9"#$QQ<3$BCG M/(R1(2:FF/B$\U* "<9A=3U,*K\-,3'%Q">;K +(8.=JQ2Y@A!!B8HJ)B173 MPCQ\@8HPNTTPQ23$B@DQ+Z6"<8+DQ?.;%(Y2$\PX"?5H!LW26O/XF($28@.U MLK3)098V#@V48 9*B WT1I9VQA:'T^0)NBQ";*$W,2\KUQ[$)IB%$G(+87KM1'K)A?6*P;'PC5%3#_IB48X9][=&9S;3+"P:VGOH%%#3$P_*;%^7C"O M_6%XB^;<..G'0+[C0TQ,/RFQ?I[&9;]Z,%/,/2FQ>YX9ZQ_0[=8=A\3,DQ*; MYQER 97E55%/_RVJ[;:HYR9#3'1)_B2K+X!YU M<%GF>%]CPDG?:8'FJ?=#3,PZ*;%U$$S_MH>8F'=28N^@K=F:61M@WAE0+]N@ MF&'.-L"\,R#VSI&IHC FA9B8=P;$WD$QVYV.J6=0JZ>[_]XO%RNI1#Z#2U@H MSWB1S2%7A4WSX4*2^N7)5544%U!VI;YJGN\_']Q_^OCE)U!+ P04 " #< MA -7)V75I0P" "$)0 &@ 'AL+U]R96QS+W=OINW]?%Q_%PJJMF-X[]CY3J>E>.;;WK^G(Z7]ET MP[$=S\MAF_IV_=YN2]+E,J?A=D;S_'0[<_'ZV9?_F=AM-OMU^=FM?Q_+:?S' MX/2G&][KKI2Q6;RVP[:,JR9]'*ZG:[H5-FC1WD$*0SA]D M$&3S!SD$^?Q! 4$Q?U"&H#Q_T#T$W<\?] !!#_,'/4+0X_Q!LD09EP1)$ZP) MM!;D6@B\%@1;",06)%L(S!9$6PC4%F1;"-P6A%L(Y!:D6PCL%L1;"/16U%L) M]%;46PGTULG'-H'>BGHK@=Z*>BN!WHIZ*X'>BGHK@=Z*>BN!WHIZ*X'>BGHK M@=Z&>AN!WH9Z&X'>AGH;@=XVV2PAT-M0;R/0VU!O(]#;4&\CT-M0;R/0VU!O M(]#;4&\CT-M1;R?0VU%O)]#;46\GT-M1;R?0VR>;W01Z.^KM!'H[ZNT$>COJ M[01Z.^KM!'H[ZNT$>@?J'01Z!^H=!'H'ZAT$>@?J'01Z!^H=!'K'Y&@>!WH%Z!X'>@7H'@=Z!>@>!WAGUS@1Z9]0[$^B=4>],H'=&O?-WZEW'ST.I MUYZO-3[_.ZD>S_>6Z^,ORZ^3DU?E@G.ZK:C/?P%02P,$% @ W(0#5^[5 M[1CF 0 ]20 !, !;0V]N=&5N=%]4>7!E&ULS=I=3\(P% ;@OT)V M:UCIU_R(<*/>JA?^@;H=9&%;F[8@_'N[ 28:)1I,?&]8H.UYSWJ2YXKKIZVC M,-JT31>FV2)&=\58*!?4FI!;1UU:F5O?FIB^^A?F3+DT+\3$9%*PTG:1NCB. M?8UL=GU+<[-JXNANDWX.M>VFF:&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0 ( M -R$ U&PO=V]R:W-H965T&UL4$L! A0# M% @ W(0#5TFJ"&PO=V]R:W-H965T&UL4$L! A0#% @ W(0#5]ZAR]/U M!P G2, !@ ("!5RH 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ W(0#5\29K*(G!P &A, !@ M ("!>4< 'AL+W=O&UL4$L! A0#% @ W(0#5\LH!?4_ P & < !D M ("!VU$ 'AL+W=O&PO M=V]R:W-H965TS0O.&RP( M )<& 9 " @1%9 !X;"]W;W)K&UL4$L! A0#% @ W(0#5S1%G@XV!P (!( !D ("! M$UP 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ W(0#5U\2Z-!N! ;PL !D ("!/G( 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ W(0#5_'G][XH M P _ 8 !D ("!2(, 'AL+W=O&PO=V]R:W-H965T*GUN ( (8) 9 " @2^) !X;"]W;W)K&UL4$L! A0#% @ W(0#5WMMTJ5K P 6PX !D M ("!'HP 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ W(0#5X,U3]+S P X0D !D ("!>I\ M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MW(0#5X6@I\#! P :P@ !D ("!0*H 'AL+W=OQ !X;"]W M;W)K&UL4$L! A0#% @ W(0#5S\UK;%=! MWPH !D ("!D[8 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ W(0#5ZJXZY,(!0 H2( !D M ("!0,4 'AL+W=O+ &0 @(%_R@ >&PO=V]R:W-H M965T&UL4$L! M A0#% @ W(0#5T89YTO' @ 6@< !D ("!M]8 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ W(0# M5QW0C&^, P .!( !D ("!L^ 'AL+W=OX" )" &0 M @(%VY >&PO=V]R:W-H965T&UL4$L! A0#% @ W(0#5YST*]"Z! A1X M !D ("! N\ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ W(0#5TP^T I- @ $ 8 !D M ("!8OH 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ W(0#5^&8X"1]!@ RC0 !D ("!304! 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ W(0#5^#9 M&PO=V]R:W-H965T&UL4$L! A0#% @ W(0#5_\-UFJ] @ R0< !D M ("!9!T! 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ W(0#5YA,CR):!0 DB4 !D ("! M R@! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ W(0#5T<3!M9@! BA0 !D ("!TS@! 'AL+W=O&UL4$L! A0#% @ W(0#5Y>*NQS $P( L M ( !%D4! %]R96QS+RYR96QS4$L! A0#% @ W(0#5_UE$5,B M!0 ?BD \ ( !_T4! 'AL+W=OT8Y@$ M /4D 3 " 9)- 0!;0V]N=&5N=%]4>7!E&UL4$L% 3!@ !' $< :!, *E/ 0 $! end XML 76 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 77 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 78 FilingSummary.xml IDEA: XBRL DOCUMENT 3.23.2 html 240 282 1 false 67 0 false 7 false false R1.htm 0000001 - Document - Cover Page Sheet http://www.gdyn.com/role/CoverPage Cover Page Cover 1 false false R2.htm 0000002 - Statement - UNAUDITED CONDENSED CONSOLIDATED BALANCE SHEETS Sheet http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS UNAUDITED CONDENSED CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 0000003 - Statement - UNAUDITED CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Sheet http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical UNAUDITED CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Statements 3 false false R4.htm 0000004 - Statement - UNAUDITED CONDENSED CONSOLIDATED STATEMENTS OF LOSS AND COMPREHENSIVE LOSS Sheet http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS UNAUDITED CONDENSED CONSOLIDATED STATEMENTS OF LOSS AND COMPREHENSIVE LOSS Statements 4 false false R5.htm 0000005 - Statement - UNAUDITED CONSOLIDATED STATEMENT OF STOCKHOLDERS??? EQUITY Sheet http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY UNAUDITED CONSOLIDATED STATEMENT OF STOCKHOLDERS??? EQUITY Statements 5 false false R6.htm 0000006 - Statement - UNAUDITED CONDENSED CONSOLIDATED STATEMENT OF CASH FLOWS Sheet http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS UNAUDITED CONDENSED CONSOLIDATED STATEMENT OF CASH FLOWS Statements 6 false false R7.htm 0000007 - Disclosure - Nature of operations and summary of significant accounting policies Sheet http://www.gdyn.com/role/Natureofoperationsandsummaryofsignificantaccountingpolicies Nature of operations and summary of significant accounting policies Notes 7 false false R8.htm 0000008 - Disclosure - Acquisitions Sheet http://www.gdyn.com/role/Acquisitions Acquisitions Notes 8 false false R9.htm 0000009 - Disclosure - Fair Value Sheet http://www.gdyn.com/role/FairValue Fair Value Notes 9 false false R10.htm 0000010 - Disclosure - Prepaid expenses and other current assets Sheet http://www.gdyn.com/role/Prepaidexpensesandothercurrentassets Prepaid expenses and other current assets Notes 10 false false R11.htm 0000011 - Disclosure - Property and equipment, net Sheet http://www.gdyn.com/role/Propertyandequipmentnet Property and equipment, net Notes 11 false false R12.htm 0000012 - Disclosure - Intangible assets, net Sheet http://www.gdyn.com/role/Intangibleassetsnet Intangible assets, net Notes 12 false false R13.htm 0000013 - Disclosure - Accrued expenses and other current liabilities Sheet http://www.gdyn.com/role/Accruedexpensesandothercurrentliabilities Accrued expenses and other current liabilities Notes 13 false false R14.htm 0000014 - Disclosure - Debt Sheet http://www.gdyn.com/role/Debt Debt Notes 14 false false R15.htm 0000015 - Disclosure - Revenue Sheet http://www.gdyn.com/role/Revenue Revenue Notes 15 false false R16.htm 0000016 - Disclosure - Leases Sheet http://www.gdyn.com/role/Leases Leases Notes 16 false false R17.htm 0000017 - Disclosure - Income taxes Sheet http://www.gdyn.com/role/Incometaxes Income taxes Notes 17 false false R18.htm 0000018 - Disclosure - Stock-based compensation Sheet http://www.gdyn.com/role/Stockbasedcompensation Stock-based compensation Notes 18 false false R19.htm 0000019 - Disclosure - Earnings per share Sheet http://www.gdyn.com/role/Earningspershare Earnings per share Notes 19 false false R20.htm 0000020 - Disclosure - Commitments and contingencies Sheet http://www.gdyn.com/role/Commitmentsandcontingencies Commitments and contingencies Notes 20 false false R21.htm 0000021 - Disclosure - Subsequent events Sheet http://www.gdyn.com/role/Subsequentevents Subsequent events Notes 21 false false R22.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Notes 22 false false R23.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Notes 23 false false R24.htm 9954701 - Disclosure - Nature of operations and summary of significant accounting policies (Policies) Sheet http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPolicies Nature of operations and summary of significant accounting policies (Policies) Policies 24 false false R25.htm 9954702 - Disclosure - Acquisitions (Tables) Sheet http://www.gdyn.com/role/AcquisitionsTables Acquisitions (Tables) Tables http://www.gdyn.com/role/Acquisitions 25 false false R26.htm 9954703 - Disclosure - Fair Value (Tables) Sheet http://www.gdyn.com/role/FairValueTables Fair Value (Tables) Tables http://www.gdyn.com/role/FairValue 26 false false R27.htm 9954704 - Disclosure - Prepaid expenses and other current assets (Tables) Sheet http://www.gdyn.com/role/PrepaidexpensesandothercurrentassetsTables Prepaid expenses and other current assets (Tables) Tables http://www.gdyn.com/role/Prepaidexpensesandothercurrentassets 27 false false R28.htm 9954705 - Disclosure - Property and equipment, net (Tables) Sheet http://www.gdyn.com/role/PropertyandequipmentnetTables Property and equipment, net (Tables) Tables http://www.gdyn.com/role/Propertyandequipmentnet 28 false false R29.htm 9954706 - Disclosure - Intangible assets, net (Tables) Sheet http://www.gdyn.com/role/IntangibleassetsnetTables Intangible assets, net (Tables) Tables http://www.gdyn.com/role/Intangibleassetsnet 29 false false R30.htm 9954707 - Disclosure - Accrued expenses and other current liabilities (Tables) Sheet http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesTables Accrued expenses and other current liabilities (Tables) Tables http://www.gdyn.com/role/Accruedexpensesandothercurrentliabilities 30 false false R31.htm 9954708 - Disclosure - Revenue (Tables) Sheet http://www.gdyn.com/role/RevenueTables Revenue (Tables) Tables http://www.gdyn.com/role/Revenue 31 false false R32.htm 9954709 - Disclosure - Leases (Tables) Sheet http://www.gdyn.com/role/LeasesTables Leases (Tables) Tables http://www.gdyn.com/role/Leases 32 false false R33.htm 9954710 - Disclosure - Stock-based compensation (Tables) Sheet http://www.gdyn.com/role/StockbasedcompensationTables Stock-based compensation (Tables) Tables http://www.gdyn.com/role/Stockbasedcompensation 33 false false R34.htm 9954711 - Disclosure - Earnings per share (Tables) Sheet http://www.gdyn.com/role/EarningspershareTables Earnings per share (Tables) Tables http://www.gdyn.com/role/Earningspershare 34 false false R35.htm 9954712 - Disclosure - Acquisitions - Narrative (Details) Sheet http://www.gdyn.com/role/AcquisitionsNarrativeDetails Acquisitions - Narrative (Details) Details 35 false false R36.htm 9954713 - Disclosure - Acquisitions - Assets acquired and liabilities assumed (Details) Sheet http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails Acquisitions - Assets acquired and liabilities assumed (Details) Details 36 false false R37.htm 9954714 - Disclosure - Acquisitions - Intangible assets acquired (Details) Sheet http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails Acquisitions - Intangible assets acquired (Details) Details 37 false false R38.htm 9954715 - Disclosure - Acquisitions - Pro forma information (Details) Sheet http://www.gdyn.com/role/AcquisitionsProformainformationDetails Acquisitions - Pro forma information (Details) Details 38 false false R39.htm 9954716 - Disclosure - Fair Value - Fair Value Of Contingent Consideration Payable (Details) Sheet http://www.gdyn.com/role/FairValueFairValueOfContingentConsiderationPayableDetails Fair Value - Fair Value Of Contingent Consideration Payable (Details) Details 39 false false R40.htm 9954717 - Disclosure - Fair Value - Narrative (Details) Sheet http://www.gdyn.com/role/FairValueNarrativeDetails Fair Value - Narrative (Details) Details 40 false false R41.htm 9954718 - Disclosure - Fair Value -Financial Assets and Liabilities Not Measured at Fair Value on a Recurring Basis (Details) Sheet http://www.gdyn.com/role/FairValueFinancialAssetsandLiabilitiesNotMeasuredatFairValueonaRecurringBasisDetails Fair Value -Financial Assets and Liabilities Not Measured at Fair Value on a Recurring Basis (Details) Details 41 false false R42.htm 9954719 - Disclosure - Prepaid expenses and other current assets (Details) Sheet http://www.gdyn.com/role/PrepaidexpensesandothercurrentassetsDetails Prepaid expenses and other current assets (Details) Details http://www.gdyn.com/role/PrepaidexpensesandothercurrentassetsTables 42 false false R43.htm 9954720 - Disclosure - Property and Equipment, net (Details) Sheet http://www.gdyn.com/role/PropertyandEquipmentnetDetails Property and Equipment, net (Details) Details 43 false false R44.htm 9954721 - Disclosure - Intangible assets, net - Summary of Intangible Assets (Details) Sheet http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails Intangible assets, net - Summary of Intangible Assets (Details) Details 44 false false R45.htm 9954722 - Disclosure - Intangible assets, net - Future Amortization Expenses (Detail) Sheet http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail Intangible assets, net - Future Amortization Expenses (Detail) Details 45 false false R46.htm 9954723 - Disclosure - Accrued expenses and other current liabilities - Components of Accrued Expenses and Other Current Liabilities (Details) Sheet http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails Accrued expenses and other current liabilities - Components of Accrued Expenses and Other Current Liabilities (Details) Details 46 false false R47.htm 9954724 - Disclosure - Accrued expenses and other current liabilities - Related Parties (Details) Sheet http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesRelatedPartiesDetails Accrued expenses and other current liabilities - Related Parties (Details) Details 47 false false R48.htm 9954725 - Disclosure - Debt - Narrative (Details) Sheet http://www.gdyn.com/role/DebtNarrativeDetails Debt - Narrative (Details) Details 48 false false R49.htm 9954726 - Disclosure - Revenue - Narrative (Details) Sheet http://www.gdyn.com/role/RevenueNarrativeDetails Revenue - Narrative (Details) Details 49 false false R50.htm 9954727 - Disclosure - Revenue - Disaggregation of Revenue (Details) Sheet http://www.gdyn.com/role/RevenueDisaggregationofRevenueDetails Revenue - Disaggregation of Revenue (Details) Details 50 false false R51.htm 9954728 - Disclosure - Revenue - Concentration Risk (Details) Sheet http://www.gdyn.com/role/RevenueConcentrationRiskDetails Revenue - Concentration Risk (Details) Details 51 false false R52.htm 9954729 - Disclosure - Revenue - Related Parties (Details) Sheet http://www.gdyn.com/role/RevenueRelatedPartiesDetails Revenue - Related Parties (Details) Details 52 false false R53.htm 9954730 - Disclosure - Leases - Narrative (Details) Sheet http://www.gdyn.com/role/LeasesNarrativeDetails Leases - Narrative (Details) Details 53 false false R54.htm 9954731 - Disclosure - Leases - Lease Cost (Details) Sheet http://www.gdyn.com/role/LeasesLeaseCostDetails Leases - Lease Cost (Details) Details 54 false false R55.htm 9954732 - Disclosure - Leases - Schedule of Supplemental Lease Information (Details) Sheet http://www.gdyn.com/role/LeasesScheduleofSupplementalLeaseInformationDetails Leases - Schedule of Supplemental Lease Information (Details) Details 55 false false R56.htm 9954733 - Disclosure - Leases - Operating Lease Maturities (Details) Sheet http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails Leases - Operating Lease Maturities (Details) Details 56 false false R57.htm 9954734 - Disclosure - Income taxes (Details) Sheet http://www.gdyn.com/role/IncometaxesDetails Income taxes (Details) Details http://www.gdyn.com/role/Incometaxes 57 false false R58.htm 9954735 - Disclosure - Stock-based compensation - Schedule of employee stock-based compensation recognized (Details) Sheet http://www.gdyn.com/role/StockbasedcompensationScheduleofemployeestockbasedcompensationrecognizedDetails Stock-based compensation - Schedule of employee stock-based compensation recognized (Details) Details 58 false false R59.htm 9954736 - Disclosure - Stock-based compensation - Narrative (Details) Sheet http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails Stock-based compensation - Narrative (Details) Details 59 false false R60.htm 9954737 - Disclosure - Stock-based compensation - Schedule of option activity (Details) Sheet http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails Stock-based compensation - Schedule of option activity (Details) Details 60 false false R61.htm 9954738 - Disclosure - Stock-based compensation - Schedule of restricted stock unit and performance stock unit activity (Details) Sheet http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails Stock-based compensation - Schedule of restricted stock unit and performance stock unit activity (Details) Details 61 false false R62.htm 9954739 - Disclosure - Earnings per share - Schedule of Computation of Basic and Diluted Earnings Per Share (Details) Sheet http://www.gdyn.com/role/EarningspershareScheduleofComputationofBasicandDilutedEarningsPerShareDetails Earnings per share - Schedule of Computation of Basic and Diluted Earnings Per Share (Details) Details 62 false false R63.htm 9954740 - Disclosure - Earnings per share - Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share (Details) Sheet http://www.gdyn.com/role/EarningspershareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails Earnings per share - Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share (Details) Details 63 false false All Reports Book All Reports [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 3 fact(s) appearing in ix:hidden were eligible for transformation: ecd:TrdArrDuration, us-gaap:NumberOfOperatingSegments - gdyn-20230630.htm 4 gdyn-20230630.htm gdyn-20230630.xsd gdyn-20230630_cal.xml gdyn-20230630_def.xml gdyn-20230630_lab.xml gdyn-20230630_pre.xml gdyn-20230630xex311.htm gdyn-20230630xex312.htm gdyn-20230630xex321.htm gdyn-20230630xex322.htm http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 http://xbrl.sec.gov/ecd/2023 true true JSON 81 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "gdyn-20230630.htm": { "axisCustom": 0, "axisStandard": 25, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 740, "http://xbrl.sec.gov/dei/2023": 30, "http://xbrl.sec.gov/ecd/2023": 10 }, "contextCount": 240, "dts": { "calculationLink": { "local": [ "gdyn-20230630_cal.xml" ] }, "definitionLink": { "local": [ "gdyn-20230630_def.xml" ] }, "inline": { "local": [ "gdyn-20230630.htm" ] }, "labelLink": { "local": [ "gdyn-20230630_lab.xml" ] }, "presentationLink": { "local": [ "gdyn-20230630_pre.xml" ] }, "schema": { "local": [ "gdyn-20230630.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd" ] } }, "elementCount": 542, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2023": 3, "http://xbrl.sec.gov/dei/2023": 5, "http://xbrl.sec.gov/ecd/2023": 1, "total": 9 }, "keyCustom": 13, "keyStandard": 269, "memberCustom": 17, "memberStandard": 47, "nsprefix": "gdyn", "nsuri": "http://www.gdyn.com/20230630", "report": { "R1": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "0000001 - Document - Cover Page", "menuCat": "Cover", "order": "1", "role": "http://www.gdyn.com/role/CoverPage", "shortName": "Cover Page", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OtherCurrentAssetsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000010 - Disclosure - Prepaid expenses and other current assets", "menuCat": "Notes", "order": "10", "role": "http://www.gdyn.com/role/Prepaidexpensesandothercurrentassets", "shortName": "Prepaid expenses and other current assets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OtherCurrentAssetsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000011 - Disclosure - Property and equipment, net", "menuCat": "Notes", "order": "11", "role": "http://www.gdyn.com/role/Propertyandequipmentnet", "shortName": "Property and equipment, net", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000012 - Disclosure - Intangible assets, net", "menuCat": "Notes", "order": "12", "role": "http://www.gdyn.com/role/Intangibleassetsnet", "shortName": "Intangible assets, net", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000013 - Disclosure - Accrued expenses and other current liabilities", "menuCat": "Notes", "order": "13", "role": "http://www.gdyn.com/role/Accruedexpensesandothercurrentliabilities", "shortName": "Accrued expenses and other current liabilities", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000014 - Disclosure - Debt", "menuCat": "Notes", "order": "14", "role": "http://www.gdyn.com/role/Debt", "shortName": "Debt", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000015 - Disclosure - Revenue", "menuCat": "Notes", "order": "15", "role": "http://www.gdyn.com/role/Revenue", "shortName": "Revenue", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000016 - Disclosure - Leases", "menuCat": "Notes", "order": "16", "role": "http://www.gdyn.com/role/Leases", "shortName": "Leases", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000017 - Disclosure - Income taxes", "menuCat": "Notes", "order": "17", "role": "http://www.gdyn.com/role/Incometaxes", "shortName": "Income taxes", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000018 - Disclosure - Stock-based compensation", "menuCat": "Notes", "order": "18", "role": "http://www.gdyn.com/role/Stockbasedcompensation", "shortName": "Stock-based compensation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000019 - Disclosure - Earnings per share", "menuCat": "Notes", "order": "19", "role": "http://www.gdyn.com/role/Earningspershare", "shortName": "Earnings per share", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000002 - Statement - UNAUDITED CONDENSED CONSOLIDATED BALANCE SHEETS", "menuCat": "Statements", "order": "2", "role": "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS", "shortName": "UNAUDITED CONDENSED CONSOLIDATED BALANCE SHEETS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000020 - Disclosure - Commitments and contingencies", "menuCat": "Notes", "order": "20", "role": "http://www.gdyn.com/role/Commitmentsandcontingencies", "shortName": "Commitments and contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000021 - Disclosure - Subsequent events", "menuCat": "Notes", "order": "21", "role": "http://www.gdyn.com/role/Subsequentevents", "shortName": "Subsequent events", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "995410 - Disclosure - Pay vs Performance Disclosure", "menuCat": "Notes", "order": "22", "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure", "shortName": "Pay vs Performance Disclosure", "subGroupType": "", "uniqueAnchor": null }, "R23": { "firstAnchor": { "ancestors": [ "ecd:NonRule10b51ArrAdoptedFlag", "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-5", "decimals": null, "first": true, "lang": "en-US", "name": "ecd:Rule10b51ArrAdoptedFlag", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "995445 - Disclosure - Insider Trading Arrangements", "menuCat": "Notes", "order": "23", "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "shortName": "Insider Trading Arrangements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "ecd:NonRule10b51ArrAdoptedFlag", "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-5", "decimals": null, "first": true, "lang": "en-US", "name": "ecd:Rule10b51ArrAdoptedFlag", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-5", "decimals": null, "first": true, "lang": "en-US", "name": "gdyn:NatureOfBusinessPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954701 - Disclosure - Nature of operations and summary of significant accounting policies (Policies)", "menuCat": "Policies", "order": "24", "role": "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPolicies", "shortName": "Nature of operations and summary of significant accounting policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-5", "decimals": null, "first": true, "lang": "en-US", "name": "gdyn:NatureOfBusinessPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954702 - Disclosure - Acquisitions (Tables)", "menuCat": "Tables", "order": "25", "role": "http://www.gdyn.com/role/AcquisitionsTables", "shortName": "Acquisitions (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954703 - Disclosure - Fair Value (Tables)", "menuCat": "Tables", "order": "26", "role": "http://www.gdyn.com/role/FairValueTables", "shortName": "Fair Value (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954704 - Disclosure - Prepaid expenses and other current assets (Tables)", "menuCat": "Tables", "order": "27", "role": "http://www.gdyn.com/role/PrepaidexpensesandothercurrentassetsTables", "shortName": "Prepaid expenses and other current assets (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954705 - Disclosure - Property and equipment, net (Tables)", "menuCat": "Tables", "order": "28", "role": "http://www.gdyn.com/role/PropertyandequipmentnetTables", "shortName": "Property and equipment, net (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954706 - Disclosure - Intangible assets, net (Tables)", "menuCat": "Tables", "order": "29", "role": "http://www.gdyn.com/role/IntangibleassetsnetTables", "shortName": "Intangible assets, net (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000003 - Statement - UNAUDITED CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "menuCat": "Statements", "order": "3", "role": "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "shortName": "UNAUDITED CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OtherCurrentLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954707 - Disclosure - Accrued expenses and other current liabilities (Tables)", "menuCat": "Tables", "order": "30", "role": "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesTables", "shortName": "Accrued expenses and other current liabilities (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OtherCurrentLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954708 - Disclosure - Revenue (Tables)", "menuCat": "Tables", "order": "31", "role": "http://www.gdyn.com/role/RevenueTables", "shortName": "Revenue (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954709 - Disclosure - Leases (Tables)", "menuCat": "Tables", "order": "32", "role": "http://www.gdyn.com/role/LeasesTables", "shortName": "Leases (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954710 - Disclosure - Stock-based compensation (Tables)", "menuCat": "Tables", "order": "33", "role": "http://www.gdyn.com/role/StockbasedcompensationTables", "shortName": "Stock-based compensation (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954711 - Disclosure - Earnings per share (Tables)", "menuCat": "Tables", "order": "34", "role": "http://www.gdyn.com/role/EarningspershareTables", "shortName": "Earnings per share (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationContingentConsiderationLiability", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954712 - Disclosure - Acquisitions - Narrative (Details)", "menuCat": "Details", "order": "35", "role": "http://www.gdyn.com/role/AcquisitionsNarrativeDetails", "shortName": "Acquisitions - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-4", "decimals": "-3", "lang": "en-US", "name": "us-gaap:BusinessCombinationContingentConsiderationLiability", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954713 - Disclosure - Acquisitions - Assets acquired and liabilities assumed (Details)", "menuCat": "Details", "order": "36", "role": "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails", "shortName": "Acquisitions - Assets acquired and liabilities assumed (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-54", "decimals": "-3", "lang": "en-US", "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-118", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FiniteLivedIntangibleAssetUsefulLife", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954714 - Disclosure - Acquisitions - Intangible assets acquired (Details)", "menuCat": "Details", "order": "37", "role": "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails", "shortName": "Acquisitions - Intangible assets acquired (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-58", "decimals": "-3", "lang": "en-US", "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:BusinessAcquisitionProFormaInformationTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-68", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:BusinessAcquisitionsProFormaRevenue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954715 - Disclosure - Acquisitions - Pro forma information (Details)", "menuCat": "Details", "order": "38", "role": "http://www.gdyn.com/role/AcquisitionsProformainformationDetails", "shortName": "Acquisitions - Pro forma information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:BusinessAcquisitionProFormaInformationTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-68", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:BusinessAcquisitionsProFormaRevenue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954716 - Disclosure - Fair Value - Fair Value Of Contingent Consideration Payable (Details)", "menuCat": "Details", "order": "39", "role": "http://www.gdyn.com/role/FairValueFairValueOfContingentConsiderationPayableDetails", "shortName": "Fair Value - Fair Value Of Contingent Consideration Payable (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-4", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000004 - Statement - UNAUDITED CONDENSED CONSOLIDATED STATEMENTS OF LOSS AND COMPREHENSIVE LOSS", "menuCat": "Statements", "order": "4", "role": "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS", "shortName": "UNAUDITED CONDENSED CONSOLIDATED STATEMENTS OF LOSS AND COMPREHENSIVE LOSS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-5", "decimals": "-3", "lang": "en-US", "name": "us-gaap:CostOfRevenue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-3", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueAmount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954717 - Disclosure - Fair Value - Narrative (Details)", "menuCat": "Details", "order": "40", "role": "http://www.gdyn.com/role/FairValueNarrativeDetails", "shortName": "Fair Value - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-3", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueAmount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FairValueAssetsMeasuredOnNonrecurringBasisTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-74", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954718 - Disclosure - Fair Value -Financial Assets and Liabilities Not Measured at Fair Value on a Recurring Basis (Details)", "menuCat": "Details", "order": "41", "role": "http://www.gdyn.com/role/FairValueFinancialAssetsandLiabilitiesNotMeasuredatFairValueonaRecurringBasisDetails", "shortName": "Fair Value -Financial Assets and Liabilities Not Measured at Fair Value on a Recurring Basis (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FairValueAssetsMeasuredOnNonrecurringBasisTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-74", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PrepaidExpenseCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954719 - Disclosure - Prepaid expenses and other current assets (Details)", "menuCat": "Details", "order": "42", "role": "http://www.gdyn.com/role/PrepaidexpensesandothercurrentassetsDetails", "shortName": "Prepaid expenses and other current assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PrepaidExpenseCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentNet", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954720 - Disclosure - Property and Equipment, net (Details)", "menuCat": "Details", "order": "43", "role": "http://www.gdyn.com/role/PropertyandEquipmentnetDetails", "shortName": "Property and Equipment, net (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-104", "decimals": "-3", "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954721 - Disclosure - Intangible assets, net - Summary of Intangible Assets (Details)", "menuCat": "Details", "order": "44", "role": "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails", "shortName": "Intangible assets, net - Summary of Intangible Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954722 - Disclosure - Intangible assets, net - Future Amortization Expenses (Detail)", "menuCat": "Details", "order": "45", "role": "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail", "shortName": "Intangible assets, net - Future Amortization Expenses (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:OtherCurrentLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954723 - Disclosure - Accrued expenses and other current liabilities - Components of Accrued Expenses and Other Current Liabilities (Details)", "menuCat": "Details", "order": "46", "role": "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails", "shortName": "Accrued expenses and other current liabilities - Components of Accrued Expenses and Other Current Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:OtherCurrentLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-122", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:OtherLiabilities", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954724 - Disclosure - Accrued expenses and other current liabilities - Related Parties (Details)", "menuCat": "Details", "order": "47", "role": "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesRelatedPartiesDetails", "shortName": "Accrued expenses and other current liabilities - Related Parties (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-122", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:OtherLiabilities", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-132", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954725 - Disclosure - Debt - Narrative (Details)", "menuCat": "Details", "order": "48", "role": "http://www.gdyn.com/role/DebtNarrativeDetails", "shortName": "Debt - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-132", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-3", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:DeferredRevenueCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954726 - Disclosure - Revenue - Narrative (Details)", "menuCat": "Details", "order": "49", "role": "http://www.gdyn.com/role/RevenueNarrativeDetails", "shortName": "Revenue - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-3", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:DeferredRevenueCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-30", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:SharesOutstanding", "reportCount": 1, "unitRef": "shares", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000005 - Statement - UNAUDITED CONSOLIDATED STATEMENT OF STOCKHOLDERS\u2019 EQUITY", "menuCat": "Statements", "order": "5", "role": "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY", "shortName": "UNAUDITED CONSOLIDATED STATEMENT OF STOCKHOLDERS\u2019 EQUITY", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-35", "decimals": "-3", "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954727 - Disclosure - Revenue - Disaggregation of Revenue (Details)", "menuCat": "Details", "order": "50", "role": "http://www.gdyn.com/role/RevenueDisaggregationofRevenueDetails", "shortName": "Revenue - Disaggregation of Revenue (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-165", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-177", "decimals": "3", "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954728 - Disclosure - Revenue - Concentration Risk (Details)", "menuCat": "Details", "order": "51", "role": "http://www.gdyn.com/role/RevenueConcentrationRiskDetails", "shortName": "Revenue - Concentration Risk (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-177", "decimals": "3", "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954729 - Disclosure - Revenue - Related Parties (Details)", "menuCat": "Details", "order": "52", "role": "http://www.gdyn.com/role/RevenueRelatedPartiesDetails", "shortName": "Revenue - Related Parties (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-183", "decimals": "-5", "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-191", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseRemainingLeaseTerm", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954730 - Disclosure - Leases - Narrative (Details)", "menuCat": "Details", "order": "53", "role": "http://www.gdyn.com/role/LeasesNarrativeDetails", "shortName": "Leases - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-191", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseRemainingLeaseTerm", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseCost", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954731 - Disclosure - Leases - Lease Cost (Details)", "menuCat": "Details", "order": "54", "role": "http://www.gdyn.com/role/LeasesLeaseCostDetails", "shortName": "Leases - Lease Cost (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseCost", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeasePayments", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954732 - Disclosure - Leases - Schedule of Supplemental Lease Information (Details)", "menuCat": "Details", "order": "55", "role": "http://www.gdyn.com/role/LeasesScheduleofSupplementalLeaseInformationDetails", "shortName": "Leases - Schedule of Supplemental Lease Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeasePayments", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954733 - Disclosure - Leases - Operating Lease Maturities (Details)", "menuCat": "Details", "order": "56", "role": "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails", "shortName": "Leases - Operating Lease Maturities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-3", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxExpenseBenefit", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954734 - Disclosure - Income taxes (Details)", "menuCat": "Details", "order": "57", "role": "http://www.gdyn.com/role/IncometaxesDetails", "shortName": "Income taxes (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-5", "decimals": "3", "lang": "en-US", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954735 - Disclosure - Stock-based compensation - Schedule of employee stock-based compensation recognized (Details)", "menuCat": "Details", "order": "58", "role": "http://www.gdyn.com/role/StockbasedcompensationScheduleofemployeestockbasedcompensationrecognizedDetails", "shortName": "Stock-based compensation - Schedule of employee stock-based compensation recognized (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-221", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954736 - Disclosure - Stock-based compensation - Narrative (Details)", "menuCat": "Details", "order": "59", "role": "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails", "shortName": "Stock-based compensation - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-221", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000006 - Statement - UNAUDITED CONDENSED CONSOLIDATED STATEMENT OF CASH FLOWS", "menuCat": "Statements", "order": "6", "role": "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS", "shortName": "UNAUDITED CONDENSED CONSOLIDATED STATEMENT OF CASH FLOWS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": "-3", "lang": "en-US", "name": "us-gaap:DepreciationAndAmortization", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R60": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954737 - Disclosure - Stock-based compensation - Schedule of option activity (Details)", "menuCat": "Details", "order": "60", "role": "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails", "shortName": "Stock-based compensation - Schedule of option activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" } }, "R61": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-220", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954738 - Disclosure - Stock-based compensation - Schedule of restricted stock unit and performance stock unit activity (Details)", "menuCat": "Details", "order": "61", "role": "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails", "shortName": "Stock-based compensation - Schedule of restricted stock unit and performance stock unit activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-220", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R62": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954739 - Disclosure - Earnings per share - Schedule of Computation of Basic and Diluted Earnings Per Share (Details)", "menuCat": "Details", "order": "62", "role": "http://www.gdyn.com/role/EarningspershareScheduleofComputationofBasicandDilutedEarningsPerShareDetails", "shortName": "Earnings per share - Schedule of Computation of Basic and Diluted Earnings Per Share (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-5", "decimals": "-3", "lang": "en-US", "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R63": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "9954740 - Disclosure - Earnings per share - Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share (Details)", "menuCat": "Details", "order": "63", "role": "http://www.gdyn.com/role/EarningspershareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails", "shortName": "Earnings per share - Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "ix:continuation", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-5", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000007 - Disclosure - Nature of operations and summary of significant accounting policies", "menuCat": "Notes", "order": "7", "role": "http://www.gdyn.com/role/Natureofoperationsandsummaryofsignificantaccountingpolicies", "shortName": "Nature of operations and summary of significant accounting policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000008 - Disclosure - Acquisitions", "menuCat": "Notes", "order": "8", "role": "http://www.gdyn.com/role/Acquisitions", "shortName": "Acquisitions", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000009 - Disclosure - Fair Value", "menuCat": "Notes", "order": "9", "role": "http://www.gdyn.com/role/FairValue", "shortName": "Fair Value", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "gdyn-20230630.htm", "contextRef": "c-1", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 67, "tag": { "dei_AmendmentFlag": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.", "label": "Amendment Flag", "terseLabel": "Amendment Flag" } } }, "localname": "AmendmentFlag", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area code of city", "label": "City Area Code", "terseLabel": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cover page.", "label": "Cover [Abstract]" } } }, "localname": "CoverAbstract", "nsuri": "http://xbrl.sec.gov/dei/2023", "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", "terseLabel": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentFiscalPeriodFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.", "label": "Document Fiscal Period Focus", "terseLabel": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "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", "terseLabel": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "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", "terseLabel": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r579" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an quarterly report.", "label": "Document Quarterly Report", "terseLabel": "Document Quarterly Report" } } }, "localname": "DocumentQuarterlyReport", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r612" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a transition report.", "label": "Document Transition Report", "terseLabel": "Document Transition Report" } } }, "localname": "DocumentTransitionReport", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "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", "terseLabel": "Document Type" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "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", "terseLabel": "Entity Address, Address Line One" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressAddressLine2": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 2 such as Street or Suite number", "label": "Entity Address, Address Line Two", "terseLabel": "Entity Address, Address Line Two" } } }, "localname": "EntityAddressAddressLine2", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town", "terseLabel": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressPostalZipCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Code for the postal or zip code", "label": "Entity Address, Postal Zip Code", "terseLabel": "Entity Address, Postal Zip Code" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address, State or Province", "terseLabel": "Entity Address, State or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r577" ], "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", "terseLabel": "Entity Central Index Key" } } }, "localname": "EntityCentralIndexKey", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "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", "terseLabel": "Entity Common Stock, Shares Outstanding" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "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", "terseLabel": "Entity Current Reporting Status" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r577" ], "lang": { "en-us": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company", "terseLabel": "Entity Emerging Growth Company" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "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", "terseLabel": "Entity File Number" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r577" ], "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", "terseLabel": "Entity Filer Category" } } }, "localname": "EntityFilerCategory", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "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", "terseLabel": "Entity Incorporation, State or Country Code" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r651" ], "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", "terseLabel": "Entity Interactive Data Current" } } }, "localname": "EntityInteractiveDataCurrent", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r577" ], "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", "terseLabel": "Entity Registrant Name" } } }, "localname": "EntityRegistrantName", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r577" ], "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", "terseLabel": "Entity Shell Company" } } }, "localname": "EntityShellCompany", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r577" ], "lang": { "en-us": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business", "terseLabel": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r577" ], "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", "terseLabel": "Entity Tax Identification Number" } } }, "localname": "EntityTaxIdentificationNumber", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "xbrltype": "employerIdItemType" }, "dei_LocalPhoneNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Local phone number for entity.", "label": "Local Phone Number", "terseLabel": "Local Phone Number" } } }, "localname": "LocalPhoneNumber", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r576" ], "lang": { "en-us": { "role": { "documentation": "Title of a 12(b) registered security.", "label": "Title of 12(b) Security", "terseLabel": "Title of 12(b) Security" } } }, "localname": "Security12bTitle", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r578" ], "lang": { "en-us": { "role": { "documentation": "Name of the Exchange on which a security is registered.", "label": "Security Exchange Name", "terseLabel": "Security Exchange Name" } } }, "localname": "SecurityExchangeName", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol", "terseLabel": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "xbrltype": "tradingSymbolItemType" }, "ecd_Additional402vDisclosureTextBlock": { "auth_ref": [ "r613" ], "lang": { "en-us": { "role": { "label": "Additional 402(v) Disclosure [Text Block]", "terseLabel": "Additional 402(v) Disclosure" } } }, "localname": "Additional402vDisclosureTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AdjToCompAmt": { "auth_ref": [ "r619" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation Amount", "terseLabel": "Adjustment to Compensation, Amount" } } }, "localname": "AdjToCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_AdjToCompAxis": { "auth_ref": [ "r619" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation [Axis]", "terseLabel": "Adjustment to Compensation:" } } }, "localname": "AdjToCompAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "auth_ref": [ "r619" ], "lang": { "en-us": { "role": { "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]", "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote" } } }, "localname": "AdjToNonPeoNeoCompFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AdjToPeoCompFnTextBlock": { "auth_ref": [ "r619" ], "lang": { "en-us": { "role": { "label": "Adjustment To PEO Compensation, Footnote [Text Block]", "terseLabel": "Adjustment To PEO Compensation, Footnote" } } }, "localname": "AdjToPeoCompFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AggtErrCompAmt": { "auth_ref": [ "r584", "r595", "r605", "r630" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Amount", "terseLabel": "Aggregate Erroneous Compensation Amount" } } }, "localname": "AggtErrCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "auth_ref": [ "r587", "r598", "r608", "r633" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]", "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined" } } }, "localname": "AggtErrCompNotYetDeterminedTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AllAdjToCompMember": { "auth_ref": [ "r619" ], "lang": { "en-us": { "role": { "label": "All Adjustments to Compensation [Member]", "terseLabel": "All Adjustments to Compensation" } } }, "localname": "AllAdjToCompMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_AllExecutiveCategoriesMember": { "auth_ref": [ "r626" ], "lang": { "en-us": { "role": { "label": "All Executive Categories [Member]", "terseLabel": "All Executive Categories" } } }, "localname": "AllExecutiveCategoriesMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_AllIndividualsMember": { "auth_ref": [ "r591", "r599", "r609", "r626", "r634", "r638", "r646" ], "lang": { "en-us": { "role": { "label": "All Individuals [Member]", "terseLabel": "All Individuals" } } }, "localname": "AllIndividualsMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_AllTradingArrangementsMember": { "auth_ref": [ "r644" ], "lang": { "en-us": { "role": { "label": "All Trading Arrangements [Member]", "terseLabel": "All Trading Arrangements" } } }, "localname": "AllTradingArrangementsMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "domainItemType" }, "ecd_AwardExrcPrice": { "auth_ref": [ "r641" ], "lang": { "en-us": { "role": { "label": "Award Exercise Price", "terseLabel": "Exercise Price" } } }, "localname": "AwardExrcPrice", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "perShareItemType" }, "ecd_AwardGrantDateFairValue": { "auth_ref": [ "r642" ], "lang": { "en-us": { "role": { "label": "Award Grant Date Fair Value", "terseLabel": "Fair Value as of Grant Date" } } }, "localname": "AwardGrantDateFairValue", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_AwardTmgDiscLineItems": { "auth_ref": [ "r637" ], "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]" } } }, "localname": "AwardTmgDiscLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "auth_ref": [ "r637" ], "lang": { "en-us": { "role": { "label": "Award Timing, How MNPI Considered [Text Block]", "terseLabel": "Award Timing, How MNPI Considered" } } }, "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AwardTmgMethodTextBlock": { "auth_ref": [ "r637" ], "lang": { "en-us": { "role": { "label": "Award Timing Method [Text Block]", "terseLabel": "Award Timing Method" } } }, "localname": "AwardTmgMethodTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AwardTmgMnpiCnsdrdFlag": { "auth_ref": [ "r637" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Considered [Flag]", "terseLabel": "Award Timing MNPI Considered" } } }, "localname": "AwardTmgMnpiCnsdrdFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "booleanItemType" }, "ecd_AwardTmgMnpiDiscTextBlock": { "auth_ref": [ "r637" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Disclosure [Text Block]", "terseLabel": "Award Timing MNPI Disclosure" } } }, "localname": "AwardTmgMnpiDiscTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AwardTmgPredtrmndFlag": { "auth_ref": [ "r637" ], "lang": { "en-us": { "role": { "label": "Award Timing Predetermined [Flag]", "terseLabel": "Award Timing Predetermined" } } }, "localname": "AwardTmgPredtrmndFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "booleanItemType" }, "ecd_AwardUndrlygSecuritiesAmt": { "auth_ref": [ "r640" ], "lang": { "en-us": { "role": { "label": "Award Underlying Securities Amount", "terseLabel": "Underlying Securities" } } }, "localname": "AwardUndrlygSecuritiesAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "decimalItemType" }, "ecd_AwardsCloseToMnpiDiscIndName": { "auth_ref": [ "r639" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures, Individual Name", "terseLabel": "Name" } } }, "localname": "AwardsCloseToMnpiDiscIndName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "stringItemType" }, "ecd_AwardsCloseToMnpiDiscTable": { "auth_ref": [ "r638" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table]", "terseLabel": "Awards Close in Time to MNPI Disclosures" } } }, "localname": "AwardsCloseToMnpiDiscTable", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "stringItemType" }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "auth_ref": [ "r638" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]", "terseLabel": "Awards Close in Time to MNPI Disclosures, Table" } } }, "localname": "AwardsCloseToMnpiDiscTableTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_ChangedPeerGroupFnTextBlock": { "auth_ref": [ "r617" ], "lang": { "en-us": { "role": { "label": "Changed Peer Group, Footnote [Text Block]", "terseLabel": "Changed Peer Group, Footnote" } } }, "localname": "ChangedPeerGroupFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_CoSelectedMeasureAmt": { "auth_ref": [ "r618" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Amount", "terseLabel": "Company Selected Measure Amount" } } }, "localname": "CoSelectedMeasureAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "decimalItemType" }, "ecd_CoSelectedMeasureName": { "auth_ref": [ "r618" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Name", "terseLabel": "Company Selected Measure Name" } } }, "localname": "CoSelectedMeasureName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "normalizedStringItemType" }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "auth_ref": [ "r623" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Company Selected Measure" } } }, "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "auth_ref": [ "r622" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Net Income [Text Block]", "terseLabel": "Compensation Actually Paid vs. Net Income" } } }, "localname": "CompActuallyPaidVsNetIncomeTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "auth_ref": [ "r624" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Other Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Other Measure" } } }, "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "auth_ref": [ "r621" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]", "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return" } } }, "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "auth_ref": [ "r620" ], "lang": { "en-us": { "role": { "label": "Equity Valuation Assumption Difference, Footnote [Text Block]", "terseLabel": "Equity Valuation Assumption Difference, Footnote" } } }, "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_ErrCompAnalysisTextBlock": { "auth_ref": [ "r584", "r595", "r605", "r630" ], "lang": { "en-us": { "role": { "label": "Erroneous Compensation Analysis [Text Block]", "terseLabel": "Erroneous Compensation Analysis" } } }, "localname": "ErrCompAnalysisTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_ErrCompRecoveryTable": { "auth_ref": [ "r581", "r592", "r602", "r627" ], "lang": { "en-us": { "role": { "label": "Erroneously Awarded Compensation Recovery [Table]", "terseLabel": "Erroneously Awarded Compensation Recovery" } } }, "localname": "ErrCompRecoveryTable", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "stringItemType" }, "ecd_ExecutiveCategoryAxis": { "auth_ref": [ "r626" ], "lang": { "en-us": { "role": { "label": "Executive Category [Axis]", "terseLabel": "Executive Category:" } } }, "localname": "ExecutiveCategoryAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "auth_ref": [ "r588", "r599", "r609", "r634" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "auth_ref": [ "r588", "r599", "r609", "r634" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Expense of Enforcement, Amount", "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "auth_ref": [ "r588", "r599", "r609", "r634" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Violation of Home Country Law, Amount", "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "auth_ref": [ "r588", "r599", "r609", "r634" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Explanation of Impracticability [Text Block]", "terseLabel": "Forgone Recovery, Explanation of Impracticability" } } }, "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_ForgoneRecoveryIndName": { "auth_ref": [ "r588", "r599", "r609", "r634" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Individual Name", "terseLabel": "Name" } } }, "localname": "ForgoneRecoveryIndName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "stringItemType" }, "ecd_IndividualAxis": { "auth_ref": [ "r591", "r599", "r609", "r626", "r634", "r638", "r646" ], "lang": { "en-us": { "role": { "label": "Individual [Axis]", "terseLabel": "Individual:" } } }, "localname": "IndividualAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_InsiderTradingArrLineItems": { "auth_ref": [ "r644" ], "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]" } } }, "localname": "InsiderTradingArrLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_InsiderTradingPoliciesProcLineItems": { "auth_ref": [ "r580", "r650" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]" } } }, "localname": "InsiderTradingPoliciesProcLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "auth_ref": [ "r580", "r650" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Adopted [Flag]", "terseLabel": "Insider Trading Policies and Procedures Adopted" } } }, "localname": "InsiderTrdPoliciesProcAdoptedFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "xbrltype": "booleanItemType" }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "auth_ref": [ "r580", "r650" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]", "terseLabel": "Insider Trading Policies and Procedures Not Adopted" } } }, "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "xbrltype": "textBlockItemType" }, "ecd_MeasureAxis": { "auth_ref": [ "r618" ], "lang": { "en-us": { "role": { "label": "Measure [Axis]", "terseLabel": "Measure:" } } }, "localname": "MeasureAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_MeasureName": { "auth_ref": [ "r618" ], "lang": { "en-us": { "role": { "label": "Measure Name", "terseLabel": "Name" } } }, "localname": "MeasureName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "normalizedStringItemType" }, "ecd_MnpiDiscTimedForCompValFlag": { "auth_ref": [ "r637" ], "lang": { "en-us": { "role": { "label": "MNPI Disclosure Timed for Compensation Value [Flag]", "terseLabel": "MNPI Disclosure Timed for Compensation Value" } } }, "localname": "MnpiDiscTimedForCompValFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "booleanItemType" }, "ecd_MtrlTermsOfTrdArrTextBlock": { "auth_ref": [ "r645" ], "lang": { "en-us": { "role": { "label": "Material Terms of Trading Arrangement [Text Block]", "terseLabel": "Material Terms of Trading Arrangement" } } }, "localname": "MtrlTermsOfTrdArrTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "textBlockItemType" }, "ecd_NamedExecutiveOfficersFnTextBlock": { "auth_ref": [ "r619" ], "lang": { "en-us": { "role": { "label": "Named Executive Officers, Footnote [Text Block]", "terseLabel": "Named Executive Officers, Footnote" } } }, "localname": "NamedExecutiveOfficersFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_NonGaapMeasureDescriptionTextBlock": { "auth_ref": [ "r618" ], "lang": { "en-us": { "role": { "label": "Non-GAAP Measure Description [Text Block]", "terseLabel": "Non-GAAP Measure Description" } } }, "localname": "NonGaapMeasureDescriptionTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_NonNeosMember": { "auth_ref": [ "r588", "r599", "r609", "r626", "r634" ], "lang": { "en-us": { "role": { "label": "Non-NEOs [Member]", "terseLabel": "Non-NEOs" } } }, "localname": "NonNeosMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "domainItemType" }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "auth_ref": [ "r616" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Compensation Actually Paid Amount", "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_NonPeoNeoAvgTotalCompAmt": { "auth_ref": [ "r615" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Total Compensation Amount", "terseLabel": "Non-PEO NEO Average Total Compensation Amount" } } }, "localname": "NonPeoNeoAvgTotalCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_NonPeoNeoMember": { "auth_ref": [ "r626" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO [Member]", "terseLabel": "Non-PEO NEO" } } }, "localname": "NonPeoNeoMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_NonRule10b51ArrAdoptedFlag": { "auth_ref": [ "r645" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted" } } }, "localname": "NonRule10b51ArrAdoptedFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "booleanItemType" }, "ecd_NonRule10b51ArrTrmntdFlag": { "auth_ref": [ "r645" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated" } } }, "localname": "NonRule10b51ArrTrmntdFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "booleanItemType" }, "ecd_OtherPerfMeasureAmt": { "auth_ref": [ "r618" ], "lang": { "en-us": { "role": { "label": "Other Performance Measure, Amount", "terseLabel": "Other Performance Measure, Amount" } } }, "localname": "OtherPerfMeasureAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "decimalItemType" }, "ecd_OutstandingAggtErrCompAmt": { "auth_ref": [ "r586", "r597", "r607", "r632" ], "lang": { "en-us": { "role": { "label": "Outstanding Aggregate Erroneous Compensation Amount", "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "localname": "OutstandingAggtErrCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_OutstandingRecoveryCompAmt": { "auth_ref": [ "r589", "r600", "r610", "r635" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery Compensation Amount", "terseLabel": "Compensation Amount" } } }, "localname": "OutstandingRecoveryCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_OutstandingRecoveryIndName": { "auth_ref": [ "r589", "r600", "r610", "r635" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery, Individual Name", "terseLabel": "Name" } } }, "localname": "OutstandingRecoveryIndName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "stringItemType" }, "ecd_PayVsPerformanceDisclosureLineItems": { "auth_ref": [ "r614" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]" } } }, "localname": "PayVsPerformanceDisclosureLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_PeerGroupIssuersFnTextBlock": { "auth_ref": [ "r617" ], "lang": { "en-us": { "role": { "label": "Peer Group Issuers, Footnote [Text Block]", "terseLabel": "Peer Group Issuers, Footnote" } } }, "localname": "PeerGroupIssuersFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_PeerGroupTotalShareholderRtnAmt": { "auth_ref": [ "r617" ], "lang": { "en-us": { "role": { "label": "Peer Group Total Shareholder Return Amount", "terseLabel": "Peer Group Total Shareholder Return Amount" } } }, "localname": "PeerGroupTotalShareholderRtnAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_PeoActuallyPaidCompAmt": { "auth_ref": [ "r616" ], "lang": { "en-us": { "role": { "label": "PEO Actually Paid Compensation Amount", "terseLabel": "PEO Actually Paid Compensation Amount" } } }, "localname": "PeoActuallyPaidCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_PeoMember": { "auth_ref": [ "r626" ], "lang": { "en-us": { "role": { "label": "PEO [Member]", "terseLabel": "PEO" } } }, "localname": "PeoMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_PeoName": { "auth_ref": [ "r619" ], "lang": { "en-us": { "role": { "label": "PEO Name", "terseLabel": "PEO Name" } } }, "localname": "PeoName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "normalizedStringItemType" }, "ecd_PeoTotalCompAmt": { "auth_ref": [ "r615" ], "lang": { "en-us": { "role": { "label": "PEO Total Compensation Amount", "terseLabel": "PEO Total Compensation Amount" } } }, "localname": "PeoTotalCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_PvpTable": { "auth_ref": [ "r614" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Table]", "terseLabel": "Pay vs Performance Disclosure" } } }, "localname": "PvpTable", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_PvpTableTextBlock": { "auth_ref": [ "r614" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance [Table Text Block]", "terseLabel": "Pay vs Performance Disclosure, Table" } } }, "localname": "PvpTableTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "auth_ref": [ "r581", "r592", "r602", "r627" ], "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]" } } }, "localname": "RecoveryOfErrCompDisclosureLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_RestatementDateAxis": { "auth_ref": [ "r582", "r593", "r603", "r628" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date [Axis]", "terseLabel": "Restatement Determination Date:" } } }, "localname": "RestatementDateAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "stringItemType" }, "ecd_RestatementDeterminationDate": { "auth_ref": [ "r583", "r594", "r604", "r629" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date", "terseLabel": "Restatement Determination Date" } } }, "localname": "RestatementDeterminationDate", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "dateItemType" }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "auth_ref": [ "r590", "r601", "r611", "r636" ], "lang": { "en-us": { "role": { "label": "Restatement Does Not Require Recovery [Text Block]", "terseLabel": "Restatement does not require Recovery" } } }, "localname": "RestatementDoesNotRequireRecoveryTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_Rule10b51ArrAdoptedFlag": { "auth_ref": [ "r645" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Adopted" } } }, "localname": "Rule10b51ArrAdoptedFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "booleanItemType" }, "ecd_Rule10b51ArrTrmntdFlag": { "auth_ref": [ "r645" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Terminated" } } }, "localname": "Rule10b51ArrTrmntdFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "booleanItemType" }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "auth_ref": [ "r585", "r596", "r606", "r631" ], "lang": { "en-us": { "role": { "label": "Stock Price or TSR Estimation Method [Text Block]", "terseLabel": "Stock Price or TSR Estimation Method" } } }, "localname": "StkPrcOrTsrEstimationMethodTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_TabularListTableTextBlock": { "auth_ref": [ "r625" ], "lang": { "en-us": { "role": { "label": "Tabular List [Table Text Block]", "terseLabel": "Tabular List, Table" } } }, "localname": "TabularListTableTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_TotalShareholderRtnAmt": { "auth_ref": [ "r617" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Amount", "terseLabel": "Total Shareholder Return Amount" } } }, "localname": "TotalShareholderRtnAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "auth_ref": [ "r624" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Vs Peer Group [Text Block]", "terseLabel": "Total Shareholder Return Vs Peer Group" } } }, "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_TradingArrAxis": { "auth_ref": [ "r644" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement [Axis]", "terseLabel": "Trading Arrangement:" } } }, "localname": "TradingArrAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TradingArrByIndTable": { "auth_ref": [ "r646" ], "lang": { "en-us": { "role": { "label": "Trading Arrangements, by Individual [Table]", "terseLabel": "Trading Arrangements, by Individual" } } }, "localname": "TradingArrByIndTable", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TrdArrAdoptionDate": { "auth_ref": [ "r647" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Adoption Date", "terseLabel": "Adoption Date" } } }, "localname": "TrdArrAdoptionDate", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TrdArrDuration": { "auth_ref": [ "r648" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Duration", "terseLabel": "Arrangement Duration" } } }, "localname": "TrdArrDuration", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "durationItemType" }, "ecd_TrdArrIndName": { "auth_ref": [ "r646" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Name", "terseLabel": "Name" } } }, "localname": "TrdArrIndName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TrdArrIndTitle": { "auth_ref": [ "r646" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Title", "terseLabel": "Title" } } }, "localname": "TrdArrIndTitle", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TrdArrSecuritiesAggAvailAmt": { "auth_ref": [ "r649" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Securities Aggregate Available Amount", "terseLabel": "Aggregate Available" } } }, "localname": "TrdArrSecuritiesAggAvailAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "sharesItemType" }, "ecd_TrdArrTerminationDate": { "auth_ref": [ "r647" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Termination Date", "terseLabel": "Termination Date" } } }, "localname": "TrdArrTerminationDate", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_UndrlygSecurityMktPriceChngPct": { "auth_ref": [ "r643" ], "lang": { "en-us": { "role": { "label": "Underlying Security Market Price Change, Percent", "terseLabel": "Underlying Security Market Price Change" } } }, "localname": "UndrlygSecurityMktPriceChngPct", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "pureItemType" }, "gdyn_A2018StockPlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "2018 Stock Plan [Member]", "terseLabel": "2018 Plan" } } }, "localname": "A2018StockPlanMember", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "xbrltype": "domainItemType" }, "gdyn_A2020EquityIncentivePlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2020 Equity Incentive Plan", "label": "2020 Equity Incentive Plan [Member]", "terseLabel": "2020 Plan" } } }, "localname": "A2020EquityIncentivePlanMember", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "xbrltype": "domainItemType" }, "gdyn_AccruedRebates": { "auth_ref": [], "calculation": { "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Rebates offered on sale that reduce the amount of revenue recognzied.", "label": "Accrued Rebates", "terseLabel": "Accrued rebates" } } }, "localname": "AccruedRebates", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "gdyn_BusinessAcquisitionNumberOfEmployeesAcquired": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Business Acquisition, Number of Employees Acquired", "label": "Business Acquisition, Number of Employees Acquired", "terseLabel": "Number of employees acquired" } } }, "localname": "BusinessAcquisitionNumberOfEmployeesAcquired", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/AcquisitionsNarrativeDetails" ], "xbrltype": "integerItemType" }, "gdyn_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill": { "auth_ref": [], "calculation": { "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails": { "order": 2.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets Acquired Including Goodwill", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets Acquired Including Goodwill", "totalLabel": "Total assets acquired" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails" ], "xbrltype": "monetaryItemType" }, "gdyn_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayableAndAccruedExpenses": { "auth_ref": [], "calculation": { "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails": { "order": 1.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable and Accrued Expenses", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable and Accrued Expenses", "negatedTerseLabel": "Accounts payable, accrued expenses and other liabilities" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayableAndAccruedExpenses", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails" ], "xbrltype": "monetaryItemType" }, "gdyn_CustomerOneMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customer One", "label": "Customer One [Member]", "terseLabel": "Customer 1" } } }, "localname": "CustomerOneMember", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/RevenueConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "gdyn_CustomerTwoMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customer Two", "label": "Customer Two [Member]", "terseLabel": "Customer 2" } } }, "localname": "CustomerTwoMember", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/RevenueConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "gdyn_DailySimpleSOFRSONIAOrSARONMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Daily Simple SOFR, SONIA, Or SARON", "label": "Daily Simple SOFR, SONIA, Or SARON [Member]", "terseLabel": "Daily Simple SOFR, SONIA, Or SARON Rate" } } }, "localname": "DailySimpleSOFRSONIAOrSARONMember", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "xbrltype": "domainItemType" }, "gdyn_EarningsPerShareBasicAndDilutedEPSAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Earnings Per Share, Basic And Diluted EPS", "label": "Earnings Per Share, Basic And Diluted EPS [Abstract]", "terseLabel": "Net income/(loss) per share" } } }, "localname": "EarningsPerShareBasicAndDilutedEPSAbstract", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofComputationofBasicandDilutedEarningsPerShareDetails" ], "xbrltype": "stringItemType" }, "gdyn_EstimatedFutureOperatingResultsPeriodSubsequentToAcquisitionDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Estimated Future Operating Results Period, Subsequent To Acquisition Date", "label": "Estimated Future Operating Results Period, Subsequent To Acquisition Date", "terseLabel": "Estimated future operating results period" } } }, "localname": "EstimatedFutureOperatingResultsPeriodSubsequentToAcquisitionDate", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/AcquisitionsNarrativeDetails" ], "xbrltype": "durationItemType" }, "gdyn_LineOfCreditFacilityContingentMaximumBorrowingCapacity": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Line of Credit Facility, Contingent Maximum Borrowing Capacity", "label": "Line of Credit Facility, Contingent Maximum Borrowing Capacity", "terseLabel": "Contingent maximum borrowing capacity" } } }, "localname": "LineOfCreditFacilityContingentMaximumBorrowingCapacity", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "gdyn_MutualMobileAndNextSphereMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Mutual Mobile and NextSphere combined", "label": "Mutual Mobile and NextSphere [Member]", "terseLabel": "Mutual Mobile and NextSphere" } } }, "localname": "MutualMobileAndNextSphereMember", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/AcquisitionsProformainformationDetails" ], "xbrltype": "domainItemType" }, "gdyn_MutualMobileIncMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Mutual Mobile Inc.", "label": "Mutual Mobile Inc. [Member]", "terseLabel": "Mutual Mobile" } } }, "localname": "MutualMobileIncMember", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails", "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails", "http://www.gdyn.com/role/AcquisitionsNarrativeDetails", "http://www.gdyn.com/role/FairValueFairValueOfContingentConsiderationPayableDetails", "http://www.gdyn.com/role/FairValueNarrativeDetails" ], "xbrltype": "domainItemType" }, "gdyn_NatureOfBusinessPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Description of business and nature of operations", "label": "Nature Of Business Policy [Policy Text Block]", "terseLabel": "Nature of operations" } } }, "localname": "NatureOfBusinessPolicyPolicyTextBlock", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "gdyn_NextSphereTechnologiesIncMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "NextSphere Technologies Inc", "label": "NextSphere Technologies Inc [Member]", "terseLabel": "NextSphere" } } }, "localname": "NextSphereTechnologiesIncMember", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails", "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails", "http://www.gdyn.com/role/AcquisitionsNarrativeDetails", "http://www.gdyn.com/role/FairValueFairValueOfContingentConsiderationPayableDetails", "http://www.gdyn.com/role/FairValueNarrativeDetails" ], "xbrltype": "domainItemType" }, "gdyn_NoncashIncreaseDecreaseInOperatingLeaseLiability": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Noncash Increase (Decrease) In Operating Lease, Liability", "label": "Noncash Increase (Decrease) In Operating Lease, Liability", "terseLabel": "Non-cash net change in lease liability due to lease modifications" } } }, "localname": "NoncashIncreaseDecreaseInOperatingLeaseLiability", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/LeasesScheduleofSupplementalLeaseInformationDetails" ], "xbrltype": "monetaryItemType" }, "gdyn_NoncashIncreaseDecreaseInOperatingLeaseRightOfUseAsset": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Noncash Increase (Decrease) In Operating Lease, Right-of-Use Asset", "label": "Noncash Increase (Decrease) In Operating Lease, Right-of-Use Asset", "terseLabel": "Non-cash net change in lease assets due to lease modifications" } } }, "localname": "NoncashIncreaseDecreaseInOperatingLeaseRightOfUseAsset", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/LeasesScheduleofSupplementalLeaseInformationDetails" ], "xbrltype": "monetaryItemType" }, "gdyn_NumberOfMajorCustomers": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of major customers.", "label": "Number Of Major Customers", "terseLabel": "Number of major customers" } } }, "localname": "NumberOfMajorCustomers", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/RevenueConcentrationRiskDetails" ], "xbrltype": "integerItemType" }, "gdyn_NumeratorForBasicAndDilutedLossPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "NumeratorForBasicAndDilutedLossPerShareAbstract", "terseLabel": "Numerator for basic and diluted loss per share" } } }, "localname": "NumeratorForBasicAndDilutedLossPerShareAbstract", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofComputationofBasicandDilutedEarningsPerShareDetails" ], "xbrltype": "stringItemType" }, "gdyn_OtherGeographicRegionsNotIndividuallyDisclosedMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Other Geographic Regions Not Individually Disclosed", "label": "Other Geographic Regions Not Individually Disclosed [Member]", "terseLabel": "Other" } } }, "localname": "OtherGeographicRegionsNotIndividuallyDisclosedMember", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/RevenueDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "gdyn_OtherRevenueMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Other Revenue", "label": "Other Revenue [Member]", "terseLabel": "Other revenues" } } }, "localname": "OtherRevenueMember", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/RevenueDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "gdyn_PaymentNetOfProceedsTaxWithholdingShareBasedPaymentArrangement": { "auth_ref": [], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for options exercised under share-based payment arrangement net of amount of cash inflow from exercise .", "label": "Payment Net of Proceeds, Tax Withholding, Share-Based Payment Arrangement", "negatedTerseLabel": "Payments of tax obligations resulted from exercises of stock options, net of proceeds" } } }, "localname": "PaymentNetOfProceedsTaxWithholdingShareBasedPaymentArrangement", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "gdyn_PropertyPlantAndEquipmentExcludingCapitalizedSoftwareCostsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Property, Plant and Equipment, Excluding Capitalized Software Costs", "label": "Property, Plant and Equipment, Excluding Capitalized Software Costs [Member]", "terseLabel": "Property, Plant and Equipment, Excluding Capitalized Software Costs" } } }, "localname": "PropertyPlantAndEquipmentExcludingCapitalizedSoftwareCostsMember", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "gdyn_SOFROrAdjustedEURIBORRateMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "SOFR Or Adjusted EURIBOR Rate", "label": "SOFR Or Adjusted EURIBOR Rate [Member]", "terseLabel": "SOFR Or Adjusted EURIBOR Rate" } } }, "localname": "SOFROrAdjustedEURIBORRateMember", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "xbrltype": "domainItemType" }, "gdyn_ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceGoal": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Performance Goal", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Performance Goal", "terseLabel": "Performance factor percentage" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceGoal", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails" ], "xbrltype": "percentItemType" }, "gdyn_StanKlimoffMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Stan Klimoff", "label": "Stan Klimoff [Member]" } } }, "localname": "StanKlimoffMember", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "domainItemType" }, "gdyn_StanKlimoffTradingArrangementTrancheOneMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Stan Klimoff Trading Arrangement, Tranche One", "label": "Stan Klimoff Trading Arrangement, Tranche One [Member]" } } }, "localname": "StanKlimoffTradingArrangementTrancheOneMember", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "domainItemType" }, "gdyn_StanKlimoffTradingArrangementTrancheTwoMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Stan Klimoff Trading Arrangement, Tranche Two", "label": "Stan Klimoff Trading Arrangement, Tranche Two [Member]" } } }, "localname": "StanKlimoffTradingArrangementTrancheTwoMember", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "domainItemType" }, "gdyn_TechnologyMediaAndTelecomMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Technology, Media, And Telecom", "label": "Technology, Media, And Telecom [Member]", "terseLabel": "Technology, Media and Telecom" } } }, "localname": "TechnologyMediaAndTelecomMember", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/RevenueDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "gdyn_UnbilledReceivablesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Unbilled Receivables", "label": "Unbilled Receivables [Member]", "terseLabel": "Unbilled receivable" } } }, "localname": "UnbilledReceivablesMember", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/RevenueConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "gdyn_VariableLeaseCostReversal": { "auth_ref": [], "calculation": { "http://www.gdyn.com/role/LeasesLeaseCostDetails": { "order": 2.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Variable Lease, Cost (Reversal)", "label": "Variable Lease, Cost (Reversal)", "terseLabel": "Variable lease cost" } } }, "localname": "VariableLeaseCostReversal", "nsuri": "http://www.gdyn.com/20230630", "presentation": [ "http://www.gdyn.com/role/LeasesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "srt_EuropeMember": { "auth_ref": [ "r741", "r742", "r743", "r744" ], "lang": { "en-us": { "role": { "label": "Europe [Member]", "terseLabel": "Europe" } } }, "localname": "EuropeMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.gdyn.com/role/RevenueDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r219", "r550", "r687", "r734", "r735" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]", "terseLabel": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.gdyn.com/role/RevenueConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "srt_MaximumMember": { "auth_ref": [ "r241", "r242", "r243", "r244", "r286", "r409", "r439", "r455", "r456", "r509", "r511", "r513", "r514", "r516", "r530", "r531", "r542", "r547", "r560", "r565", "r686", "r726", "r727", "r728", "r729", "r730", "r731" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails", "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails", "http://www.gdyn.com/role/LeasesNarrativeDetails", "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r241", "r242", "r243", "r244", "r286", "r409", "r439", "r455", "r456", "r509", "r511", "r513", "r514", "r516", "r530", "r531", "r542", "r547", "r560", "r565", "r686", "r726", "r727", "r728", "r729", "r730", "r731" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails", "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails", "http://www.gdyn.com/role/LeasesNarrativeDetails", "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [ "r219", "r550", "r687", "r734", "r735" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]", "terseLabel": "Customer [Domain]" } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.gdyn.com/role/RevenueConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "srt_NorthAmericaMember": { "auth_ref": [ "r741", "r742", "r743", "r744" ], "lang": { "en-us": { "role": { "label": "North America [Member]", "terseLabel": "North America" } } }, "localname": "NorthAmericaMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.gdyn.com/role/RevenueDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r216", "r410", "r433", "r434", "r435", "r436", "r437", "r438", "r532", "r548", "r564", "r657", "r682", "r683", "r687", "r734" ], "lang": { "en-us": { "role": { "label": "Product and Service [Axis]", "terseLabel": "Product and Service [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.gdyn.com/role/RevenueDisaggregationofRevenueDetails" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r216", "r410", "r433", "r434", "r435", "r436", "r437", "r438", "r532", "r548", "r564", "r657", "r682", "r683", "r687", "r734" ], "lang": { "en-us": { "role": { "label": "Product and Service [Domain]", "terseLabel": "Product and Service [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.gdyn.com/role/RevenueDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r241", "r242", "r243", "r244", "r279", "r286", "r315", "r316", "r317", "r408", "r409", "r439", "r455", "r456", "r509", "r511", "r513", "r514", "r516", "r530", "r531", "r542", "r547", "r560", "r565", "r568", "r680", "r686", "r727", "r728", "r729", "r730", "r731" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]", "terseLabel": "Statistical Measurement [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails", "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails", "http://www.gdyn.com/role/LeasesNarrativeDetails", "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r241", "r242", "r243", "r244", "r279", "r286", "r315", "r316", "r317", "r408", "r409", "r439", "r455", "r456", "r509", "r511", "r513", "r514", "r516", "r530", "r531", "r542", "r547", "r560", "r565", "r568", "r680", "r686", "r727", "r728", "r729", "r730", "r731" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Domain]", "terseLabel": "Statistical Measurement [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails", "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails", "http://www.gdyn.com/role/LeasesNarrativeDetails", "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r217", "r218", "r452", "r453", "r454", "r510", "r512", "r515", "r517", "r521", "r522", "r523", "r524", "r525", "r526", "r527", "r528", "r529", "r533", "r549", "r568", "r687", "r734" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]", "terseLabel": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.gdyn.com/role/RevenueDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r217", "r218", "r452", "r453", "r454", "r510", "r512", "r515", "r517", "r518", "r521", "r522", "r523", "r524", "r525", "r526", "r527", "r528", "r529", "r533", "r549", "r568", "r687", "r734" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]", "terseLabel": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.gdyn.com/role/RevenueDisaggregationofRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accounting Policies [Abstract]", "terseLabel": "Accounting Policies [Abstract]" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for accounts payable, accrued expenses, and other liabilities that are classified as current at the end of the reporting period.", "label": "Accounts Payable, Accrued Liabilities, and Other Liabilities Disclosure, Current [Text Block]", "terseLabel": "Accrued expenses and other current liabilities" } } }, "localname": "AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/Accruedexpensesandothercurrentliabilities" ], "xbrltype": "textBlockItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r23", "r563" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "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 liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accounts Payable, Current", "terseLabel": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableMember": { "auth_ref": [ "r519" ], "lang": { "en-us": { "role": { "documentation": "Due from customers or clients for goods or services that have been delivered or sold.", "label": "Accounts Receivable [Member]", "terseLabel": "Accounts receivable" } } }, "localname": "AccountsReceivableMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/RevenueConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r220", "r221" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.", "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "terseLabel": "Accounts receivable, net of allowance of $524 and $443 as of June\u00a030, 2023 and December\u00a031, 2022, respectively", "verboseLabel": "Accounts receivable" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/RevenueRelatedPartiesDetails", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedIncomeTaxesCurrent": { "auth_ref": [ "r86", "r126" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 5.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.", "label": "Accrued Income Taxes, Current", "terseLabel": "Accrued income taxes" } } }, "localname": "AccruedIncomeTaxesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesAndOtherLiabilities": { "auth_ref": [], "calculation": { "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other.", "label": "Accrued Liabilities and Other Liabilities", "terseLabel": "Accrued expenses and other current liabilities", "totalLabel": "Total accrued expenses and other current liabilities" } } }, "localname": "AccruedLiabilitiesAndOtherLiabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r26" ], "calculation": { "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails": { "order": 5.0, "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities", "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/2023", "presentation": [ "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "auth_ref": [ "r52", "r147", "r426" ], "calculation": { "http://www.gdyn.com/role/PropertyandEquipmentnetDetails": { "order": 2.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/2023", "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r30", "r31", "r94", "r152", "r423", "r444", "r445" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Accumulated other comprehensive income/(loss)" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r6", "r14", "r31", "r356", "r359", "r398", "r440", "r441", "r662", "r663", "r664", "r669", "r670", "r671" ], "lang": { "en-us": { "role": { "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.", "label": "AOCI Attributable to Parent [Member]", "terseLabel": "Accumulated other comprehensive income/(loss)" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "xbrltype": "domainItemType" }, "us-gaap_AdditionalPaidInCapital": { "auth_ref": [ "r89", "r563", "r738" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.", "label": "Additional Paid in Capital", "terseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapital", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r324", "r325", "r326", "r450", "r669", "r670", "r671", "r718", "r739" ], "lang": { "en-us": { "role": { "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.", "label": "Additional Paid-in Capital [Member]", "terseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation", "terseLabel": "Tax withholding obligation" } } }, "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r57", "r58", "r289" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.", "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition", "terseLabel": "Stock-based compensation" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Adjustments to reconcile net loss to net cash provided by operating activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "stringItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r319", "r327" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.", "label": "Share-Based Payment Arrangement, Expense", "terseLabel": "Total stock-based compensation" } } }, "localname": "AllocatedShareBasedCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofemployeestockbasedcompensationrecognizedDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "auth_ref": [ "r153", "r222", "r227" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.", "label": "Accounts Receivable, Allowance for Credit Loss, Current", "terseLabel": "Allowance for doubtful accounts" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfFinancingCosts": { "auth_ref": [ "r98", "r263", "r384", "r666" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 14.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization expense attributable to debt issuance costs.", "label": "Amortization of Debt Issuance Costs", "terseLabel": "Debt issuance cost amortization" } } }, "localname": "AmortizationOfFinancingCosts", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r199" ], "lang": { "en-us": { "role": { "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "terseLabel": "Antidilutive securities excluded from computation of earnings per share (in shares)" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "auth_ref": [ "r40" ], "lang": { "en-us": { "role": { "documentation": "Information by type of antidilutive security.", "label": "Antidilutive Securities [Axis]", "terseLabel": "Antidilutive Securities [Axis]" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]", "terseLabel": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AntidilutiveSecuritiesNameDomain": { "auth_ref": [ "r40" ], "lang": { "en-us": { "role": { "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented.", "label": "Antidilutive Securities, Name [Domain]", "terseLabel": "Antidilutive Securities, Name [Domain]" } } }, "localname": "AntidilutiveSecuritiesNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Assets": { "auth_ref": [ "r125", "r151", "r171", "r204", "r210", "r214", "r224", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r351", "r353", "r376", "r419", "r477", "r563", "r575", "r684", "r685", "r724" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets", "totalLabel": "Total assets" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "Assets" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r143", "r156", "r171", "r224", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r351", "r353", "r376", "r563", "r684", "r685", "r724" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "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/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "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/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "stringItemType" }, "us-gaap_AutomobilesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Vehicles that are used primarily for transporting people.", "label": "Automobiles [Member]", "terseLabel": "Machinery and automobiles" } } }, "localname": "AutomobilesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317", "r318" ], "lang": { "en-us": { "role": { "documentation": "Information by type of award under share-based payment arrangement.", "label": "Award Type [Axis]", "terseLabel": "Award Type [Axis]" } } }, "localname": "AwardTypeAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "stringItemType" }, "us-gaap_BaseRateMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Minimum rate investor will accept.", "label": "Base Rate [Member]", "terseLabel": "Base Rate" } } }, "localname": "BaseRateMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).", "label": "Basis of Accounting, Policy [Policy Text Block]", "terseLabel": "Basis of presentation" } } }, "localname": "BasisOfAccountingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "auth_ref": [ "r346", "r558", "r559" ], "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]", "terseLabel": "Business Acquisition, Acquiree [Domain]" } } }, "localname": "BusinessAcquisitionAcquireeDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails", "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails", "http://www.gdyn.com/role/AcquisitionsNarrativeDetails", "http://www.gdyn.com/role/AcquisitionsProformainformationDetails", "http://www.gdyn.com/role/FairValueFairValueOfContingentConsiderationPayableDetails", "http://www.gdyn.com/role/FairValueNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r59", "r61", "r346", "r558", "r559" ], "lang": { "en-us": { "role": { "documentation": "Information by business combination or series of individually immaterial business combinations.", "label": "Business Acquisition [Axis]", "terseLabel": "Business Acquisition [Axis]" } } }, "localname": "BusinessAcquisitionAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails", "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails", "http://www.gdyn.com/role/AcquisitionsNarrativeDetails", "http://www.gdyn.com/role/AcquisitionsProformainformationDetails", "http://www.gdyn.com/role/FairValueFairValueOfContingentConsiderationPayableDetails", "http://www.gdyn.com/role/FairValueNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionLineItems": { "auth_ref": [ "r346" ], "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]", "terseLabel": "Business Acquisition [Line Items]" } } }, "localname": "BusinessAcquisitionLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails", "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails", "http://www.gdyn.com/role/AcquisitionsNarrativeDetails", "http://www.gdyn.com/role/AcquisitionsProformainformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired": { "auth_ref": [ "r60" ], "lang": { "en-us": { "role": { "documentation": "Percentage of voting equity interests acquired at the acquisition date in the business combination.", "label": "Business Acquisition, Percentage of Voting Interests Acquired", "terseLabel": "Percentage of voting interests acquired" } } }, "localname": "BusinessAcquisitionPercentageOfVotingInterestsAcquired", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsNarrativeDetails" ], "xbrltype": "percentItemType" }, "us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted": { "auth_ref": [ "r654", "r655" ], "lang": { "en-us": { "role": { "documentation": "The pro forma diluted net income per share for a period as if the business combination or combinations had been completed at the beginning of a period.", "label": "Business Acquisition, Pro Forma Earnings Per Share, Diluted", "terseLabel": "Diluted loss per share (in usd per share)" } } }, "localname": "BusinessAcquisitionProFormaEarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsProformainformationDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_BusinessAcquisitionProFormaInformationTextBlock": { "auth_ref": [ "r654", "r655" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of pro forma results of operations for a material business acquisition or series of individually immaterial business acquisitions that are material in the aggregate.", "label": "Business Acquisition, Pro Forma Information [Table Text Block]", "terseLabel": "Schedule of business acquisition, pro forma information" } } }, "localname": "BusinessAcquisitionProFormaInformationTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss": { "auth_ref": [ "r344", "r345" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a period.", "label": "Business Acquisition, Pro Forma Net Income (Loss)", "terseLabel": "Net loss" } } }, "localname": "BusinessAcquisitionsProFormaNetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsProformainformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessAcquisitionsProFormaRevenue": { "auth_ref": [ "r344", "r345" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period.", "label": "Business Acquisition, Pro Forma Revenue", "terseLabel": "Revenue" } } }, "localname": "BusinessAcquisitionsProFormaRevenue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsProformainformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationAndAssetAcquisitionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Business Combination and Asset Acquisition [Abstract]" } } }, "localname": "BusinessCombinationAndAssetAcquisitionAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "auth_ref": [ "r1", "r2", "r12" ], "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": "Consideration transferred" } } }, "localname": "BusinessCombinationConsiderationTransferred1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": { "auth_ref": [ "r350", "r665" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.", "label": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability", "terseLabel": "Change in fair value of contingent consideration issued for acquisition of business" } } }, "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh": { "auth_ref": [ "r68" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "For contingent consideration arrangements recognized in connection with a business combination, this element represents an estimate of the high-end of the potential range (undiscounted) of the consideration which may be paid.", "label": "Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High", "terseLabel": "Maximum contingent consideration" } } }, "localname": "BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiability": { "auth_ref": [ "r3", "r67", "r349" ], "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 consideration", "verboseLabel": "Acquisition fair value of contingent consideration issued for acquisition of business" } } }, "localname": "BusinessCombinationContingentConsiderationLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsNarrativeDetails", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent": { "auth_ref": [ "r4", "r67" ], "calculation": { "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails": { "order": 6.0, "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled within one year or the normal operating cycle, if longer.", "label": "Business Combination, Contingent Consideration, Liability, Current", "terseLabel": "Contingent consideration payable" } } }, "localname": "BusinessCombinationContingentConsiderationLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput": { "auth_ref": [ "r369" ], "lang": { "en-us": { "role": { "documentation": "Value of input used to measure contingent consideration liability from business combination.", "label": "Business Combination, Contingent Consideration, Liability, Measurement Input", "terseLabel": "Contingent consideration, measurement input" } } }, "localname": "BusinessCombinationContingentConsiderationLiabilityMeasurementInput", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueNarrativeDetails" ], "xbrltype": "decimalItemType" }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "auth_ref": [ "r119", "r347" ], "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": "Acquisitions" } } }, "localname": "BusinessCombinationDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/Acquisitions" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": { "auth_ref": [ "r63" ], "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 and cash equivalents" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets": { "auth_ref": [ "r63" ], "calculation": { "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails": { "order": 1.0, "parentTag": "gdyn_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets", "terseLabel": "Current assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities": { "auth_ref": [ "r63" ], "calculation": { "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails": { "order": 2.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liabilities", "negatedTerseLabel": "Deferred taxes" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles": { "auth_ref": [ "r62", "r63" ], "calculation": { "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails": { "order": 3.0, "parentTag": "gdyn_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of identifiable intangible assets recognized as of the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles", "terseLabel": "Fair Value", "verboseLabel": "Intangible assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails", "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities": { "auth_ref": [ "r63" ], "calculation": { "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails": { "order": 1.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities assumed at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities", "negatedTotalLabel": "Total liabilities assumed" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets": { "auth_ref": [ "r63" ], "calculation": { "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails": { "order": 5.0, "parentTag": "gdyn_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of other assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Noncurrent Assets", "terseLabel": "Other noncurrent assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": { "auth_ref": [ "r62", "r63" ], "calculation": { "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails": { "order": 2.0, "parentTag": "gdyn_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment", "terseLabel": "Property, plant and equipment" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": { "auth_ref": [ "r63" ], "calculation": { "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails": { "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": "Purchase price allocation" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CarryingReportedAmountFairValueDisclosureMember": { "auth_ref": [ "r76", "r77" ], "lang": { "en-us": { "role": { "documentation": "Measured as reported on the statement of financial position (balance sheet).", "label": "Reported Value Measurement [Member]", "terseLabel": "Reported Value Measurement" } } }, "localname": "CarryingReportedAmountFairValueDisclosureMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueFinancialAssetsandLiabilitiesNotMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r38", "r145", "r535" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "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/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAxis": { "auth_ref": [ "r145" ], "lang": { "en-us": { "role": { "documentation": "Information by type of cash and cash equivalent balance.", "label": "Cash and Cash Equivalents [Axis]", "terseLabel": "Cash and Cash Equivalents [Axis]" } } }, "localname": "CashAndCashEquivalentsAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueFinancialAssetsandLiabilitiesNotMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value portion of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash and Cash Equivalents, Fair Value Disclosure", "terseLabel": "Cash equivalents" } } }, "localname": "CashAndCashEquivalentsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueFinancialAssetsandLiabilitiesNotMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r38", "r105", "r169" ], "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, end of period", "periodStartLabel": "Cash and cash equivalents, beginning of period" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r5", "r105" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "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 increase/(decrease) in cash and cash equivalents" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r28", "r83", "r421", "r464" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.", "label": "Commitments and Contingencies", "terseLabel": "Commitments and contingencies (Note 14)" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Abstract]", "terseLabel": "Commitments and Contingencies Disclosure [Abstract]" } } }, "localname": "CommitmentsAndContingenciesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r115", "r239", "r240", "r520", "r681" ], "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/2023", "presentation": [ "http://www.gdyn.com/role/Commitmentsandcontingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r566", "r567", "r568", "r570", "r571", "r572", "r573", "r669", "r670", "r718", "r736", "r739" ], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]", "terseLabel": "Common Stock" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r88" ], "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/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r88", "r465" ], "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 (in shares)" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r88" ], "lang": { "en-us": { "role": { "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.", "label": "Common Stock, Shares, Issued", "terseLabel": "Common stock, shares issued (in shares)" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r15", "r88", "r465", "r483", "r739", "r740" ], "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 (in shares)" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r88", "r422", "r563" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "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", "terseLabel": "Common stock, $0.0001 par value; 110,000,000 shares authorized; 75,333,893 and 74,156,458 issued and outstanding as of June\u00a030, 2023 and December\u00a031, 2022, respectively" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_CompensationRelatedCostsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Compensation Related Costs [Abstract]" } } }, "localname": "CompensationRelatedCostsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r32", "r158", "r160", "r164", "r414", "r430" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "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/(loss)" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComputerEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems.", "label": "Computer Equipment [Member]", "terseLabel": "Computers and equipment" } } }, "localname": "ComputerEquipmentMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ComputerSoftwareIntangibleAssetMember": { "auth_ref": [ "r534", "r678", "r679" ], "lang": { "en-us": { "role": { "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program, control module or operating system, that perform one or more particular functions or tasks.", "label": "Computer Software, Intangible Asset [Member]", "terseLabel": "Acquired software" } } }, "localname": "ComputerSoftwareIntangibleAssetMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails", "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "auth_ref": [ "r42", "r44", "r78", "r79", "r219", "r519" ], "lang": { "en-us": { "role": { "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.", "label": "Concentration Risk Benchmark [Domain]", "terseLabel": "Concentration Risk Benchmark [Domain]" } } }, "localname": "ConcentrationRiskBenchmarkDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/RevenueConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "auth_ref": [ "r42", "r44", "r78", "r79", "r219", "r446", "r519" ], "lang": { "en-us": { "role": { "documentation": "Information by benchmark of concentration risk.", "label": "Concentration Risk Benchmark [Axis]", "terseLabel": "Concentration Risk Benchmark [Axis]" } } }, "localname": "ConcentrationRiskByBenchmarkAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/RevenueConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskByTypeAxis": { "auth_ref": [ "r42", "r44", "r78", "r79", "r219", "r519", "r653" ], "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]", "terseLabel": "Concentration Risk Type [Axis]" } } }, "localname": "ConcentrationRiskByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/RevenueConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskPercentage1": { "auth_ref": [ "r42", "r44", "r78", "r79", "r219" ], "lang": { "en-us": { "role": { "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.", "label": "Concentration Risk, Percentage", "terseLabel": "Concentration risk percentage" } } }, "localname": "ConcentrationRiskPercentage1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/RevenueConcentrationRiskDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ConcentrationRiskTypeDomain": { "auth_ref": [ "r42", "r44", "r78", "r79", "r219", "r519" ], "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]", "terseLabel": "Concentration Risk Type [Domain]" } } }, "localname": "ConcentrationRiskTypeDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/RevenueConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConsolidationPolicyTextBlock": { "auth_ref": [ "r69", "r538" ], "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" } } }, "localname": "ConsolidationPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ConsolidationVariableInterestEntityPolicy": { "auth_ref": [ "r70", "r71", "r72" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for consolidation to describe the significant judgments and assumptions made in determining whether a variable interest held by the entity requires the variable interest entity to be consolidated and (or) disclose information about its involvement with the variable interest entity; the methodology used by the entity for determining whether or not it is the primary beneficiary of the variable interest entity; and the significant factors considered and judgments made in determining that the power to direct the activities that significantly impact the economic performance of the variable interest entity are shared (as defined).", "label": "Consolidation, Variable Interest Entity, Policy [Policy Text Block]", "terseLabel": "Principles of consolidation, variable interest entities" } } }, "localname": "ConsolidationVariableInterestEntityPolicy", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ContractWithCustomerBasisOfPricingAxis": { "auth_ref": [ "r551", "r687" ], "lang": { "en-us": { "role": { "documentation": "Information by basis of pricing for contract representing right to consideration in exchange for good or service transferred to customer.", "label": "Contract with Customer, Basis of Pricing [Axis]", "terseLabel": "Contract with Customer, Basis of Pricing [Axis]" } } }, "localname": "ContractWithCustomerBasisOfPricingAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/RevenueDisaggregationofRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ContractWithCustomerBasisOfPricingDomain": { "auth_ref": [ "r551", "r687" ], "lang": { "en-us": { "role": { "documentation": "Basis of pricing for contract with customer. Includes, but is not limited to, fixed-price and time-and-materials contracts.", "label": "Contract with Customer, Basis of Pricing [Domain]", "terseLabel": "Contract with Customer, Basis of Pricing [Domain]" } } }, "localname": "ContractWithCustomerBasisOfPricingDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/RevenueDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ContractWithCustomerRefundLiabilityCurrent": { "auth_ref": [ "r688" ], "calculation": { "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liability for consideration received or receivable from customer which is not included in transaction price, when consideration is expected to be refunded to customer, classified as current.", "label": "Contract with Customer, Refund Liability, Current", "terseLabel": "Customer deposits" } } }, "localname": "ContractWithCustomerRefundLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfRevenue": { "auth_ref": [ "r100", "r171", "r224", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r376", "r684" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "order": 2.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period.", "label": "Cost of Revenue", "terseLabel": "Cost of revenue" } } }, "localname": "CostOfRevenue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfSalesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing cost of sales.", "label": "Cost of Sales [Member]", "terseLabel": "Cost of revenue" } } }, "localname": "CostOfSalesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofemployeestockbasedcompensationrecognizedDetails" ], "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]", "terseLabel": "Credit Facility [Axis]" } } }, "localname": "CreditFacilityAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "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]", "terseLabel": "Credit Facility [Domain]" } } }, "localname": "CreditFacilityDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerConcentrationRiskMember": { "auth_ref": [ "r43", "r219" ], "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 [Member]", "terseLabel": "Customer Concentration Risk" } } }, "localname": "CustomerConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/RevenueConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerRelationshipsMember": { "auth_ref": [ "r66" ], "lang": { "en-us": { "role": { "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.", "label": "Customer Relationships [Member]", "terseLabel": "Customer relationships" } } }, "localname": "CustomerRelationshipsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails", "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Debt Disclosure [Abstract]" } } }, "localname": "DebtDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_DebtDisclosureTextBlock": { "auth_ref": [ "r116", "r170", "r254", "r255", "r256", "r257", "r258", "r259", "r260", "r262", "r264", "r265", "r266" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.", "label": "Debt Disclosure [Text Block]", "terseLabel": "Debt" } } }, "localname": "DebtDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/Debt" ], "xbrltype": "textBlockItemType" }, "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": "Basis spread on variable rate" } } }, "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]" } } }, "localname": "DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amounts paid in advance for capitalized costs that will be expensed with the passage of time or the occurrence of a triggering event, and will be charged against earnings within one year or the normal operating cycle, if longer; the aggregate carrying amount of current assets, not separately presented elsewhere in the balance sheet; and other deferred costs.", "label": "Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Table Text Block]", "terseLabel": "Schedule of Prepaid and Other Current Assets" } } }, "localname": "DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/PrepaidexpensesandothercurrentassetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r330", "r331" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 7.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 tax assets" } } }, "localname": "DeferredIncomeTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "auth_ref": [ "r330", "r331", "r420" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 2.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 tax liabilities" } } }, "localname": "DeferredIncomeTaxLiabilitiesNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxesAndTaxCredits": { "auth_ref": [ "r107" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income tax expense (benefit) and income tax credits.", "label": "Deferred Income Taxes and Tax Credits", "terseLabel": "Deferred income taxes" } } }, "localname": "DeferredIncomeTaxesAndTaxCredits", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenueCurrent": { "auth_ref": [ "r659" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current.", "label": "Deferred Revenue, Current", "verboseLabel": "Contract liabilities" } } }, "localname": "DeferredRevenueCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/RevenueNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationAndAmortization": { "auth_ref": [ "r10", "r51" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "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": "Depreciation and amortization" } } }, "localname": "DepreciationAndAmortization", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_DisaggregationOfRevenueLineItems": { "auth_ref": [ "r277", "r548", "r549", "r550", "r551", "r552", "r553", "r554" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Disaggregation of Revenue [Line Items]" } } }, "localname": "DisaggregationOfRevenueLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/RevenueConcentrationRiskDetails", "http://www.gdyn.com/role/RevenueDisaggregationofRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r277", "r548", "r549", "r550", "r551", "r552", "r553", "r554" ], "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]", "terseLabel": "Disaggregation of Revenue [Table]" } } }, "localname": "DisaggregationOfRevenueTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/RevenueConcentrationRiskDetails", "http://www.gdyn.com/role/RevenueDisaggregationofRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r687" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Disaggregation of Revenue" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/RevenueTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "auth_ref": [ "r287", "r292", "r320", "r321", "r323", "r561" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for share-based payment arrangement.", "label": "Share-Based Payment Arrangement [Text Block]", "terseLabel": "Stock-based compensation" } } }, "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/Stockbasedcompensation" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement [Abstract]", "terseLabel": "Share-based Payment Arrangement [Abstract]" } } }, "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share [Abstract]", "terseLabel": "Income/(loss) per share" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r165", "r180", "r181", "r182", "r183", "r184", "r189", "r191", "r196", "r197", "r198", "r202", "r362", "r363", "r415", "r431", "r539" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.", "label": "Earnings Per Share, Basic", "terseLabel": "Basic (in dollars per share)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofComputationofBasicandDilutedEarningsPerShareDetails", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r165", "r180", "r181", "r182", "r183", "r184", "r191", "r196", "r197", "r198", "r202", "r362", "r363", "r415", "r431", "r539" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.", "label": "Earnings Per Share, Diluted", "terseLabel": "Diluted (in dollars per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofComputationofBasicandDilutedEarningsPerShareDetails", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r188", "r199", "r200", "r201" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]", "terseLabel": "Earnings per share" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/Earningspershare" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r377" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 4.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, Continuing Operations", "terseLabel": "Effect of exchange rate changes on cash and cash equivalents" } } }, "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r333" ], "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, percentage" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/IncometaxesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "auth_ref": [ "r26" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Employee-related Liabilities, Current", "terseLabel": "Accrued compensation and benefits" } } }, "localname": "EmployeeRelatedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]", "terseLabel": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]" } } }, "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofemployeestockbasedcompensationrecognizedDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "auth_ref": [ "r322" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition", "terseLabel": "Period for recognition" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": { "auth_ref": [ "r717" ], "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": "Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount", "terseLabel": "Unrecognized compensation expense, excluding options" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions": { "auth_ref": [ "r717" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost to be recognized for option under share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount", "terseLabel": "Unrecognized compensation expense, options" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeStockOptionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.", "label": "Employee Stock Option [Member]", "terseLabel": "Stock options to purchase common stock", "verboseLabel": "Stock options" } } }, "localname": "EmployeeStockOptionMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails", "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r15", "r141", "r161", "r162", "r163", "r175", "r176", "r177", "r179", "r185", "r187", "r203", "r225", "r226", "r267", "r324", "r325", "r326", "r337", "r338", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r378", "r379", "r380", "r381", "r382", "r383", "r398", "r440", "r441", "r442", "r450", "r505" ], "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]", "terseLabel": "Equity Component [Domain]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "xbrltype": "domainItemType" }, "us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount": { "auth_ref": [ "r223" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in equity security without readily determinable fair value.", "label": "Equity Securities without Readily Determinable Fair Value, Amount", "terseLabel": "Equity securities without readily determinable fair value, amount" } } }, "localname": "EquitySecuritiesWithoutReadilyDeterminableFairValueAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EstimateOfFairValueFairValueDisclosureMember": { "auth_ref": [ "r261", "r375", "r545", "r546" ], "lang": { "en-us": { "role": { "documentation": "Measured as an estimate of fair value.", "label": "Estimate of Fair Value Measurement [Member]", "terseLabel": "Estimate of Fair Value Measurement" } } }, "localname": "EstimateOfFairValueFairValueDisclosureMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueFinancialAssetsandLiabilitiesNotMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "auth_ref": [ "r365", "r366", "r372" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "terseLabel": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueFinancialAssetsandLiabilitiesNotMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "auth_ref": [ "r365", "r366", "r372" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.", "label": "Fair Value, Recurring and Nonrecurring [Table]", "terseLabel": "Fair Value, Recurring and Nonrecurring [Table]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueFinancialAssetsandLiabilitiesNotMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsMeasuredOnNonrecurringBasisTextBlock": { "auth_ref": [ "r16", "r73", "r123" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets and liabilities by class, including financial instruments measured at fair value that are classified in shareholders' equity, if any, that are measured at fair value on a nonrecurring basis in periods after initial recognition (for example, impaired assets). Disclosures may include, but are not limited to: (a) the fair value measurements recorded and the reasons for the measurements and (b) the level within the fair value hierarchy in which the fair value measurements are categorized in their entirety (levels 1, 2, 3).", "label": "Fair Value Measurements, Nonrecurring [Table Text Block]", "terseLabel": "Financial Assets and Liabilities Not Measured at Fair Value on a Recurring Basis" } } }, "localname": "FairValueAssetsMeasuredOnNonrecurringBasisTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r261", "r280", "r281", "r282", "r283", "r284", "r285", "r366", "r405", "r406", "r407", "r545", "r546", "r555", "r556", "r557" ], "lang": { "en-us": { "role": { "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.", "label": "Fair Value Hierarchy and NAV [Axis]", "terseLabel": "Fair Value Hierarchy and NAV [Axis]" } } }, "localname": "FairValueByFairValueHierarchyLevelAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueFinancialAssetsandLiabilitiesNotMeasuredatFairValueonaRecurringBasisDetails", "http://www.gdyn.com/role/FairValueNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementBasisAxis": { "auth_ref": [ "r20", "r73", "r261", "r545", "r546" ], "lang": { "en-us": { "role": { "documentation": "Information by measurement basis.", "label": "Measurement Basis [Axis]", "terseLabel": "Measurement Basis [Axis]" } } }, "localname": "FairValueByMeasurementBasisAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueFinancialAssetsandLiabilitiesNotMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r365", "r366", "r368", "r369", "r373" ], "lang": { "en-us": { "role": { "documentation": "Information by measurement frequency.", "label": "Measurement Frequency [Axis]", "terseLabel": "Measurement Frequency [Axis]" } } }, "localname": "FairValueByMeasurementFrequencyAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueFinancialAssetsandLiabilitiesNotMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosureItemAmountsDomain": { "auth_ref": [ "r261", "r545", "r546" ], "lang": { "en-us": { "role": { "documentation": "Measurement basis, for example, but not limited to, reported value, fair value, portion at fair value, portion at other than fair value.", "label": "Fair Value Measurement [Domain]", "terseLabel": "Fair Value Measurement [Domain]" } } }, "localname": "FairValueDisclosureItemAmountsDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueFinancialAssetsandLiabilitiesNotMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Abstract]" } } }, "localname": "FairValueDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r364" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.", "label": "Fair Value Disclosures [Text Block]", "terseLabel": "Fair Value" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValue" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r261", "r280", "r285", "r366", "r405", "r555", "r556", "r557" ], "lang": { "en-us": { "role": { "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.", "label": "Fair Value, Inputs, Level 1 [Member]", "terseLabel": "Level 1" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueFinancialAssetsandLiabilitiesNotMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r261", "r280", "r285", "r366", "r406", "r545", "r546", "r555", "r556", "r557" ], "lang": { "en-us": { "role": { "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets.", "label": "Fair Value, Inputs, Level 2 [Member]", "terseLabel": "Level 2" } } }, "localname": "FairValueInputsLevel2Member", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueFinancialAssetsandLiabilitiesNotMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r261", "r280", "r281", "r282", "r283", "r284", "r285", "r366", "r407", "r545", "r546", "r555", "r556", "r557" ], "lang": { "en-us": { "role": { "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Inputs, Level 3 [Member]", "terseLabel": "Level 3" } } }, "localname": "FairValueInputsLevel3Member", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueFinancialAssetsandLiabilitiesNotMeasuredatFairValueonaRecurringBasisDetails", "http://www.gdyn.com/role/FairValueNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward": { "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": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]", "terseLabel": "Fair Value, Liabilities Reconciliation [Roll Forward]" } } }, "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueFairValueOfContingentConsiderationPayableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]", "terseLabel": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]" } } }, "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueFairValueOfContingentConsiderationPayableDetails", "http://www.gdyn.com/role/FairValueNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable": { "auth_ref": [ "r17", "r75" ], "lang": { "en-us": { "role": { "documentation": "Schedule of information required and determined to be provided for purposes of reconciling beginning and ending balances of fair value measurements of liabilities using significant unobservable inputs (level 3). Separately presenting changes during the period, attributable to: (1) total gains or losses for the period (realized and unrealized) and location reported in the statement of income (or activities); (2) purchases, sales, issuances, and settlements (net); (3) transfers in and/or out of Level 3.", "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table]", "terseLabel": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table]" } } }, "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueFairValueOfContingentConsiderationPayableDetails", "http://www.gdyn.com/role/FairValueNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock": { "auth_ref": [ "r17", "r75" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the fair value measurement of liabilities using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets), and gains or losses recognized in other comprehensive income (loss) and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs) by class of liability.", "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]", "terseLabel": "Reconciliation of Level 3 Acquisition-Related Contingent Consideration Payable" } } }, "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueMeasurementFrequencyDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement frequency.", "label": "Measurement Frequency [Domain]", "terseLabel": "Measurement Frequency [Domain]" } } }, "localname": "FairValueMeasurementFrequencyDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueFinancialAssetsandLiabilitiesNotMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings": { "auth_ref": [ "r370" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of gain (loss) recognized in income from liability measured at fair value on recurring basis using unobservable input (level 3).", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Gain (Loss) Included in Earnings", "terseLabel": "Change in fair value of contingent consideration payable included in Other income/(expense)" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueFairValueOfContingentConsiderationPayableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues": { "auth_ref": [ "r74" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of issuances of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Issuances", "terseLabel": "Acquisition date fair value of contingent consideration payable" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueFairValueOfContingentConsiderationPayableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue": { "auth_ref": [ "r17" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Fair value of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability Value", "periodEndLabel": "Contingent consideration payable, ending balance", "periodStartLabel": "Contingent consideration payable, beginning balance" } } }, "localname": "FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueFairValueOfContingentConsiderationPayableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r261", "r280", "r281", "r282", "r283", "r284", "r285", "r405", "r406", "r407", "r545", "r546", "r555", "r556", "r557" ], "lang": { "en-us": { "role": { "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.", "label": "Fair Value Hierarchy and NAV [Domain]", "terseLabel": "Fair Value Hierarchy and NAV [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueFinancialAssetsandLiabilitiesNotMeasuredatFairValueonaRecurringBasisDetails", "http://www.gdyn.com/role/FairValueNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsNonrecurringMember": { "auth_ref": [ "r365", "r366", "r368", "r369", "r371", "r373" ], "lang": { "en-us": { "role": { "documentation": "Infrequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, not frequently measured at fair value.", "label": "Fair Value, Nonrecurring [Member]", "terseLabel": "Fair Value, Nonrecurring" } } }, "localname": "FairValueMeasurementsNonrecurringMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueFinancialAssetsandLiabilitiesNotMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueRecurringBasisUnobservableInputReconciliationLiabilityGainLossStatementOfIncomeExtensibleList": { "auth_ref": [ "r370" ], "lang": { "en-us": { "role": { "documentation": "Indicates line item in statement in which net income is reported that includes gain (loss) from liability measured at fair value using unobservable input (level 3).", "label": "Fair Value, Liability, Recurring Basis, Unobservable Input Reconciliation, Gain (Loss), Statement of Income or Comprehensive Income [Extensible Enumeration]", "terseLabel": "Fair Value, Liability, Recurring Basis, Unobservable Input Reconciliation, Gain (Loss), Statement of Income or Comprehensive Income [Extensible Enumeration]" } } }, "localname": "FairValueRecurringBasisUnobservableInputReconciliationLiabilityGainLossStatementOfIncomeExtensibleList", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueFairValueOfContingentConsiderationPayableDetails" ], "xbrltype": "enumerationSetItemType" }, "us-gaap_FinancialServiceMember": { "auth_ref": [ "r689" ], "lang": { "en-us": { "role": { "documentation": "Financial assistance, including, but not limited to, management and maintenance of depositor account, credit card, merchant discount, trust, investment and insurance.", "label": "Financial Service [Member]", "terseLabel": "Finance" } } }, "localname": "FinancialServiceMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/RevenueDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "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": "Useful Life", "verboseLabel": "Estimated Useful Life" } } }, "localname": "FiniteLivedIntangibleAssetUsefulLife", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails", "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r149", "r235" ], "calculation": { "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails": { "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", "negatedTerseLabel": "Less: Accumulated amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": { "auth_ref": [], "calculation": { "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail": { "order": 6.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 Asset, Expected Amortization, after Year Five", "terseLabel": "Thereafter" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "auth_ref": [ "r112" ], "calculation": { "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail": { "order": 1.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 Asset, Expected Amortization, Year One", "terseLabel": "2023 (excluding six months ended June\u00a030, 2023)" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "auth_ref": [ "r112" ], "calculation": { "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail": { "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 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 Asset, Expected Amortization, Year Five", "terseLabel": "2027" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r112" ], "calculation": { "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail": { "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/2023", "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "auth_ref": [ "r112" ], "calculation": { "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail": { "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 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 Asset, Expected Amortization, Year Three", "terseLabel": "2025" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "auth_ref": [ "r112" ], "calculation": { "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail": { "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 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 Asset, Expected Amortization, Year Two", "terseLabel": "2024" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r233", "r234", "r235", "r236", "r411", "r412" ], "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]", "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]" } } }, "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails", "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r111", "r412" ], "calculation": { "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails": { "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": "Intangible assets, gross" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "auth_ref": [ "r411" ], "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]", "terseLabel": "Finite-Lived Intangible Assets [Line Items]" } } }, "localname": "FiniteLivedIntangibleAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r49", "r50" ], "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]", "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]" } } }, "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails", "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r111", "r411" ], "calculation": { "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "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", "terseLabel": "Intangible assets, net", "totalLabel": "Intangible assets, net" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail", "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_FixedPriceContractMember": { "auth_ref": [ "r551" ], "lang": { "en-us": { "role": { "documentation": "Contract with customer in which amount of consideration is fixed.", "label": "Fixed-Price Contract [Member]", "terseLabel": "Fixed-fee" } } }, "localname": "FixedPriceContractMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/RevenueDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FurnitureAndFixturesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases.", "label": "Furniture and Fixtures [Member]", "terseLabel": "Furniture and fixtures" } } }, "localname": "FurnitureAndFixturesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_GeneralAndAdministrativeExpense": { "auth_ref": [ "r101", "r487" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "order": 3.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.", "label": "General and Administrative Expense", "terseLabel": "General and administrative" } } }, "localname": "GeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeneralAndAdministrativeExpenseMember": { "auth_ref": [ "r97" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing general and administrative expense.", "label": "General and Administrative Expense [Member]", "terseLabel": "General and administrative" } } }, "localname": "GeneralAndAdministrativeExpenseMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofemployeestockbasedcompensationrecognizedDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r148", "r231", "r413", "r544", "r563", "r676", "r677" ], "calculation": { "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails": { "order": 4.0, "parentTag": "gdyn_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0 }, "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 2.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", "terseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Abstract]", "terseLabel": "Goodwill and Intangible Assets Disclosure [Abstract]" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r99", "r171", "r204", "r209", "r213", "r215", "r224", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r376", "r541", "r684" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.", "label": "Gross Profit", "totalLabel": "Gross profit" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r0", "r95", "r129", "r204", "r209", "r213", "r215", "r416", "r428", "r541" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "order": 2.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, Noncontrolling Interest", "totalLabel": "Income/(loss) before income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Statement [Abstract]", "terseLabel": "Income Statement [Abstract]" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r237", "r238", "r490" ], "lang": { "en-us": { "role": { "documentation": "Information by location in the income statement.", "label": "Income Statement Location [Axis]", "terseLabel": "Income Statement Location [Axis]" } } }, "localname": "IncomeStatementLocationAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofemployeestockbasedcompensationrecognizedDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [ "r238", "r490" ], "lang": { "en-us": { "role": { "documentation": "Location in the income statement.", "label": "Income Statement Location [Domain]", "terseLabel": "Income Statement Location [Domain]" } } }, "localname": "IncomeStatementLocationDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofemployeestockbasedcompensationrecognizedDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Abstract]", "terseLabel": "Income Tax Disclosure [Abstract]" } } }, "localname": "IncomeTaxDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r172", "r329", "r334", "r335", "r336", "r339", "r341", "r342", "r343", "r449" ], "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/2023", "presentation": [ "http://www.gdyn.com/role/Incometaxes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r131", "r139", "r186", "r187", "r207", "r332", "r340", "r432" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "order": 1.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", "verboseLabel": "Income tax expense (benefit)" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/IncometaxesDetails", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesPaid": { "auth_ref": [ "r37", "r39" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income.", "label": "Income Taxes Paid", "terseLabel": "Cash paid for income taxes" } } }, "localname": "IncomeTaxesPaid", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r9" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.", "label": "Increase (Decrease) in Accounts Payable", "terseLabel": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r9" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 1.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/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities": { "auth_ref": [ "r665" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 16.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in accrued expenses, and obligations classified as other.", "label": "Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities", "terseLabel": "Accrued expenses and other current liabilities" } } }, "localname": "IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedTaxesPayable": { "auth_ref": [ "r665" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period of all taxes owed but not paid, including income, property and other taxes.", "label": "Increase (Decrease) in Accrued Taxes Payable", "terseLabel": "Accrued income taxes" } } }, "localname": "IncreaseDecreaseInAccruedTaxesPayable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": { "auth_ref": [ "r665" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.", "label": "Increase (Decrease) in Contract with Customer, Asset", "negatedTerseLabel": "Unbilled receivables" } } }, "localname": "IncreaseDecreaseInContractWithCustomerAsset", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": { "auth_ref": [ "r9" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits.", "label": "Increase (Decrease) in Employee Related Liabilities", "terseLabel": "Accrued compensation and benefits" } } }, "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in assets and liabilities:" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": { "auth_ref": [ "r656", "r665" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "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 Operating Lease Liability", "terseLabel": "Operating lease liabilities" } } }, "localname": "IncreaseDecreaseInOperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r9" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 11.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/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidTaxes": { "auth_ref": [ "r9" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) of consideration paid in advance for income and other taxes that provide economic benefits in future periods.", "label": "Increase (Decrease) in Prepaid Taxes", "negatedLabel": "Prepaid income taxes" } } }, "localname": "IncreaseDecreaseInPrepaidTaxes", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "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 [Roll Forward]" } } }, "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "xbrltype": "stringItemType" }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "auth_ref": [ "r192", "r193", "r194", "r198", "r291" ], "lang": { "en-us": { "role": { "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.", "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements", "terseLabel": "Net effect of dilutive stock options and restricted stock units" } } }, "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofComputationofBasicandDilutedEarningsPerShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_IntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r232" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for all or part of the information related to intangible assets.", "label": "Intangible Assets Disclosure [Text Block]", "terseLabel": "Intangible assets, net" } } }, "localname": "IntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/Intangibleassetsnet" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeaseCost": { "auth_ref": [ "r390", "r562" ], "calculation": { "http://www.gdyn.com/role/LeasesLeaseCostDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lease cost recognized by lessee for lease contract.", "label": "Lease, Cost", "totalLabel": "Total lease cost" } } }, "localname": "LeaseCost", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/LeasesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseCostTableTextBlock": { "auth_ref": [ "r722" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.", "label": "Lease, Cost [Table Text Block]", "terseLabel": "Schedule of Lease Cost and Supplemental Lease Information" } } }, "localname": "LeaseCostTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeaseholdImprovementsMember": { "auth_ref": [ "r114" ], "lang": { "en-us": { "role": { "documentation": "Additions or improvements to assets held under a lease arrangement.", "label": "Leasehold Improvements [Member]", "terseLabel": "Leasehold improvements" } } }, "localname": "LeaseholdImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LeasesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Leases [Abstract]" } } }, "localname": "LeasesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_LesseeLeaseDescriptionLineItems": { "auth_ref": [ "r389" ], "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": "Lessee, Lease, Description [Line Items]" } } }, "localname": "LesseeLeaseDescriptionLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/LeasesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LesseeLeaseDescriptionTable": { "auth_ref": [ "r389" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about lessee's leases.", "label": "Lessee, Lease, Description [Table]", "terseLabel": "Lessee, Lease, Description [Table]" } } }, "localname": "LesseeLeaseDescriptionTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/LeasesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r723" ], "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, to be Paid, Maturity [Table Text Block]", "terseLabel": "Schedule of Operating Lease Maturities" } } }, "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r397" ], "calculation": { "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails_1": { "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, to be Paid", "totalLabel": "Total lease payments" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r397" ], "calculation": { "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails": { "order": 6.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, to be Paid, Year One", "terseLabel": "2024" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "auth_ref": [ "r397" ], "calculation": { "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails": { "order": 5.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five", "terseLabel": "2028" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r397" ], "calculation": { "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails": { "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 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, to be Paid, Year Four", "terseLabel": "2027" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r397" ], "calculation": { "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails": { "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, to be Paid, Year Three", "terseLabel": "2026" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r397" ], "calculation": { "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails": { "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 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, to be Paid, Year Two", "terseLabel": "2025" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "auth_ref": [ "r723" ], "calculation": { "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails": { "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 having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.", "label": "Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year", "terseLabel": "2023 (excluding six months ended June\u00a030, 2023)" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r397" ], "calculation": { "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails_1": { "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 payments in excess of discounted obligation for lease payments for operating lease.", "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "negatedTerseLabel": "Less: imputed interest" } } }, "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseRemainingLeaseTerm": { "auth_ref": [ "r721" ], "lang": { "en-us": { "role": { "documentation": "Remaining lease term of operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessee, Operating Lease, Remaining Lease Term", "terseLabel": "Operating lease, remaining term" } } }, "localname": "LesseeOperatingLeaseRemainingLeaseTerm", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/LeasesNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_LesseeOperatingLeasesTextBlock": { "auth_ref": [ "r385" ], "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": "Leases" } } }, "localname": "LesseeOperatingLeasesTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/Leases" ], "xbrltype": "textBlockItemType" }, "us-gaap_LetterOfCreditMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A document typically issued by a financial institution which acts as a guarantee of payment to a beneficiary, or as the source of payment for a specific transaction (for example, wiring funds to a foreign exporter if and when specified merchandise is accepted pursuant to the terms of the letter of credit).", "label": "Letter of Credit [Member]", "terseLabel": "Letter of Credit" } } }, "localname": "LetterOfCreditMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r25", "r171", "r224", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r352", "r353", "r354", "r376", "r463", "r540", "r575", "r684", "r724", "r725" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "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/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r93", "r128", "r425", "r563", "r668", "r674", "r720" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "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\u2019 equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "Liabilities and equity" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r27", "r144", "r171", "r224", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r352", "r353", "r354", "r376", "r563", "r684", "r724", "r725" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 3.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/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "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/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCredit": { "auth_ref": [ "r22", "r127", "r733" ], "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": "Debt outstanding" } } }, "localname": "LineOfCredit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityLineItems": { "auth_ref": [ "r667" ], "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": "Line of Credit Facility [Line Items]" } } }, "localname": "LineOfCreditFacilityLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "auth_ref": [ "r24" ], "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": "Line of credit, maximum borrowing capacity" } } }, "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityTable": { "auth_ref": [ "r24", "r667" ], "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]", "terseLabel": "Line of Credit Facility [Table]" } } }, "localname": "LineOfCreditFacilityTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ManufacturedProductOtherMember": { "auth_ref": [ "r689" ], "lang": { "en-us": { "role": { "documentation": "Article or substance produced by labor or machinery, classified as other.", "label": "Manufactured Product, Other [Member]", "terseLabel": "CPG/Manufacturing(1)" } } }, "localname": "ManufacturedProductOtherMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/RevenueDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_MeasurementInputDiscountRateMember": { "auth_ref": [ "r719" ], "lang": { "en-us": { "role": { "documentation": "Measurement input using interest rate to determine present value of future cash flows.", "label": "Measurement Input, Discount Rate [Member]", "terseLabel": "Measurement Input, Discount Rate" } } }, "localname": "MeasurementInputDiscountRateMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_MeasurementInputTypeAxis": { "auth_ref": [ "r367" ], "lang": { "en-us": { "role": { "documentation": "Information by type of measurement input used to determine value of asset and liability.", "label": "Measurement Input Type [Axis]", "terseLabel": "Measurement Input Type [Axis]" } } }, "localname": "MeasurementInputTypeAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_MeasurementInputTypeDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement input used to determine value of asset and liability.", "label": "Measurement Input Type [Domain]", "terseLabel": "Measurement Input Type [Domain]" } } }, "localname": "MeasurementInputTypeDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_MoneyMarketFundsMember": { "auth_ref": [ "r690" ], "lang": { "en-us": { "role": { "documentation": "Fund that invests in short-term money-market instruments, for example, but not limited to, commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and other highly liquid securities.", "label": "Money Market Funds [Member]", "terseLabel": "Money Market Funds" } } }, "localname": "MoneyMarketFundsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueFinancialAssetsandLiabilitiesNotMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r168" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.", "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash used in financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "terseLabel": "Cash flows from financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r168" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.", "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash used in investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]", "terseLabel": "Cash flows from investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r105", "r106", "r107" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.", "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net cash provided by operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Cash flows from operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r96", "r107", "r130", "r142", "r157", "r159", "r163", "r171", "r178", "r180", "r181", "r182", "r183", "r186", "r187", "r195", "r204", "r209", "r213", "r215", "r224", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r363", "r376", "r429", "r485", "r503", "r504", "r541", "r574", "r684" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 17.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net Income (Loss)", "terseLabel": "Net income/(loss)", "totalLabel": "Net income/(loss)", "verboseLabel": "Net loss" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofComputationofBasicandDilutedEarningsPerShareDetails", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS", "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "Recently adopted accounting pronouncements and recently issued accounting pronouncements" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NoncompeteAgreementsMember": { "auth_ref": [ "r65" ], "lang": { "en-us": { "role": { "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party.", "label": "Noncompete Agreements [Member]", "terseLabel": "Non-compete agreements" } } }, "localname": "NoncompeteAgreementsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails", "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NumberOfOperatingSegments": { "auth_ref": [ "r673" ], "lang": { "en-us": { "role": { "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.", "label": "Number of Operating Segments", "verboseLabel": "Number of reportable segments" } } }, "localname": "NumberOfOperatingSegments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/RevenueNarrativeDetails" ], "xbrltype": "integerItemType" }, "us-gaap_OperatingExpenses": { "auth_ref": [], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "order": 2.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.", "label": "Operating Expenses", "totalLabel": "Total operating expenses" } } }, "localname": "OperatingExpenses", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingExpensesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating Expenses [Abstract]", "terseLabel": "Operating expenses" } } }, "localname": "OperatingExpensesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r204", "r209", "r213", "r215", "r541" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "order": 2.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/(loss) from operations" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseCost": { "auth_ref": [ "r391", "r562" ], "calculation": { "http://www.gdyn.com/role/LeasesLeaseCostDetails": { "order": 1.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.", "label": "Operating Lease, Cost", "terseLabel": "Operating lease cost" } } }, "localname": "OperatingLeaseCost", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/LeasesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r387" ], "calculation": { "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails_1": { "order": 1.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", "verboseLabel": "Total" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r387" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 4.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.", "label": "Operating Lease, Liability, Current", "terseLabel": "Operating lease liabilities, current" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r387" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Operating lease liabilities, noncurrent" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r388", "r393" ], "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": "Lease liability payments" } } }, "localname": "OperatingLeasePayments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/LeasesScheduleofSupplementalLeaseInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r386" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "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": "Operating lease right-of-use assets, net" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": { "auth_ref": [ "r666" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease.", "label": "Operating Lease, Right-of-Use Asset, Periodic Reduction", "terseLabel": "Operating lease right-of-use assets amortization expense" } } }, "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r396", "r562" ], "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/2023", "presentation": [ "http://www.gdyn.com/role/LeasesScheduleofSupplementalLeaseInformationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r395", "r562" ], "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, in years" } } }, "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/LeasesScheduleofSupplementalLeaseInformationDetails" ], "xbrltype": "durationItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r85", "r108", "r109", "r121" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the organization, consolidation and basis of presentation of financial statements disclosure, and significant accounting policies of the reporting entity. May be provided in more than one note to the financial statements, as long as users are provided with an understanding of (1) the significant judgments and assumptions made by an enterprise in determining whether it must consolidate a VIE and/or disclose information about its involvement with a VIE, (2) the nature of restrictions on a consolidated VIE's assets reported by an enterprise in its statement of financial position, including the carrying amounts of such assets, (3) the nature of, and changes in, the risks associated with an enterprise's involvement with the VIE, and (4) how an enterprise's involvement with the VIE affects the enterprise's financial position, financial performance, and cash flows. Describes procedure if disclosures are provided in more than one note to the financial statements.", "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure and Significant Accounting Policies [Text Block]", "terseLabel": "Nature of operations and summary of significant accounting policies" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/Natureofoperationsandsummaryofsignificantaccountingpolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherAssetsCurrent": { "auth_ref": [ "r155", "r563" ], "calculation": { "http://www.gdyn.com/role/PrepaidexpensesandothercurrentassetsDetails": { "order": 4.0, "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current assets classified as other.", "label": "Other Assets, Current", "terseLabel": "Other prepaid and current assets" } } }, "localname": "OtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/PrepaidexpensesandothercurrentassetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r150" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other Assets, Noncurrent", "terseLabel": "Other noncurrent assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r8", "r13", "r122" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "order": 2.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, 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, net of tax" } } }, "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS", "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherCurrentAssetsTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for other current assets.", "label": "Other Current Assets [Text Block]", "terseLabel": "Prepaid expenses and other current assets" } } }, "localname": "OtherCurrentAssetsTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/Prepaidexpensesandothercurrentassets" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherCurrentLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of other current liabilities.", "label": "Other Current Liabilities [Table Text Block]", "terseLabel": "Schedule of accrued expenses and other current liabilities" } } }, "localname": "OtherCurrentLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherLiabilities": { "auth_ref": [ "r82", "r418", "r459", "r460", "r575", "r737" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other.", "label": "Other Liabilities", "terseLabel": "Payable" } } }, "localname": "OtherLiabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesRelatedPartiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r102" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.", "label": "Other Nonoperating Income (Expense)", "terseLabel": "Other income/(expenses), net" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherSundryLiabilitiesCurrent": { "auth_ref": [ "r26", "r53" ], "calculation": { "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails": { "order": 4.0, "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Obligations not otherwise itemized or categorized in the footnotes to the financial statements that are due within one year or operating cycle, if longer, from the balance sheet date.", "label": "Other Sundry Liabilities, Current", "terseLabel": "Other liabilities" } } }, "localname": "OtherSundryLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PayablesAndAccrualsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Payables and Accruals [Abstract]" } } }, "localname": "PayablesAndAccrualsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities": { "auth_ref": [ "r7" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 5.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", "negatedTerseLabel": "Payment of contingent consideration related to previously acquired businesses" } } }, "localname": "PaymentForContingentConsiderationLiabilityFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsOfDebtIssuanceCosts": { "auth_ref": [ "r36" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt.", "label": "Payments of Debt Issuance Costs", "negatedTerseLabel": "Debt issuance cost" } } }, "localname": "PaymentsOfDebtIssuanceCosts", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [ "r167" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Payment, Tax Withholding, Share-Based Payment Arrangement", "negatedTerseLabel": "Payments of tax obligations resulted from net share settlement of vested stock awards" } } }, "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesGross": { "auth_ref": [ "r33", "r348" ], "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": "Payments to acquire business" } } }, "localname": "PaymentsToAcquireBusinessesGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "auth_ref": [ "r33" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "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 business, net of the cash acquired from the purchase.", "label": "Payments to Acquire Businesses, Net of Cash Acquired", "negatedTerseLabel": "Acquisition of business, net of cash acquired" } } }, "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireInvestments": { "auth_ref": [ "r103" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the purchase of all investments (debt, security, other) during the period.", "label": "Payments to Acquire Investments", "negatedTerseLabel": "Purchase of investment" } } }, "localname": "PaymentsToAcquireInvestments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r104" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.", "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Purchase of property and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_PerformanceSharesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement awarded for meeting performance target.", "label": "Performance Shares [Member]", "terseLabel": "Performance stock units" } } }, "localname": "PerformanceSharesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails", "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r691", "r692", "r693", "r694", "r695", "r696", "r697", "r698", "r699", "r700", "r701", "r702", "r703", "r704", "r705", "r706", "r707", "r708", "r709", "r710", "r711", "r712", "r713", "r714", "r715", "r716" ], "lang": { "en-us": { "role": { "documentation": "Information by plan name for share-based payment arrangement.", "label": "Plan Name [Axis]", "terseLabel": "Plan Name [Axis]" } } }, "localname": "PlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PlanNameDomain": { "auth_ref": [ "r691", "r692", "r693", "r694", "r695", "r696", "r697", "r698", "r699", "r700", "r701", "r702", "r703", "r704", "r705", "r706", "r707", "r708", "r709", "r710", "r711", "r712", "r713", "r714", "r715", "r716" ], "lang": { "en-us": { "role": { "documentation": "Plan name for share-based payment arrangement.", "label": "Plan Name [Domain]", "terseLabel": "Plan Name [Domain]" } } }, "localname": "PlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PortionAtFairValueFairValueDisclosureMember": { "auth_ref": [ "r374" ], "lang": { "en-us": { "role": { "documentation": "Measured at fair value for financial reporting purposes.", "label": "Portion at Fair Value Measurement [Member]", "terseLabel": "Portion at Fair Value Measurement" } } }, "localname": "PortionAtFairValueFairValueDisclosureMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueFinancialAssetsandLiabilitiesNotMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r661" ], "calculation": { "http://www.gdyn.com/role/PrepaidexpensesandothercurrentassetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "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", "totalLabel": "Total prepaid expenses and other current assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/PrepaidexpensesandothercurrentassetsDetails", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseCurrent": { "auth_ref": [ "r154", "r229", "r230", "r536" ], "calculation": { "http://www.gdyn.com/role/PrepaidexpensesandothercurrentassetsDetails": { "order": 1.0, "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent", "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 within a future period of one year or the normal operating cycle, if longer.", "label": "Prepaid Expense, Current", "terseLabel": "Prepaid expenses" } } }, "localname": "PrepaidExpenseCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/PrepaidexpensesandothercurrentassetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidTaxes": { "auth_ref": [ "r537", "r543", "r675" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of asset related to consideration paid in advance for income and other taxes that provide economic benefits within a future period of one year or the normal operating cycle, if longer.", "label": "Prepaid Taxes", "terseLabel": "Prepaid income taxes" } } }, "localname": "PrepaidTaxes", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromLongTermLinesOfCredit": { "auth_ref": [ "r34" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with maturities due beyond one year or the operating cycle, if longer.", "label": "Proceeds from Long-Term Lines of Credit", "terseLabel": "Proceeds from debt" } } }, "localname": "ProceedsFromLongTermLinesOfCredit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductAndServiceOtherMember": { "auth_ref": [ "r689" ], "lang": { "en-us": { "role": { "documentation": "Article or substance produced by nature, labor or machinery and act of providing assistance, classified as other.", "label": "Product and Service, Other [Member]", "terseLabel": "Other" } } }, "localname": "ProductAndServiceOtherMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/RevenueDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Abstract]", "terseLabel": "Property, Plant and Equipment [Abstract]" } } }, "localname": "PropertyPlantAndEquipmentAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "auth_ref": [ "r11" ], "lang": { "en-us": { "role": { "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.", "label": "Long-Lived Tangible Asset [Axis]", "terseLabel": "Long-Lived Tangible Asset [Axis]" } } }, "localname": "PropertyPlantAndEquipmentByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "auth_ref": [ "r113", "r134", "r137", "r138" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.", "label": "Property, Plant and Equipment Disclosure [Text Block]", "terseLabel": "Property and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/Propertyandequipmentnet" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r114", "r146", "r427" ], "calculation": { "http://www.gdyn.com/role/PropertyandEquipmentnetDetails": { "order": 1.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Gross", "terseLabel": "Property and equipment, gross" } } }, "localname": "PropertyPlantAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "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": "Property, Plant and Equipment [Line Items]" } } }, "localname": "PropertyPlantAndEquipmentLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r11", "r417", "r427", "r563" ], "calculation": { "http://www.gdyn.com/role/PropertyandEquipmentnetDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Net", "terseLabel": "Property and equipment, net", "totalLabel": "Property and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "auth_ref": [ "r11" ], "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 property and equipment" } } }, "localname": "PropertyPlantAndEquipmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/PropertyandequipmentnetTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "auth_ref": [ "r114" ], "lang": { "en-us": { "role": { "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.", "label": "Long-Lived Tangible Asset [Domain]", "terseLabel": "Long-Lived Tangible Asset [Domain]" } } }, "localname": "PropertyPlantAndEquipmentTypeDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "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": "Estimated Useful Life" } } }, "localname": "PropertyPlantAndEquipmentUsefulLife", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ProvisionForDoubtfulAccounts": { "auth_ref": [ "r166", "r228" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 15.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.", "label": "Accounts Receivable, Credit Loss Expense (Reversal)", "terseLabel": "Bad debt expense" } } }, "localname": "ProvisionForDoubtfulAccounts", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_RelatedAndNonrelatedPartyStatusAxis": { "auth_ref": [ "r173", "r174", "r399", "r400", "r401", "r402", "r458", "r459", "r460", "r461", "r462", "r482", "r484", "r569" ], "lang": { "en-us": { "role": { "documentation": "Information by related and nonrelated party status.", "label": "Related and Nonrelated Party Status [Axis]", "terseLabel": "Related and Nonrelated Party Status [Axis]" } } }, "localname": "RelatedAndNonrelatedPartyStatusAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesRelatedPartiesDetails", "http://www.gdyn.com/role/RevenueRelatedPartiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RelatedAndNonrelatedPartyStatusDomain": { "auth_ref": [ "r173", "r174", "r399", "r400", "r401", "r402", "r458", "r459", "r460", "r461", "r462", "r482", "r484", "r569" ], "lang": { "en-us": { "role": { "documentation": "Related and nonrelated party status.", "label": "Related and Nonrelated Party Status [Domain]", "terseLabel": "Related and Nonrelated Party Status [Domain]" } } }, "localname": "RelatedAndNonrelatedPartyStatusDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesRelatedPartiesDetails", "http://www.gdyn.com/role/RevenueRelatedPartiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RelatedPartyMember": { "auth_ref": [ "r173", "r174", "r399", "r400", "r401", "r402", "r458", "r459", "r460", "r461", "r462", "r482", "r484", "r508" ], "lang": { "en-us": { "role": { "documentation": "Party related to reporting entity. Includes, but is not limited to, affiliate, entity for which investment is accounted for by equity method, trust for benefit of employees, and principal owner, management, and members of immediate family.", "label": "Related Party [Member]", "terseLabel": "Related Party" } } }, "localname": "RelatedPartyMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesRelatedPartiesDetails", "http://www.gdyn.com/role/RevenueRelatedPartiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RelatedPartyTransactionLineItems": { "auth_ref": [ "r488", "r489", "r490" ], "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": "Related Party Transaction [Line Items]", "terseLabel": "Related Party Transaction [Line Items]" } } }, "localname": "RelatedPartyTransactionLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesRelatedPartiesDetails", "http://www.gdyn.com/role/RevenueRelatedPartiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RepaymentsOfLongTermLinesOfCredit": { "auth_ref": [ "r35" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for the settlement of obligation drawn from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with maturities due beyond one year or the operating cycle, if longer.", "label": "Repayments of Long-Term Lines of Credit", "terseLabel": "Repayment of debt" } } }, "localname": "RepaymentsOfLongTermLinesOfCredit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r84", "r328", "r732" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "order": 1.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.", "label": "Research and Development Expense", "terseLabel": "Engineering, research, and development" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included.", "label": "Research and Development Expense [Member]", "terseLabel": "Engineering, research, and development" } } }, "localname": "ResearchAndDevelopmentExpenseMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofemployeestockbasedcompensationrecognizedDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": { "auth_ref": [ "r145" ], "lang": { "en-us": { "role": { "documentation": "Type of cash and cash equivalent. Cash is currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash and Cash Equivalents [Domain]", "terseLabel": "Cash and Cash Equivalents [Domain]" } } }, "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/FairValueFinancialAssetsandLiabilitiesNotMeasuredatFairValueonaRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number, after shares used to satisfy grantee's tax withholding obligation for award under share-based payment arrangement, of restricted shares issued. Excludes cash used to satisfy grantee's tax withholding obligation.", "label": "Restricted Stock, Shares Issued Net of Shares for Tax Withholdings", "terseLabel": "Issuance of shares and payments of tax obligations resulted from net share settlement of vested stock awards (in shares)" } } }, "localname": "RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "xbrltype": "sharesItemType" }, "us-gaap_RestrictedStockUnitsRSUMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.", "label": "Restricted Stock Units (RSUs) [Member]", "terseLabel": "Restricted stock units" } } }, "localname": "RestrictedStockUnitsRSUMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails", "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value, after value of shares used to satisfy grantee's tax withholding obligation for award under share-based payment arrangement, of restricted shares issued. Excludes cash used to satisfy grantee's tax withholding obligation.", "label": "Restricted Stock, Value, Shares Issued Net of Tax Withholdings", "verboseLabel": "Issuance of shares and payments of tax obligations resulted from net share settlement of vested stock awards" } } }, "localname": "RestrictedStockValueSharesIssuedNetOfTaxWithholdings", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetailMember": { "auth_ref": [ "r689" ], "lang": { "en-us": { "role": { "documentation": "Sale of product directly to consumer.", "label": "Retail [Member]", "terseLabel": "Retail" } } }, "localname": "RetailMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/RevenueDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r90", "r117", "r424", "r443", "r445", "r448", "r466", "r563" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated undistributed earnings (deficit).", "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Accumulated deficit" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r141", "r175", "r176", "r177", "r179", "r185", "r187", "r225", "r226", "r324", "r325", "r326", "r337", "r338", "r355", "r357", "r358", "r360", "r361", "r440", "r442", "r450", "r739" ], "lang": { "en-us": { "role": { "documentation": "Accumulated undistributed earnings (deficit).", "label": "Retained Earnings [Member]", "terseLabel": "Retained earnings/(accumulated deficit)" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Abstract]" } } }, "localname": "RevenueFromContractWithCustomerAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r205", "r206", "r208", "r211", "r212", "r216", "r217", "r219", "r276", "r277", "r410" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Revenues", "verboseLabel": "Total Revenues" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/RevenueDisaggregationofRevenueDetails", "http://www.gdyn.com/role/RevenueRelatedPartiesDetails", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r140", "r268", "r269", "r270", "r271", "r272", "r273", "r274", "r275", "r278" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.", "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/Revenue" ], "xbrltype": "textBlockItemType" }, "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": "Revolving Credit Facility [Member]", "terseLabel": "Revolving Credit Facility" } } }, "localname": "RevolvingCreditFacilityMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "auth_ref": [ "r394", "r562" ], "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": "Lease assets obtained in exchange for liabilities" } } }, "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/LeasesScheduleofSupplementalLeaseInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SalesAndExciseTaxPayableCurrent": { "auth_ref": [ "r23" ], "calculation": { "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of liabilities incurred through that date and payable for statutory sales and use taxes, including value added tax. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Sales and Excise Tax Payable, Current", "terseLabel": "Value added tax payable" } } }, "localname": "SalesAndExciseTaxPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SalesRevenueNetMember": { "auth_ref": [ "r219", "r652" ], "lang": { "en-us": { "role": { "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation.", "label": "Revenue Benchmark [Member]", "terseLabel": "Sales" } } }, "localname": "SalesRevenueNetMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/RevenueConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": { "auth_ref": [ "r40" ], "lang": { "en-us": { "role": { "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities.", "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]", "terseLabel": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]" } } }, "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": { "auth_ref": [ "r40" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities.", "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]", "terseLabel": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share" } } }, "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/EarningspershareTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "auth_ref": [ "r59", "r61", "r346" ], "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]", "terseLabel": "Schedule of Business Acquisitions, by Acquisition [Table]" } } }, "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails", "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails", "http://www.gdyn.com/role/AcquisitionsNarrativeDetails", "http://www.gdyn.com/role/AcquisitionsProformainformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "auth_ref": [ "r672" ], "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 Computation of Basic and Diluted Earnings Per Share" } } }, "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/EarningspershareTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": { "auth_ref": [ "r56" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements.", "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]", "terseLabel": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofemployeestockbasedcompensationrecognizedDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "auth_ref": [ "r56" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.", "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]", "terseLabel": "Schedule of stock-based compensation" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock": { "auth_ref": [ "r49" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of finite-lived intangible assets acquired as part of a business combination or through an asset purchase, by major class and in total, including the value of the asset acquired, any significant residual value (the expected value of the asset at the end of its useful life) and the weighted-average amortization period.", "label": "Schedule of Finite-Lived Intangible Assets Acquired as Part of Business Combination [Table Text Block]", "terseLabel": "Schedule of business acquisition, finite-lived intangibles" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "auth_ref": [ "r49", "r50", "r411" ], "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]", "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r49", "r50" ], "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": "Schedule of Intangible assets" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "auth_ref": [ "r11" ], "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]", "terseLabel": "Property, Plant and Equipment [Table]" } } }, "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": { "auth_ref": [ "r120" ], "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": "Schedule of business acquisition, assets acquired and liabilities assumed" } } }, "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable": { "auth_ref": [ "r80", "r81", "r488", "r489", "r490" ], "lang": { "en-us": { "role": { "documentation": "Schedule of quantitative and qualitative information pertaining to 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": "Schedule of Related Party Transactions, by Related Party [Table]", "terseLabel": "Schedule of Related Party Transactions, by Related Party [Table]" } } }, "localname": "ScheduleOfRelatedPartyTransactionsByRelatedPartyTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/RevenueRelatedPartiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "auth_ref": [ "r288", "r290", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317", "r318" ], "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]", "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]" } } }, "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": { "auth_ref": [ "r55" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year.", "label": "Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]", "terseLabel": "Schedule of restricted stock unit activity" } } }, "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "auth_ref": [ "r18", "r19", "r55" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.", "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]", "terseLabel": "Schedule of option activity" } } }, "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "auth_ref": [ "r50" ], "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 Finite-Lived Intangible Assets, Future Amortization Expense" } } }, "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock": { "auth_ref": [ "r41", "r42", "r44", "r45", "r78", "r124" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.", "label": "Schedules of Concentration of Risk, by Risk Factor [Table Text Block]", "terseLabel": "Schedules of Concentration of Risk, by Risk Factor" } } }, "localname": "SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/RevenueTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SecurityDeposit": { "auth_ref": [ "r658" ], "calculation": { "http://www.gdyn.com/role/PrepaidexpensesandothercurrentassetsDetails": { "order": 2.0, "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of an asset, typically cash, provided to a counterparty to provide certain assurance of performance by the entity pursuant to the terms of a written or oral agreement, such as a lease.", "label": "Security Deposit", "terseLabel": "Guarantee deposits placed" } } }, "localname": "SecurityDeposit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/PrepaidexpensesandothercurrentassetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SellingAndMarketingExpense": { "auth_ref": [], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "order": 2.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services.", "label": "Selling and Marketing Expense", "terseLabel": "Sales and marketing" } } }, "localname": "SellingAndMarketingExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "xbrltype": "monetaryItemType" }, "us-gaap_SellingAndMarketingExpenseMember": { "auth_ref": [ "r97" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing selling and marketing expense.", "label": "Selling and Marketing Expense [Member]", "terseLabel": "Sales and marketing" } } }, "localname": "SellingAndMarketingExpenseMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofemployeestockbasedcompensationrecognizedDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r9" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Noncash Expense", "terseLabel": "Stock-based compensation" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "auth_ref": [ "r309" ], "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", "negatedTerseLabel": "Forfeited (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "auth_ref": [ "r309" ], "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/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "auth_ref": [ "r307" ], "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/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r307" ], "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/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "auth_ref": [ "r304", "r305" ], "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": "Outstanding, ending balance (in shares)", "periodStartLabel": "Outstanding, beginning balance (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "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": "Number of Shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "auth_ref": [ "r304", "r305" ], "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": "Outstanding, ending balance (in dollars per share)", "periodStartLabel": "Outstanding, beginning balance (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "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/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "auth_ref": [ "r308" ], "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", "negatedTerseLabel": "Vested and released (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r308" ], "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 and released (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "auth_ref": [ "r288", "r290", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317", "r318" ], "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": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "auth_ref": [ "r54" ], "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", "terseLabel": "Remaining shares available for grant (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract]", "terseLabel": "Aggregate Intrinsic Value and Weighted Average Contractual Term (in years)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod": { "auth_ref": [ "r303" ], "lang": { "en-us": { "role": { "documentation": "Number of options or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expirations in Period", "negatedTerseLabel": "Options exercised (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": { "auth_ref": [ "r302" ], "lang": { "en-us": { "role": { "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures in Period", "negatedNetLabel": "Options forfeited (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "auth_ref": [ "r300" ], "lang": { "en-us": { "role": { "documentation": "Gross number of share options (or share units) granted during the period.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross", "terseLabel": "Options granted (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "auth_ref": [ "r54" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value", "terseLabel": "Options outstanding, aggregate intrinsic value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r296", "r297" ], "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", "periodEndLabel": "Options outstanding, ending balance (in shares)", "periodStartLabel": "Options outstanding, beginning balance (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": { "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, Options, Outstanding [Roll Forward]", "terseLabel": "Number of Options" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r296", "r297" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "periodEndLabel": "Option outstanding, ending balance (in dollars per share)", "periodStartLabel": "Options outstanding, beginning balance (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]", "terseLabel": "Weighted Average Exercise Price" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue": { "auth_ref": [ "r313" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Aggregate Intrinsic Value", "terseLabel": "Options vested and exercisable, aggregate intrinsic value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber": { "auth_ref": [ "r313" ], "lang": { "en-us": { "role": { "documentation": "Number of fully vested and expected to vest exercisable options that may be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number", "terseLabel": "Options vested and exercisable (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice": { "auth_ref": [ "r313" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Exercise Price", "terseLabel": "Options vested and exercisable (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317", "r318" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "Award Type [Domain]", "terseLabel": "Award Type [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r301" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.", "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "terseLabel": "Options exercised (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r303" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options of the plan that expired.", "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Expirations in Period, Weighted Average Exercise Price", "terseLabel": "Options expired (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r302" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.", "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price", "terseLabel": "Options forfeited (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r300" ], "lang": { "en-us": { "role": { "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.", "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price", "verboseLabel": "Options granted (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationPerformanceSharesAwardUnvestedActivityTableTextBlock": { "auth_ref": [ "r21" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of number and weighted-average grant date fair value for nonvested performance shares.", "label": "Share-Based Payment Arrangement, Performance Shares, Activity [Table Text Block]", "terseLabel": "Schedule of performance share activity" } } }, "localname": "ShareBasedCompensationPerformanceSharesAwardUnvestedActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "auth_ref": [ "r118" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Options outstanding, weighted average contractual term (in years)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1": { "auth_ref": [ "r313" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for fully vested and expected to vest exercisable or convertible options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Remaining Contractual Term", "terseLabel": "Options vested and exercisable, weighted average contractual term (in years)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.", "label": "Shares, Outstanding", "periodEndLabel": "Ending balance (in shares)", "periodStartLabel": "Beginning balance (in shares)" } } }, "localname": "SharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "xbrltype": "sharesItemType" }, "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation", "terseLabel": "Shares withheld (in shares)" } } }, "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShortTermLeaseCost": { "auth_ref": [ "r392", "r562" ], "calculation": { "http://www.gdyn.com/role/LeasesLeaseCostDetails": { "order": 3.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less.", "label": "Short-Term Lease, Cost", "terseLabel": "Short-term lease cost" } } }, "localname": "ShortTermLeaseCost", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/LeasesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SoftwareAndSoftwareDevelopmentCostsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Purchased software applications and internally developed software for sale, licensing or long-term internal use.", "label": "Software and Software Development Costs [Member]", "terseLabel": "Software" } } }, "localname": "SoftwareAndSoftwareDevelopmentCostsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SoftwareDevelopmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Internally developed software for sale, licensing or long-term internal use.", "label": "Software Development [Member]", "terseLabel": "Capitalized software development costs" } } }, "localname": "SoftwareDevelopmentMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r15", "r29", "r141", "r161", "r162", "r163", "r175", "r176", "r177", "r179", "r185", "r187", "r203", "r225", "r226", "r267", "r324", "r325", "r326", "r337", "r338", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r378", "r379", "r380", "r381", "r382", "r383", "r398", "r440", "r441", "r442", "r450", "r505" ], "lang": { "en-us": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]", "terseLabel": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "xbrltype": "stringItemType" }, "us-gaap_StatementLineItems": { "auth_ref": [ "r175", "r176", "r177", "r203", "r410", "r447", "r451", "r457", "r458", "r459", "r460", "r461", "r462", "r465", "r468", "r469", "r470", "r471", "r472", "r473", "r474", "r475", "r476", "r478", "r479", "r480", "r481", "r482", "r484", "r486", "r487", "r491", "r492", "r493", "r494", "r495", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r505", "r569" ], "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 [Line Items]" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Cash Flows [Abstract]", "terseLabel": "Statement of Cash Flows [Abstract]" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Financial Position [Abstract]", "terseLabel": "Statement of Financial Position [Abstract]" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Stockholders' Equity [Abstract]", "terseLabel": "Statement of Stockholders' Equity [Abstract]" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r175", "r176", "r177", "r203", "r410", "r447", "r451", "r457", "r458", "r459", "r460", "r461", "r462", "r465", "r468", "r469", "r470", "r471", "r472", "r473", "r474", "r475", "r476", "r478", "r479", "r480", "r481", "r482", "r484", "r486", "r487", "r491", "r492", "r493", "r494", "r495", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r505", "r569" ], "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]", "terseLabel": "Statement [Table]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "xbrltype": "stringItemType" }, "us-gaap_StockAppreciationRightsSARSMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period.", "label": "Stock Appreciation Rights (SARs) [Member]", "terseLabel": "Stock Appreciation Rights (SARs)" } } }, "localname": "StockAppreciationRightsSARSMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r15", "r87", "r88", "r117", "r301" ], "lang": { "en-us": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period", "negatedNetLabel": "Options exercised (in shares)", "terseLabel": "Exercise of stock options (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails", "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r15", "r29", "r117" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of stock issued as a result of the exercise of stock options.", "label": "Stock Issued During Period, Value, Stock Options Exercised", "terseLabel": "Exercise of stock options" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r88", "r91", "r92", "r110", "r467", "r483", "r506", "r507", "r563", "r575", "r668", "r674", "r720", "r739" ], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.", "label": "Equity, Attributable to Parent", "periodEndLabel": "Ending balance", "periodStartLabel": "Beginning balance", "totalLabel": "Total stockholders\u2019 equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Equity, Attributable to Parent [Abstract]", "terseLabel": "Stockholders\u2019 equity" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Subsequent Events [Abstract]", "terseLabel": "Subsequent Events [Abstract]" } } }, "localname": "SubsequentEventsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventsTextBlock": { "auth_ref": [ "r403", "r404" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.", "label": "Subsequent Events [Text Block]", "terseLabel": "Subsequent events" } } }, "localname": "SubsequentEventsTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/Subsequentevents" ], "xbrltype": "textBlockItemType" }, "us-gaap_SupplementalCashFlowInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "Supplemental disclosure of cash flow information:" } } }, "localname": "SupplementalCashFlowInformationAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "xbrltype": "stringItemType" }, "us-gaap_TimeAndMaterialsContractMember": { "auth_ref": [ "r551" ], "lang": { "en-us": { "role": { "documentation": "Contract with customer in which amount of consideration is based on time and materials consumed.", "label": "Time-and-Materials Contract [Member]", "terseLabel": "Time-and-material" } } }, "localname": "TimeAndMaterialsContractMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/RevenueDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TradeNamesMember": { "auth_ref": [ "r64" ], "lang": { "en-us": { "role": { "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof.", "label": "Trade Names [Member]", "terseLabel": "Trade name" } } }, "localname": "TradeNamesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TrademarksAndTradeNamesMember": { "auth_ref": [ "r64" ], "lang": { "en-us": { "role": { "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style, or rights either acquired through registration of a business name to gain or protect exclusive use thereof.", "label": "Trademarks and Trade Names [Member]", "terseLabel": "Tradenames" } } }, "localname": "TrademarksAndTradeNamesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_UnbilledReceivablesCurrent": { "auth_ref": [], "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.", "label": "Unbilled Receivables, Current", "terseLabel": "Unbilled receivables" } } }, "localname": "UnbilledReceivablesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r46", "r47", "r48", "r132", "r133", "r135", "r136" ], "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/2023", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ValueAddedTaxReceivableCurrent": { "auth_ref": [ "r660" ], "calculation": { "http://www.gdyn.com/role/PrepaidexpensesandothercurrentassetsDetails": { "order": 3.0, "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount as of the balance sheet date of value added taxes due either from customers arising from sales on credit terms, or as previously overpaid to tax authorities. For classified balance sheets, represents the current amount receivable, that is amounts expected to be collected within one year or the normal operating cycle, if longer.", "label": "Value Added Tax Receivable, Current", "terseLabel": "Value added, goods and service taxes receivable" } } }, "localname": "ValueAddedTaxReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/PrepaidexpensesandothercurrentassetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_VariableRateAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of variable rate.", "label": "Variable Rate [Axis]", "terseLabel": "Variable Rate [Axis]" } } }, "localname": "VariableRateAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "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]", "terseLabel": "Variable Rate [Domain]" } } }, "localname": "VariableRateDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r190", "r198" ], "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": "Diluted (in shares)", "verboseLabel": "Weighted average number of shares outstanding - diluted (in shares)" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofComputationofBasicandDilutedEarningsPerShareDetails", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r189", "r198" ], "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": "Basic (in shares)", "verboseLabel": "Weighted average number of shares outstanding - basic (in shares)" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofComputationofBasicandDilutedEarningsPerShareDetails", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Basic [Abstract]", "terseLabel": "Weighted average shares outstanding" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasicAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "xbrltype": "stringItemType" } }, "unitCount": 7 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "940", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "30", "SubTopic": "30", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-7", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r100": { "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//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r101": { "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//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.9)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r108": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "https://asc.fasb.org//235/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r109": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "275", "URI": "https://asc.fasb.org//275/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 4.E)", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r113": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "360", "URI": "https://asc.fasb.org//360/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r115": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "https://asc.fasb.org//440/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r116": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "470", "URI": "https://asc.fasb.org//470/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r119": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "805", "URI": "https://asc.fasb.org//805/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r121": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "810", "URI": "https://asc.fasb.org//810/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r125": { "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//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(15)(1))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r127": { "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//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r128": { "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//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r129": { "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//1943274/2147483589/942-220-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(3)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r130": { "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//1943274/2147483589/942-220-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Subparagraph": "(d)", "Topic": "958", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r139": { "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//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c),(3)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r140": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "https://asc.fasb.org//606/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "105", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r145": { "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//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r146": { "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//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r147": { "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//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r148": { "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//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r149": { "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//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r150": { "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//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r151": { "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//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r152": { "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//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r153": { "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//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(7))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(8))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r156": { "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//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r164": { "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//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r165": { "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//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r166": { "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//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(c))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r171": { "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//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r172": { "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//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r173": { "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//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(k)(2))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r188": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "https://asc.fasb.org//260/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-23", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "28A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-28A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "30", "SubTopic": "30", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-8", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42", "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(22))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "321", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "05", "SubTopic": "10", "Topic": "340", "URI": "https://asc.fasb.org//1943274/2147482955/340-10-05-5", "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.19(a))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "340", "URI": "https://asc.fasb.org//1943274/2147483032/340-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r232": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org//350-30/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "440", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4", "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.19(b),22(b))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "440", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r243": { "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//1943274/2147480102/450-20-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r244": { "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//1943274/2147480102/450-20-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r245": { "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//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r246": { "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//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r247": { "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//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r248": { "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//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r249": { "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//1943274/2147480097/470-10-S99-1B", "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.19-26)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r250": { "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//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r251": { "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//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r252": { "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//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r253": { "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//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(i)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r26": { "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//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r27": { "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//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r28": { "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//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(A)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(B)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(C)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(03)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(d)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r287": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "https://asc.fasb.org//718/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r29": { "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//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480454/718-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479613/805-30-35-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(04)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(v)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(l)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.F)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "730", "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r329": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "https://asc.fasb.org//740/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r339": { "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//1943274/2147479360/740-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r340": { "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//1943274/2147479360/740-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.C)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "270", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(2)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r345": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(3)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)(1)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)(1)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r351": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r352": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r354": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r355": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r357": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)(i)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)(iii)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)(iv)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(i)(3)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(4)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r363": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r364": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(1)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(2)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r370": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r371": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r372": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482736/825-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r385": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//842-20/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r388": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r389": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r390": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r391": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r392": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r393": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r394": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(2)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(3)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(4)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r397": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(3)(iii)(03)", "Topic": "848", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "850", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "30", "Subparagraph": "b", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479613/805-30-35-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r400": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "850", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r401": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r402": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r403": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "855", "URI": "https://asc.fasb.org//855/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r404": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "855", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r405": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r406": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r407": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r408": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r409": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-16", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r410": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.L)", "Topic": "924", "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r411": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "926", "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r412": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "340", "Topic": "928", "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r413": { "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//1943274/2147479853/942-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r414": { "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//1943274/2147483589/942-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r415": { "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//1943274/2147483589/942-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r416": { "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//1943274/2147479557/942-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(15))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r419": { "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//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r420": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r421": { "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//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(22))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r423": { "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//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r424": { "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//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r425": { "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//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r426": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8)(b))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r427": { "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//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(11))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r429": { "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//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r430": { "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//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r431": { "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//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r432": { "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//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r433": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column A))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r434": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column B))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r435": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column C))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r436": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column D))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r437": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column E))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r438": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-17(Column F))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r439": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r440": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r441": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r442": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r443": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(i)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r444": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(ii)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r445": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r446": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r447": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.6-03(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r448": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r449": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-21", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r450": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "205", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r451": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r452": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(b)(2)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r453": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r454": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(a)(2)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r455": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(e)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r456": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(f)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r457": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r458": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r459": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r460": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r461": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r462": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r463": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(14))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r464": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(15))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r465": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(16)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r466": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(17))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r467": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(19))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r468": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(2)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r469": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(2)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r470": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(3)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r471": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(3)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r472": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(3)(c))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r473": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r474": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(c))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r475": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r476": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(e))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r477": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(8))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r478": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r479": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(c))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r480": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r481": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(e))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r482": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-05(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r483": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-05(4))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r484": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "220", "Subparagraph": "(b)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r485": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "220", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r486": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r487": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(2)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r488": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(2)(c)(2)(i))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r489": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(2)(c)(2)(ii))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r490": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(2)(g)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r491": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r492": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r493": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r494": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r495": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r496": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r497": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r498": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r499": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r500": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r501": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r502": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r503": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(9))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r504": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(1)(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r505": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(4)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r506": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(6))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r507": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r508": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "310", "Subparagraph": "(d)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r509": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r510": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r511": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r512": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r513": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r514": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r515": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r516": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r517": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r518": { "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//1943274/2147479851/948-310-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r519": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Topic": "954", "URI": "https://asc.fasb.org//1943274/2147481027/954-310-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r520": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "440", "Subparagraph": "(a)", "Topic": "954", "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r521": { "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//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r522": { "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//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r523": { "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//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r524": { "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//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r525": { "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//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r526": { "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//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r527": { "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//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r528": { "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//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r529": { "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//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481573/470-10-45-10", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r530": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(c)", "Topic": "976", "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r531": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "978", "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r532": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r533": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r534": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r535": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r536": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r537": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(g)(4)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r538": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r539": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r540": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r541": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r542": { "Name": "Accounting Standards Codification", "Paragraph": "12A", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r543": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "05", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "340", "URI": "https://asc.fasb.org//1943274/2147482955/340-10-05-5", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r544": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r545": { "Name": "Accounting Standards Codification", "Paragraph": "69B", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r546": { "Name": "Accounting Standards Codification", "Paragraph": "69C", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r547": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r548": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r549": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r550": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r551": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r552": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r553": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r554": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r555": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r556": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r557": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r558": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r559": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r560": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "80", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r561": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r562": { "Name": "Accounting Standards Codification", "Paragraph": "53", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r563": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "852", "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r564": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r565": { "Name": "Accounting Standards Codification", "Paragraph": "29F", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r566": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(b)(1)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r567": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(a)(1)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r568": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "55", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r569": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "310", "Subparagraph": "(d)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r570": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r571": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r572": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r573": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r574": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "830", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r575": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "830", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r576": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r577": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r578": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r579": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "308", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r580": { "Name": "Form 20-F", "Paragraph": "a", "Publisher": "SEC", "Section": "16", "Subsection": "J", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r581": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r582": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r583": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "A", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r584": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "B", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r585": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "C", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r586": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "D", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r587": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "E", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r588": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subparagraph": "ii", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r589": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subparagraph": "iii", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r590": { "Name": "Form 20-F", "Paragraph": "2", "Publisher": "SEC", "Section": "6", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r591": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subparagraph": "ii", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r592": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r593": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r594": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "i", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r595": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "ii", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r596": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "iii", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r597": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "iv", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r598": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "v", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r599": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Subparagraph": "2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r600": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Subparagraph": "3", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r601": { "Name": "Form 40-F", "Paragraph": "b", "Publisher": "SEC", "Section": "19", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r602": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r603": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r604": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "i", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r605": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "ii", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r606": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "iii", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r607": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "iv", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r608": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "v", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r609": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Subparagraph": "2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-3", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r610": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Subparagraph": "3", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r611": { "Name": "Form N-CSR", "Paragraph": "b", "Publisher": "SEC", "Section": "18", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r612": { "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" }, "r613": { "Name": "Regulation S-K", "Number": "229", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r614": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r615": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subparagraph": "ii", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r616": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subparagraph": "iii", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r617": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subparagraph": "iv", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r618": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subparagraph": "vi", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r619": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "3", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "37", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479303/805-10-55-37", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r620": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "4", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r621": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "5", "Publisher": "SEC", "Section": "402", "Subparagraph": "i", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r622": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "5", "Publisher": "SEC", "Section": "402", "Subparagraph": "ii", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r623": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "5", "Publisher": "SEC", "Section": "402", "Subparagraph": "iii", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r624": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "5", "Publisher": "SEC", "Section": "402", "Subparagraph": "iv", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r625": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "6", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r626": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "6", "Publisher": "SEC", "Section": "402", "Subparagraph": "i", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r627": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r628": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r629": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "A", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r630": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "B", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r631": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "C", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r632": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "D", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r633": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "E", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r634": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subparagraph": "ii", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r635": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subparagraph": "iii", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r636": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r637": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r638": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r639": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "A", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r640": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "C", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r641": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "D", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r642": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "E", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r643": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "F", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r644": { "Name": "Regulation S-K", "Number": "229", "Publisher": "SEC", "Section": "408", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r645": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "408", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r646": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "408", "Subparagraph": "A", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r647": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "408", "Subparagraph": "B", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r648": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "408", "Subparagraph": "C", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r649": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "408", "Subparagraph": "D", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r650": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "408", "Subsection": "b", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r651": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r652": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r653": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r654": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(2)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r655": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(3)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r656": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r657": { "Name": "Accounting Standards Codification", "Paragraph": "4H", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r658": { "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//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r659": { "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//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r660": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3)(a)(4))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r661": { "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//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r662": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r663": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r664": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r665": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r666": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r667": { "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//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r668": { "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//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r669": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "25", "SubTopic": "30", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479668/805-30-25-6", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r670": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r671": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r672": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r673": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r674": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r675": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "340", "URI": "https://asc.fasb.org//1943274/2147483032/340-10-45-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r676": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r677": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r678": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r679": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)(3)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r680": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "410", "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r681": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "https://asc.fasb.org//450/tableOfContent", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r682": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r683": { "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//1943274/2147480102/450-20-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r684": { "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//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r685": { "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//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r686": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r687": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r688": { "Name": "Accounting Standards Codification", "Paragraph": "27", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-27", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r689": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r690": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r691": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r692": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r693": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r694": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r695": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r696": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r697": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r698": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r699": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "2AA", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "a", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-2AA", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r700": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r701": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(04)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r702": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r703": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r704": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r705": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r706": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r707": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r708": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r709": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r710": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r711": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r712": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r713": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r714": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r715": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r716": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(v)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r717": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r718": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r719": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-5A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r720": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r721": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(1)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r722": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r723": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r724": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "852", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r725": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "852", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r726": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r727": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r728": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r729": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r730": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r731": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r732": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "730", "Topic": "912", "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r733": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r734": { "Name": "Accounting Standards Codification", "Paragraph": "2B", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r735": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r736": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "205", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r737": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r738": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(18))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r739": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(4)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r740": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r741": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r742": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r743": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r744": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-11", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-12", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-20", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.15)", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r83": { "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//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "985", "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r85": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "205", "URI": "https://asc.fasb.org//205/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r86": { "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//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r87": { "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//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r88": { "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//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r89": { "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//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r90": { "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//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r91": { "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//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r92": { "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//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r93": { "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//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r95": { "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//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r96": { "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//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r97": { "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//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(8))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r99": { "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//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" } }, "version": "2.2" } ZIP 82 0001628280-23-027295-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001628280-23-027295-xbrl.zip M4$L#!!0 ( -R$ U?K.(ZS'^ ! (/@%@ 1 9V1Y;BTR,#(S,#8S,"YH M=&WLO6EWXDC2*/S]_@J]]'.?6WT.8"VLKFKNH;Q4>\9E/,8U\_3[94XB)49= M0J*UV&9^_8U(2>P8! *E(.=,NP!)JG-] >2/Z#2OQSWI_E*I$>+^'W' M'99*[*DK9S1VS9>!+ZFRJL5W11?=2UU59*K6:4E5JT:IHC3U4K-):Z5^K:)6 M^[6FIE0KQ9?+NEHC/:6JE8P:J90JO3HI]:I-4J)JHZ*K#;79[^E%XU*A>D_M M45W6FUJ%J-5>S=#4NE$ENE[7E&837SOP87VP1MN[?+=,^^=OA8'OCRXO+M[> MWLIO6MEQ7R[@UN8%NUJ(;C7?_;D;WWNNQ6XU;;B-(FPN?)?8'BZ=^ "["UBO M7)+5DJ+&@P1>Z860T62@/O%Z;)#H CZBQ3C6^GNC&Y MF]WI4;W\XKQ>P(6Y<6$E);@V-W1\[T>+4:HEN5'2E.DXZV:G:#,#Q;>_&&-[ M[@'\H:P[0S8YN:;)\9TXDOG!RDW;\XFM3U;NN?XR1.''V56O1S*20SR20 13 MTL-OOQ5\^NY?,"A?[8HK\5#-,;661\:3LVA0F8[Y=X(W7#CZ9A4)M]A.L/(#Y<4P_?_^X_T?YO M!;T$5&63(8Y$SFIQ/K#TK<&]NX!F%3D$)Z_*T -'QIP"^E(8PR M*!ED7)!,H/]^2:T56HH*9/KE8NY]"5[?!OEFH(R[M+?PBS=Y3;/00JRF M]8)'N-TQYEX!C-SZA[K;"R(Y>'E+3/>?Q KH$]6!&$S[Y2OQ3.^'[?0\ZKZ2 MGD7O[%$ S\- NFF93$C=FZ0'G_WQ-V+:]X[G=7V@$9QLIW]G@ZBA-^] \YX) MC]^;GA_/N"+#E#\2R;]T0,&Y#X[MC*@+K[)?XN%&,-PZDKAUB8[3D@+;#%?J MT1><36%Y^0;5S2&0UV^%NX?;16C N#WJ=OJ=^.W=( [I3CI=3D"M!_ M/*%X!HEG5$]S1M4/9K2:'E2M$;\1M-?ELVNT7?4Y:EM\] X:XF!\C?/_TI=$F]2XC.+"E(&'$OU,F.^)OIH'? M^R9U)38^7:G,K^[^/B]3%A]NQ3_-CSYB/!U_ Q7F^BA]F=PHR0K\/WYN>FTR M36/FUEH)5Y'*ZLS!3-_9;N5(>>Q97D# MB? MK&Q(B1>XM!4!EEV,AXBOQ=]QC-60TKB#U"P-[ BI@+'3/"@BZ^?R1_=LP3+2PP:TCIG%G7Y&1 MZ1,K+^!7Y)S#_XGZX+A2XX:X-OA47FX ?W _Y="$K^O!,+ PGLT\?;S/I0,< M[96&KGYN<'%P9RGW3+"'1ZO-8&D?Y:SPX*CQ (>#NV*GHC)Y0-;!_:P\FY0\ M(.C@'N IZF$>$'=PGS7/G#4?4-32,I3R[B!GX:VE"?^\>\M']=92!+R:=S61P7G)2M[W/C-SP+) 5MZ]Y:,Z8%D@*.\> M,A<.6!:(R[OG?$0'+*W=UVK>G=Z,'+#4X)]W!_C8#EAJ@,^[Y\N! Y8:+G@X MBWN@I7&;,/PU\(!O/:^M YEY3(:&!(:5U"X?8 G=$9 5?:;ZP'8LY\6D'I#5 MH=.**B6EL1O@)W68;%8:;TU=KQ%\C ?8OEY5E5L_FALT+N<03Q&Y(8=X]M9] M#,@JMW[TQUCZ'O@!F"Q.S\2BFH=E,5;H JN/[L5B=#BRG#&E2TS&UA-?W8'/ MN'6N,\;@@GLVA\./W;.Y6_?B+F[]ZEL3"(K>@]T##@"0\PN6EVU['O6]K^/O MY$_'O;*(M^BL!9X/-I+[1"U6U-0;F*--UFO^I/)A#(W1,%M+"-'4N%$2(';Z,I.6'EVB4$? MR) * V%+_'.;WI ?4; UT?&#=6Z#73LAX,'!*.J(^K3]XE(6DA7\OR4EY#1> MQA/_[T!^_. _IY&X_#.>"* =%=SM#6EW'B^.00N[?0GCQR03/ACGI,G M46Y#5C/XF'S\'48DKCX8W]-7:JU!"3,+/7:'_,)MJ%CP2[8D>E0NUG+#+]P&[?DC3.'8)J+2%)M]-KC=M!!279!H2*+< M;JP(QU;P"X?\PNV>E"!1X=ARR"_<[@X*?A&.+8?\PNV.[:/KP$+\\:,%:P,* M1>H<,989+Z>?Q">5)C?M2PR>ZU\^$?LE>@]^_6[:YC 8YB5DT>!VEY,_S)+W M7&&6V\W!@V*6'_ASN]G$,?S3U%G<;5[LK"T.@]G;P+5-'VPDN/'6?,=/N3FL MT^ NTKZSPA#(741ND]L ]?F@@-L +-\H2%%_-;F+Z7&FO^[!PZ<#QS+NAB/7 M>(WQ6X<] M<>5X^Q?9R'\DL7D:\8Z,<)VOV&*3N]A*1KCF!R/@3U4_Y3M(PFT0ATS5K>P^A3YM&(;!T9N MWJR_TPIF;(]-HG ; MT3A'9' ;X\@),E+5<]Q%/0Z?5K5[+X\A<7]Z8/;DK[&'HG 7-^%4T^4>T=Q& M7LX3'=S&2G*#CE3U';?1C7-N-J6-+E%/:TH2)[[,2DJ=Z&*?.$B M5;[@-I[ O%!J8*\9K/+ OCP2UQ]W?>('"SAXFKF>'S[@-GS )^Q3I7ONH@43 MC>M2P_1OB6Y:,*U%4+\ZUBONJL_==&"HRUI)J:8#=>Y<]VV@?D]]L( Z_?"> M_ ";._?Y\ &Q?Q+7)*"SL>_0/!*_$H\>IAO18KNR601N:%^L^C5<4E3O? M_/ QL;/%-7>.?Q9\S=+/NIW;IX[;-OX,/+! ;GX\W7WM/)TPYKF++63!Y>>( M>8W;\,4:_%P3TQIWS>'(HHBJ;N?AKMUQN^VGSD.>DC6XP#VWX1(^<'^HK$0N M<'_P\$PB_T2IEQ0Y+1=2$$0X6P_M&G1>7C :F3JPIM3TXKC]H#V&= M.CDPR6G;]Z=.L8>CHG$7&>$++=FT#5J5;@,6O" D*ST"9>Q!!X0DI$FJ7#GXO."D(QT2(4[OWL# M0ICSW?$'U)U>>Z(OF,G]X/AWMF&^FD9 +&L<]9&@QFDJFPIW20VYPUQ&6JF2 MMY@ ?YC+2GWE+6S '^:RTG-<1A8>7<<(=+_C=JG[:NIT,1'&)Z9UHMJ+RY " M!_C(2B=Q&4O@ !]9:1HN0PD,_ MU**Z<^@]Q(ST297+P *'^,E(OU2YC#-PB)^,]$V5RV@"A_C)2/]4N8P9?&P/ M?"=VT"$%6_).)YLEAM" K_LE$_W 7*Y@6 MJ[)]%_S-?YG^("YF^I5XIM?I/[KPJ/VR4 (.A@"4?0=0N& U>/'S)ZJ7N(L@ MY QO6>DK[N(*.<-;5GJ,NZA#SO"6E7[C+B:Q*]YNS7<,O((Y!$MZ?JW 4\ M>$=45EHK]Y&/##@J$V65^U!'!AR5B8[B+K81EI3"2M\1=KP9A,2_=>Q-^$A" M$#I%FL".2T^F]_/K^"NU]0%VIEAH0D@LZD74\+"Q]/X^$UAN@!@O?.GF$]7( MW(5N!%GR1)99V1_<1:8$6?)$EAE96PWNPF^"+'DBRXQLRP;/,<83)I=TN//Y MS3E-)=[@.9 JR)('LLQ$6G(;+>:H&1$/OFF#VV@QQXC*Q"SF-EK,*Z*RTLC< M1HLY1E0F.HJ[:#$?EDMR ZZMZTY@^V##Z=1\Q1X.Z5-,6ET3 ]N,*"""WX0( MAI1X@4M#"RV^&H\27XR_XS#KZ(J[<*^@JRW;Y:77$;+!77 U;T3 V/"'W3,M MBQI3"LA/8^(F=X%,00*'E@(3[1*]?+5RB2[NH%N:W$4AC]D_ZU",RET,[9B- MJ0X%5&XC0'?88)U.:OG>.SJ30 O2S_'\3I]%)D\S\-/D-O##&7XR"B,TN8WW M<(:?C.)Q36[#/)SA)Z/H3I/;Z,Y6^'FB'B6N/F@##.@KM9P1WGOS/H+13C1Q MOLQ& T@:[\:#!5SG>4(DONRD1]Y3MHD25W9:*[\AW#^$9MZA(+T-4V MAJ9M>FROXI6>M@++=UPC6YQEI<7R'>O(G,\R467YCG9DSF>9Z#-NXQV/%K$? MR'"V;TL;7,=&UW?TGWB1WRWS!1@KW$8H,H#Q[D0_AY"]B%[A-@"1-4(RTAP* MMR&&;*50BMD+JL)M7*#]1EQC.5OK9CBRG#&E#-2=$2KLM/*TSI7-N(TUK$:( M*M_\%< T[UA6'9AB^6(X;D,%O$ [52.+6R<_4VAS86YQZ\OS@YJL- *W+OL: MH^"1NGW''1) 37= W!--Q5(5;MUR7HRU,V)2E=OXP1IB>**>[YJZ3PU&#C]L MT_>>NC]R8TNHW,8'L@8X%^S ;; @:^PHLJM(]^&$0S3"M#:[%(]<$W?I-[-NVX%!C5N76=XY0Q'@<_V M%CO]&^+:IOWB =X8OKZ.5P^PKR&= IZSR,I0N8T*G"B>,\KD4/D-,9PFGK,R MR_D-69PFGC/*&-'XC48< \^9N=I9Z&B-WT#(Z>(Z(SVM\1M6.5U<9Z2K-7XC M.J>+ZZST-;\AI6/@.H.H22::FM]HUBEB.2L=?=ZQ,;XCH.EA^;PC8QGP76+@V5K778V+ MZ76LJX<#PR\V3#.%QCW9T,*!MOHJW(6L]D+OYA8;)XO>"_/]$C2"$[@Z]<*O M TH,-A]83>L+_&%8-Q6J]]0>U66]J56(6NW5#$VM&U6BZW5-:3;_C:&MZ3.> M/[8 ^T/3+@VH^3+P+RMJN5X=^9_?3,,?7"JR_+\+[-;6%V]$[/@!W;$<]_(7 MH ZYW__#1%=[ MC@LS*0$8+#+RZ&7\X;-A>B.+C('*V&+80Y^CL7J.[SM#'.[S*W5]4R=6B5CF MBWW)UAE>CHB@V2PWJAK2@0\$YQOQBR,2*3,2N?"-Y6O-1KDIK[\LEY7)M0LV MMAO?$$%>"Y=K2+ H!-%O!:VPL.YH)7"G9#@!PH61 J!P1 R4))>RI+!AIN^Y M8+#X&-**"K!AP CA@OF6K,;\&CZ %Z9!>_45M%=H_7BX>[ZYEKK/[>>;[CRU MS,R>E]EV;ZY^/-T]W]UTI?;#M73S/U>_MQ^^W4A7G>_?[[K=N\X#]TOX5[O[ M^]W#M^?.0U&Z+E^5)56N5IIKI\TKW=QVGKY+7T!=V([]$ QA$%V*M,H3RBR] MI!0DFZ %8%#S\MK1 Z9QQR,0:ZA0^G!#2Y%+_V!*9SI**W>@^(256B2P$7\] M!/']"P0-"AMO'QT#KTN,JG\$X"N (AH_T9'C^@6).9$^F +O_F7??*=&R7># M"3;50NM]$952#) LT/*/'^VGYYNG^S^DIYO'SM.S]/CCJ?NC_? L/7??;Z09&3.1+^VK9[RL@/;-'7G>.J[D#ZCT5XQ/ M*30&)?#PJ+$##S^RQV]"_W">+ SXI32$(0;X6,D@X]*8$K=$[9A,M$+K;X%- M__L7I29_UN2BA+9K[D5 Y^D84\Y,%*"?Y)FL!\-:6= GEC<1!I5""S'<^+P. MLX=%TNIU9RJ-GI_:#]T[)G.$.$)QY$]H*I9'?=<99HBCCWS"4%P=_V^6%"OY MSAEP:]+H0-:4D!L^OW*&0]/#Z)AT:X+O#!J@1]W+!/;M\X2>Z+^$2,:(U7;1$/*D[HCJ&B0W)M"73]Z2K ;-LU[M? MN0US5>IEN=;<*LR59%BU7*UM%SQ+.MGZ^D=7Q.36!>#B^)HZ>L<(VS*S+L(\ M!/?Q65C>A86Q>)X[BG0+JZ%WA2T,W?&58\S[4S C'??L?#IRG5<<9^I(U0NM M:VJ1-^+2M>P=H>$#",]%,,\1&<_D_2[:=PIK&,[KFD:AU<"M%4VMJY4/X;R! MI",AP_3/R)<\QP)QO1A/WAK$,,SQ)3.#[R=&L!(8\0Y8\:[T9^":GF'J"+HO M/?>B!>+:G"5P=JO[0FSS/^S[K^E2Y\G ]:[\5.Z6I>C8@\M@.4^9TH-3_G69 MYCC>ST*K"9*6;=ZJS'!CID;@_W\@XF[C# M:A.OF*$KDP:TU4G 7BZTNH$)[%]5Y=S9E#L"X@H^=MQGYVVB>;':91?F_T2& M(//X(K3=ULAD>L=]!",#9/=T@T8%-ZZ]'-3?[26/#E@RUO]OCD(S)WJ%5F@U M*]7&]B%@7LCI4[0L]$]&+H#-'!%+HA-!Y/1!;E-O*Z>$*X_TT_;X1=YHNY3, M8;12:-6J2^+AUP1D@^6DK<>!8R\X_E@ L*IJ)13Y^:.7J1/[W[\T5*7^V9-\ M:M$1KE.RV4*+:#I9 =HL$MCU!(!D?+"KR"L%31-1)9Y@%HVB?NK]BAR$$>&V[E]R[,+7Y?HN+KQ6+3>;M8.X\-741U7 A6]LY\)G M/UFM5E:;VOG%&YY-/TSTHD0?2+I%/.^Q@Y@L8<<24 MD09]UP>8ZBJ!I'T;F/#+5!PGBET0_>>+ZP2V48K6H>N4]ON?3\7YWMXTB53; M6%%[C TGIDDMW/$ 2+,CD$5I1%SIE5@!E?Y++L/T%=SFE+S!;O&ZM2A($BH1 M:(S1&,F,4&1,<%@OM+Y=__$@T),U>F(NNXD$6+C5M1@81_$V'Q/'ZKO/8$D^ MM+O7[7^$G"B%?=2D^_NKS?';76)I?P:>;_;'X4^FC2$[,$T8MK/P,_ 4@HXA MVMY8T@<4 ##$],2W 67Q6C2TW>EVVB?EUW!_>4 \J6]:8*<3RX([,,T'S?>_ M A.-=[#9>S2Z 0:.[/?P447#&&^8M!*9\C,>0(Q#-._Q,B:M2 9)^ /B+Z[BC<9/APMY->B M1&Q#^J3.K+8'A ,W]?Z$M>!#['YX$J<2#8:Y3QZ;"9LI\7RI*4L&&7OEQ%&0 MJ\!U8;@P@0IECT_\P)M0;K/0^H-ZBQ2Z4Q9(2FEB[UE&+;=)B7APL@1/G-^6 MW#?/MU[%1OUCCHD1!V8RE.]0[1&=AL&OBDS !9$&6 M3 >9#0P\!7!G1:Y&N_Z!%>Y\=$O/TB>$>#W"O:JIY>@V?V!Z,'$RPA2 0TN6 M<-8364&]7\L1$2;>!)[ "$$428=),K4LQ($0!SD0!\!Z1+)@<50B8*Y:0-/( MTL@:+NK\(<@1>(L;:TE@I"$ 40+,"T,!RH9 ?DB@:7\Y@_B MRV6P."B;FT'[ILW22EED'D.M*BQSS0S99>5S?-O&&];/+[X1S8SHYC5SC>\T M[5#:@2M94F/#:=9:*I]>,%15RDTU_QE_6:]O?WS)*PR&$^/VAU4:?C_^=!K=U0_,F MM*,G-D[X-;)>LE_QT4_!A?J(P>9KX,% GK?Q !SV5/GX!-RIL5)1G!6\5W6&%_^9L*KX;62#6MST'E\-3VF$VUBZR:Q MT$K%$P!X,Y;M,8AK>!*F_)O&NL09[1/Y=:73*((@V01!O &UK)C"I$] -RP4 M$9Y2^MC1_[4L_4$]?A G(GRI& Q($%L+_+FE8K M5BJ3LZ7Q5%MA]@9;I+NVW0V/2_ O53;D)SI='B.Z)UZ(:Z0)5KL M7,U:-"R4JALYH5Z_="EN1+W2I>)UTYFR*KG6J*0>^&]H957;+F$YR;#5%M>(#LL?WT+-V5I=N[A_;#U5W[ M7@)#L?/TO?W,"D(N"=JM3A.K:U,MEXV-'5*G#T$WAST^N8HZCEF$!RSQ1(11 M S?>IT-)*2 I'2(!L)0#NJ*^1 #.V@-/'@G?.D%Y\NG<\[U<6 M@<4@O$L'V*OCE\T2]P K-MLZ( MAE,29MLI,#S6&CZ(W2;$]*%B^'@ E\EI;5\Y+.F[@#0FA!]=1Z<&RMW,,2RD; KLJFW8LE@XJZ)4/CI IC M;$BYSJ-L.H]<;+4>)V/?E:7.\^\W3[MG8B?:@!.>(*\239/32L,6GB ?!@AB M])Z^$"NT/%B%3;$=K)5V*['0ELMK=UF8;MR(EH!HS_LF:9T76*%!5W"E-_9QA486_OAL:(- MD:$KK-R38.EJ4UBY>4-;,ZW]9&'D/H0M8O0[/ /F;I^"E3N3JY,YAH6438%= MA4F;/[15(RE;%2;MB4A9P&B'U8>^L\.RLS!4YK@5\C4%1A56;/[0UHCD:TU8 ML2*XY>GP9^U#2=[]DMU/$#%AM3'2)SJR+\P.H]4QZI2:'7O MOCVTGW\\W72%.,J[.$)\UCX\W\)O1P'>D&^FT=9 D0OQ0Z*O 9\6V8GU->@^ MWK#BX0^=YQOIZ>9;^^GZ[N&;=-MY^A=\+-UW.G_'[]WG]O/-]VW['JQI=)41 M9SX/3 ]/;6+;>VLL/;$6CY)C2[>..Y04N?0/UGZ'F+:'G7/>B&N4+,?Y&74F MBTLC84I8KU3R M@AZVQ_'Q1+]K>C_#Q(O UD'9P3QPB#).;]U<7JB-;X35,)%*L8Y+/_ #ETKT M-2SDY$I.X,8_3KNNX>]AI0 8$3ZPF V\]\/7F;9N!0:5X(VS/_L#XDL$AL+LV 2/3E]N(UEJ:$Z$%F,)S4/6^6M33[V2TLBL/1A#22W#+G/SX%(J M9=:4AO5R?$7+"DN)1'+,,%],'_B7V@!N"B\#"D":,:>172 4?6##Q%_&(.[< M5U-GP@Z812J:%27Z@ M(:@1L/Z.3(6%=0I<$ 4N/LA^),8KR&$P-YEDP*=CDF#M/J=4 .B$L00VL\3F M$ T%^ ][OA*#_A4@:K'Q>-BJ#\R @$8]8 6:CHRF);.+]42'T_@P1RUR\F#^=2,LR:($"Y(/S)$4Q__0V6#AD1&XR12& =9<8Y0(%&:'0N+[V"^8 ML9I+F54RL?\%7K+#2S]P66[.B-K4#VW# &,"IL?LD!A'4H]X5.") UN>><[. M<$1]DQ68F[C;++ VXY^1%XQ7^I(-':>Q%8&Y[#!GVK;SBJ(262L.=#"430)>^*7G1E&3 M8IBK35V!R>RE:A'1",SE%T-^M >L=Q[S"%W&BRS(Z5/+@IL" M$+1P/[@&ON###+&GDQ%:^3 H;BSH@+,7Y+B(T_2X#K:P+S/$D8'^F#.*XQNF M+HV(Z]NA$R<0#58YKL^ % M[N4+C&2'$9>8WB1>#UHF2O0(XX0",<=$S&27!),S;(_.!=>9&4"9I^M2CQ)7 M#\/RD2+"8'Q1\EA]$_PY-!;@P=#RB])FP/<:FK;)E!8ZV?&+]L6S0.J'Z0;, M#68[RX X#V6>Y+N89X/V'?*C.^UF,A.9EP3W92866,Z;"Q#@^B[%T-LRRFQB#D_A3R'@3.YWH?P5FN,?" MKL1;H\5IR,-Q9\*/ IL\1#*846)%X<+8H!\0-TS8T9WAT,'I._I/E*EX\T.[ M>]W^A\#=$7&G.QYP3YB8BZF.P(TLDTX:!3T+6 _C^\06YOY1<3*U&\EH!%A@ M*?R8I8UBSJ4O@242 3+164,4O84.%GL<(?F!9]RR-?7)_<9)C'2K=*+,6;IUQ M4";V[B0=*32BA/'+ 3F.'""Y6/$B7;W1!=(:DC%+ACA,C[OA=Q1EK#JY>./-[ROVPPO(L!RSX9^Q= MEM/#?I.=?]Y=EY2FA!$K"H-_QB$%51[1%&2X77-*"/?Z33U*1]SB6,8\TO'D MAT=]E*_@U<$ 45'U8GRLY,"P8"->LET>?0L$S=<'SPI+A58Y.FFP?$T6G2DC1UK MC(]RKC\ -R0&W4[(EO-W1O8/ %=XVI!!QD5;)L *M1\ A'A2=* Q#B+-'4$M M2_^*32?B46,3>).>+QRY8/ZX (G8FM8#UX61HB 8F=KOT>G*\#MKTCI_5):9 M[&$@.K;XHB.GC%)(9,G/&.S%F9,=$[NNN-J$+\Z??RM+SP-,/?'!(J,QU443 M,:BGNV8O!@&Z#1\ S,0SM"RMG6U@H7U0G#<.BC.VX4JCSV&.R0Y%YGNLL.T"S^P(4X#I#EE(69Q6&V4H^XA]9 M-718+$8J4N#A71%7,KFV;G1&Z:&7S'@40&@.1YC#S5K+CU-D528(=&+C; ES M=>:E<\0VQ8@-0JK535D@D@<\BPP^(AL=N,A!B&9P#H1!]' 9GAR*)@86"\ \0> M&ZR_4R=S&R9E87!H8 M0I+3 Z1%QZ0=4)]&Z)Y_R$L)9HU2/N2#F2(/\S3+;.J9)?2W&1?1-1T:1=+L M@>\(F8R#0$GJ;-3 GM9K,"8L1-]U.D(>A\'^"DPW#(-8Y(V!*K:Z0@;$6$G( MH&SXL(X"RXBQ(W/"G=?D1EB^.>0U=L;R \L$"&X\;]' "W2&K@ %CF6&&:"; M1BI+G8_?9#B1O10"+XP@1=4?)@(UI/;(Z)C=>"M*3,:C6H;EQ3X?"P1YOAL MH##)&+[_"<:K+R&8PT#1;)8=$UTS9Q&171'60Z#*' J=.SS-'%M4B\5&XFH7 M$PMM5@_')2]F'HKQPHRWV>. (],.J&QQC 8 M/9ESG=3A8)03B^;BY$3LS+)G6*B'<")&F",?1IWF0Z1H"@=,2P/9 MT/D7F8TRX1@4"A-83G R,_\U>#%M-+]L M'YV6V,J)DKJ1+1PWO"WR#6FX',05S#>LH1-Y._["Z.OYYSQ#/.D4.=-$D;.S M"PQE6N0,VW/_]R]*3?Y\QU2(HGZ6;N\>V@^L]-E#(:/'H MT(>+5\K2[21NT9T(N9T7W=QBT=S0P+>GNVOI^H^']O>[JZ[T>^<>Z]QUBX#] MJ_52GI?)_WAH_[B^>[ZYEJXZ#]5HR:. \MD"L-E-,IK0@N*_+J-%5L-RR0SJ351M2Z(/JPW M:Y&11R_C#Y_1V+;(^-*TV=380Y^CL2+]C*IEH?0L UYX>:IURG*H>:)RQM&; MH\ME=BFNBCMWK2Z7F_7:VLMR65E[[:-A%;5<:>XV[,?7JMKZE^XUV<96PVYH M.;"Q5'5SZ=85]89#EEA;<3A51FGBYN['G,((JXV^Q(3^TP#%3$WFD#^8J$;V M4YT.>R!^-64"2W47^DM: MSSLC[O+HC %T>%))FZHVU]7G'C-+3@S#S%6TFT>VQ=!AD+ +G+=M:"2Q?]6R M6N4>&<0;1/5\X0/&=E^)->67@@972*- MM&T#_[F9$DC;OR*N.P9X_)-8 2U(82@/W,MW_](.AB7#8<$*'+805D=AK(0> M:+^D*8666JD5E7KMR\7\5%NA2[L/"6#5G$+JCM,IE7E&34;YQHWTX_);4M,;9V=1, =*IT" ?0LBMD@X6:A M93EO)-II_:\4170['OC6<:^=H.?W RN>R--D'I'EM8+"M$*KJE:6J(M9!HGF MN8$]]IUGI="J5+05\V3[9D@$XJ[U2+GH*;!PBO7.B*" MHC;*BA0IJL8H2JLV.**HL_,U?]@]T[*H,:,9U[O_'_''MF9TSOEC@\2-P3GE M#V]'[J@76HVB7.?)NDR[H:4@ITWB-CUR:H Q6:PV%8[(*25G)3^R]M&E(V(: M80X8GI5^WU'6GHDMLD'61N!\1C F98=FH=4LJBN\*V',GA !;9"N>Q!010;C MM:@V>2*@L[-=8WD:%Y2;.7^E;[>?)2R0+87L30CBMFUT$+[A1NYNIDA%0=FK M-(1E>])TM9WL39.N5/28E.K>(IE7$[?)NSQ^=K!-4 JB-X+"UHD^I\@_FT*[ M^W"*5FAIJE*LU-64S),C^K\",RCO;U!?V\Q[V/ M6@C+F6>*VF@YIT=1-3295:7*$4$=.X4E$W+H3*KN6Y1X5&)P*3G]$G8."0WG MW07OF03W-@C>"8CO$<)/^))._P>XF@C=I'Q2!\FK%%5Y.N]L'UN;X;G%?07MF=@C&P3MK0G/TGOSE1I3V(8.X@X6 M2;/04AO%6H6GC6IAXQY;TJ9*4U49:$HN:G5AYAZ9(KXYCH'UX809N[-TC4&8 ME.:50JM:*=8T8;&>-/5LD*.[4H]::%6JQ:HBK-,CX_Z:]JF+E?Q\\BZ2%_85 MGC$T[UC"W3-YW]F$P!VS8ET3D=>3)J<-TC0]KF\OET[*M]!.F@JV6KIL6OC:=@^\:#:L!D;A&PY:KYT8NK%YVZIEN M205!'2PL#42!MFQC':21Q;8"*WCG$9 *LLQSB(:$A=]M*:XW0FA*7+?P<8XN\.1DY)7(S+&P@&B=N3YU,/; MLBS48T@9NQWCJ#:QHH0F[WV$B+\M$<$:I\L:6]:WVHLU:C+N%C::=8Y8X^R* MK0 FW8"&G1"I[46MP\!R[5&;]DVQZ;.' KD9CBQG3.D3:^QHS/@&.S*,PC+T M&EI:YU'%#A"79+5!^*9.5FJAI6A%N;9WXB=_VT'Y$\1[5[TZDR24S<8[@G.2 M@[(SD7"YN69I!*=*=V7I&K@1Q6KLK!W.;!W/ZA*N,V&BS!= MMK2$9]S$N(S K=":,X(Z,X7UKQ-V] G15-(#L_O1E,H.85=Y:DY[%GFB'T:5 MIX=I16 Y[<#RSN<@ZQJK+M<0^10G356[Q99WIZH*IGS6M+3J=G-D[O(87O[H M9&U*-N\>1_)R?CAM^]!%4B:I%EJU2K%6%P?4>+3(SY?BMP^5)*7XL)&OLN(H M@*!XSH]DG!\:FD5'Z= MT#*;:1HB-)G&?/?,2]NT?BOX;D 7!.!<+6^^]?&JI2_[S/H6(ASU;*LWCL:(@2WG\Y MV:F-J@>5FFR.V9Q!!DYQ\+5 #47IOSYBPD?J=@?$I1\:-G M<;S/TMH%>/@>;X^YLXEZ[< ?."Z@V]C.9)PN2/D NJLGEP#+^TX.CXU@HR69 M_;<%R,,92V3RQL.#_L[S@N0KTQ*#/?'$.H'O^6##@+1).KM*H56O%C4-STXN MUZU>!CM:2H>FHMW@7#T\>>\!9_#7ZIAY7"M6JJO*8RW"V60P"/,8IV^5B">\ 2:W2&8\:1K9$-C9@D8:?-'(B?D_:]+$8:X(9V))V @;;'%) M)R/3)Z);QAXIX1.@/@),[^RK$*() YJ-)B9]58K-VMX]ZL7^*<_4M"D-/!5J M:F(*8;T!KL0)[IMR+F-U/1@&K)@ (+IOZN;9-7K[M)=T]6 !\&F1,9ZH3^!- MQ@UQ;0"(-P/GZQ#,27E$ 9>[6:S4EO,%?Q56ZFD0UY*P/1IQJ:S2@:(N1\\R M(:[S,&]G1&]T^-$9CEPZH+8'OG]4#>3BD^5XWA(6A(V2Y!!D#&=V0.UJ%LIA MWNT]@/B!^IW^,WE/RCI8)*0H5],Z_2#LX'S+YL34MD10E4*K45D..FXOB/FS M@=F[Z_P(Y(_R!KWDNZ[[)%6=0U[5!@$]N\]]PR"=5 97P7^LU8K5VFGG5YUB M4N$YT/^&(,K^]%]#^M>*S6WY7G=<)&7 [) M<(*>12IC)U,(5V$=,GV M+$!./EI)E=W2-P7TPY?K\XSM$Z!"MRT*521-T%; M9:;6@$I$QS NL<>8 &8[/MI;+OQL2R;,[,5EV0RNCXEA_H!Z%*B8!(;ILT+\ MF&WLA9\83%EPN&_:Q-9-%IN 'UC.?'D^,6P&-M&$*FJYCB0R)]&&!E\1Z(V.O M<#%/CT","W!?!-E:P/3[!P-,R!<@M!R7-7>X!$ZG+MX%GN6KK^XZ']_>ZJ*_W>N;^^ M>_C6+4IW#U?K^9F7R?]X:/^XOGN^N9:N.@_7-P_=\%.W; MA^>NU+G%-76^WUQ\NN]TN[]*[8=K[A<(\WU\NOD=5G;WSYOY^7,_]T]W-F@3 M)X Q#*\HT7>=@N(=43=,O)= D9#UJYA1I]$Q2\9D$[W =#TLQ2(CCU[&'SX; MIC>RR/C2M-F$V$.?H[$B98*2<$'/,Y"%ER,AV:R7:S4F)Z.83/3B2(26V:4% MTR6\5E'*:JVZ]K)<5M9>^VA812TW5'6G83^^5JTT\C-9K2DFVU"WHZX-$<6- M$?3FTJTK?-50PAS')=LL=\+8(JAN*GV'^P:>= ,:W?C2.!!TN3B%N<4 M3Q8T7?-]2\#L2SPST9<$;AGGX,-3,ML<[F#@R)>Z-R'W+>+ \ZMZ\ZU: 8&E['H7_&SND(C8+K7J]J%72:CC,S1[2GMV(!3>> M'S?6LN9&F'+(CEI:_2P$.PIVY&GA2=A1R9X=\0!5M5ZLJ$(]"GX\=WZL9\^/ M[,Q9HUBOY$8_YOI8VI9$=.5X+#?!#2G@5,Z='=_?0T!V^A$C)68.K="J-(NR MMG?1$7&LC&,2VN"D[$="%59SN%(7W7-/F80V&-;[D5 5.Y;+Q>K^$25!0QS3 MT 9C<#\:JA5:3:VHG&+'94X,N=7[-=]OT]ROIDIN3>UO")443CX'X MD4$X,5O4"RVU4=16L,5!\L6WE!J<.E[BP.I1R7Z#6;H/V3<8V3=JJ\HT"[(7 M9)\EV6\PI?^S27"LV&JM*90NR%V2?)=EOL/[W('M%!K*O%FL50?:B\9$8 MXY0:IV0AU*9-=NG[",])KF_LF%%_)#'&@<8XAYVW&_L%?H-G[1?6 X(25Q\4 M6;$6@[Y2RQD-3ZB%=!8)F"%(V[9Q/87G32A*$ILV"G9:5^O+35A$8/QT*&IC M$F&:%*4B1356V,J"HDZ'HC;FP:5)4:S%?65%FV5!4:=#41LSN=*DJ$JA52LV M3[&]/=>F81?P$);M&Q+W)T4?Z%2Z-!S?#NQ2R\+41=OX'@-S5W:H%EK58K.V MMQ$H^C)P3$X;C, 4R:F&Y*1H:>6G"W+BD9PV6( IDE,=F[06JTV>&M<)>CJR M_9D2E8I=$64@JN6"U8*H3H>H-F4=I4Q4 M2J%548N5FI!4ITQ4FW)Z4B8J%1Q7N2C+/.V&I=FZ2E'+:I5S,S%L\^%LGR-Q MTFEQ![<@)\DH$<]XB9E&*[346K%97TZ%YC1!3>1E\F1M[D^ %; OF\6ZLO>. MLR# DR3 #9;I_@18+;1J2K&ZOX,C"/ D"7"#%;L_ =: &M%M;'W?K;($1=C M<#_&:65*K,X1OYMMFB[U76<8NT2.O9V=KX*BS2PHNH.K^P8X\"PFAD#DH^ M>3_7+(R#QR6G7E)?== A U;>*.[WPZ](#Q M\*6NPS+E[[#S&O42%SO2JBC25S5?RE]\4VRD\L]%!S&*>>*G&CN^5*DO9ZHF M#F,(>N:?GE.TU0]*Q@ZKZ:'E :(W-^ER:_CG[K7 GP4.?A?J4UW**^JX:G#8ET11WE.F98VI(&G M1$L5.:2EO0\C"%KBF):VLIOWIR4%ZYAH*QPW04NG0TL;DK/3HJ6P*F*#)[ET M#@'M!^I/TAE84#LUXWLS7W 'C/0ZRLXOGA=A&)SJDRXF[GLLNR01LH=9+8/%B5>/R]RY^![FBL$32PV$LL&+,I=E+5< MMTE/2BD99_((CC\/CC^(3Y8F[ZMLX[-9VZ?VC^ ]P7MYY[UM=T#3Y#T-DPLK ME7UL.;+KHPHL.B N.O[(N:]@K<8X_PR [X2S]3W"1'S9JFM7F;B_#4NC;'D M^W&/U.VBS/HP^J@N6F(WQ+5A\5[\-".2B9DE3\VL:J$EET\QE4!P0)XXX$-W M9!T+U!988(U7LC4OU) 7U.4@>YXS&00;G#P;*"FS09VIA.73=((->"(5P08? M!:E28(,&TP;+W6A$.L:!L'YM6H%/C7U.[)\:ZZY:(M^L>WA7)B*352S;3,>9 M6'Y@-& M4/=V:5)D!-XVS<48.1KCM/SAU9O7_V)?J"$1F!5YH>'>M2_YQ,9UB(WL M,QGC;#>R)XL]S7-N:^V"D-<3'CF))48[%!@/P;!'W4Z?F05>9RHVHIAGLHR\ MFE9HU:M%944V;.XWBP65):@H?5@JJQ1:M7I1T9;KO DJ.RDJVW"P_+!45@59 M5BDVY&5?2%#925'9ABK4AZ6R&I-ELLI3_8'3\IP2[21NQ1G;QL]RSQF[V9(1 M:)<8)#%OU$$"UXJ-JNAP>^)TMILUF1J=-=*R)P6=\4UGN]F3J=%9,RV+4M 9 MWW2VFT69%IW5Y;1LRK2W!8(B@6%B)!\HR^:1-;-^%!( N?LD*>Y;6P MB2944.9B/]+EV*9JE?Z^/D!Y, NAR[2.\ MP%V=A\;L7YPM,H>I4+VG]J@NZTVM0M1JKV9H:MVH K[JFM)L_ENM%N*'!I-] MQQ$P::GG4O*S1/JPP$MBO9&Q5[B8IT<@Q@6X+X)L+6#Z_8,!)N0+D!9.V(?S M$OB;NG@7S(EP,Q=IX*+L_&4SBL K>$8Q@LR#?4:1$[Y>A MV[F_NV[CE^XS_//]YN&Y*W5NX5OGZN^XL)NG[G__TE"5^F?IYA\_[I[_X'Y] MG^YL$,A. &,8,Q7>-JHKIM>F,I0=M(8Y6V3DT^AS M-%8D>%%J+.A1!IOP\E2@E.50J$11FNC-T>4RN[2@W<-K()DJTRFY/?CS7AKS^*E]S;90UI9J;N$Z;XL^ M;KY@TH;)HME%+.99C8AIE$R;?=;)R/3A=P$I!JDGZA/XT6"PH5'VY,4GL$&# M86 QA\R@?5,W_:6\R',%67L*&P8U!RLIA[0U6_*)_?)A'=US!>"SXT>,Z:'0 M&C@66)%>9$"'A/A78/KC.7BMR9!M["/R9\* ":IB<0[=,*JV33+D-FL^+]BU MATY@^RGQZ?%O/:W$R-4H^DHL8NM4(KYT376* 65)4XJ2*JOJ/OF2^]5RY*^F M8<) ?N/C0/[^H7J%;0DIU>6MQQR5[4Y**YP7>CC;^J6)UY]37E]1OG03H\]8 M9#?,"EO%S"HPL^!CP<>"CS/CXV9R/DZHL;'>=[U1E&6AL@6K"U;/LMJ_O&7- M\12X'DN-@YVN*@?LR"QX3O <]SRW;8N-[2SF:J'5J.Q3OE_PE. I#GDJ"4M5 M#FZRUL!DK6E%N;*<>"Q,UD.=?@H9M+:"0]EW$[,\_<_<%:@5J!6H%:GDME+;DKZA;^BN@]\). M0/>@_!);6'A2M=BLIU!(4] >S[0GQ,K)HC:96-&.(E8:.1$K*678Y-1E8AYZ MJ4?",WO#$;4]=KKIS.J4[28;17$<@2:!IOTBB,J&$&+;^#/P?'9D^-F9'@)X M)*9Q9U^%F?\LE8W)L*L9$?:$*<>>Z=,N=5]-G3["8ASCB>K.B\U&^2>Q II8 MKS59OWJUNIPM(\B2;[(4TD.@2: I$R&_Y'+P+>0;,H="_KSW=F[>J:N;'JN< MP,X82P M6+%$UQE*-O7#!R6/^K[%2B;B4Z_4PWM"!XB\$=?8S?\YP;##;O[/$P#4-74L M78HP#?V>D!D?J!]7RK]UW&?R_B_3'V R*]936<6#E4*KKC4YBAB(0):(-YX, MFI+E."PY0FMR'!;X/U2ZBT)@B?<31A/QI$BQ64WA_)4@-R$5!)H$FO*&IL,D MJ!U%>->X$M[GO0D$=CA\M24]<%UJZV/)=V$TB[E0$IEL(A:9_Q0Z66>V/23B M1P)- DT"30)- DV\H2F1#;BAK5H'*_1>S1;G#8\J1!;"560@/*-]$+ZN;1O/ M4VMAFG$4&XF/CLLN^&!2]@+6W^#9>01CTO97F87U0JO2W+M5M*!!GFEPP\9- MYC38X(T&SZQ:[7?BZH.X5*UVD%*U?/-8*G5JE0T=Y_8N5-N(>AK1]M4"RU5+NJRK(7Z6%/W+E0B2$APND#3?IR^X:SA?HQ> MXX_1S_N0KRB=*D[@"#0)-&5G6.:LJEZ3=1I05@2K!57R395"> @T"31QZ%)P M)^(;_(GX\]Z76%LW=7)(-BI0](:'I*EEG-GV1<)D=76W"HO)ZJDV68UYCAQ] M$2H2$;V305.R9)UM:U&D4,5/E>5"J[9\2"5QPR1!2X+E!9H$FO*&ID22>]Z2(JJ^;%$TJOLJHJJX561=W[H+L(=.5"[0HT\:QVMW:(CE"< M3Y4U$ S%2F6?)K."W(14$&@2:,HIF@[B,QU%=E>XDMWGO4LD"JN*$)) DT"3 M0)- DT!3WM"4R'_?D%%TY**6"6W&:J&E%"NRR(TX91+--876^*/0,ZO*^K? MII(FIU:4-5S7I0;0-YP :",LF7#.)5O5#=6Y]RW9JLIX5*!:U+3*Z93=V(N. M\E%W)WU6X4[0[%J59S_0Y%1ZK+(_-XF.+8I>J7+CI(K!"LD@)(.0#.H.9:(3 M6A5-+#-;*39KRUUZA? 0PD,(#ZY@DBPO9:E(]:$*V*J*##Y^LUBI+3LGNU;= M%$PLF/@TF3@1#R\5H4Z==14,S\G5Y:0#H?^%Z!"B@RN8)!$=&TJAI" Y5/ = M:K5BM79"+2HRD1UL.^*"[;+ OX;YVOH"?^(I#XG[8MKLW54F*\*%]=R+"9B7 MGHD 4E'+=7CF\\CQ6 6#2Y?BCL\K_?QF&OX@IJJ9!Z/UR]-'2 ]6&_CK'YE9 MJTZ! MWC;ZBI."=M'AJS?P=N/)D1>:&EGDO)SQ+IPUPOB?5&QE[A8A[D .\% M$"ZN?NT:^_V#K3$D*^!(QV7[=I= QM3%NV!.A)NY2 ,71= OID+UGMJCNJPW MM0I1J[V:H:EUHTITO:XIS>:_ZX76,U(])M!=H?2R?>_+!6FMPN1:COB\B@ 9 M,TV)FG$O ,8B(X]>QA\^&Z8WLLCXTK39\MA#GZ/1(TZH+N%EZ=D499# MTHAV%:,W1Y?+[-*"* JO 7U5Y-K:RW)967OMHV%KY5I3W6G4CZ]IE=V>_'BN M#7G]5;[FVBAK2C4W!XKB!K M3V'#H.9@EEA(6[.I8NR7L$_'Q2?+\3P!P B SXX?,:8WXRRS#.#ZYY 0F>,\ M!Z_5(E]I["/R9^))Z_S0%:XHY] -,Z*VH+6MUGQ>L&L/G<#V4^+3X]]Z9NF7 MUU2GPQYU)4UA*9A*"BF8FZGX-/,LM:56@2GG62H:%K8I-JK+O3AS&]3<2N3E M8-=C1Z+G3C:DU\?PE/%WPNN#U#'E]0V>_%'@=CQ-6BW)S^3RA8'7!ZH+5CY9?K"4J!+[14J\# M7ZO[5)05/"5XBD.>2L12V_32V$]]-L!45NM%6<2W1 VT34AYH+Z$.X+[%#;+ M:5& U3_X2/_/,6B*P*U K4"M0*U>:GUJFU;['6?MN2JTF1MR6O+HT*LG"QJDXF5I?HMAQ KJIP3L7+>W7B8AUYBO64E?::Y[)EUSA&E\@6: M!)JR*!6J;:@9Q%E_;%55"JT&Z+7E<*2@2KZI4@@/@2:!IDQD_(:*D=S)>)4_ M&7_>.SMQ:U?6-)0U^'3"GJ]GUL,FZ>F#I9)J6W76#0\E;-M:5]4*K?IR2151 MSY]O4A*=07*!IC1]J30:::N50DMM"G;/&QT)=A=H$FCBT?M)12I7>9/*Y[VM M@NADQZG17V'6M$1L0QJ1,?-RHP:J4>WA/Z0.2-N,9N+M )!AYV&^;H784X=W@2GB?]SY0U"%6TJ,6L9(_[0HKD9?$YQP$(?))B-MZ(UD3 MHB9S1(AG5C/W.W'U05PP5SU(P5R^&2V5:KF50U?+U91"JX;51$ZZ\!Y/<:T# MDCMW\B"]FD&G6C!H(X-O4WI+4T^\2*[@7\&_G/+OP6OC:AK6QFT65;4A6%RP MN&#QH[/XP4OB:A4LG5FLK*B>*3A<<+C@\$-7PJVD6@E7JQ9:%;EYP$JX@I4$ M*W&J+ ]> %>K@3VL*46U>D)=ZWDIY712N3$I5[_5 !"&$V!;M>/<1 M*'*T42>0*Y KD"N0FS5RD_DJ1RF"J^$)#:VH-/9IZ"'(+Q?D)V3+NA7E*=\@ M!=%RE#JX6N,@DH4'[^FD3FR+0KCB.)5 DT!39F5"*CDKDJ@U0;'5BEIC.15' MD"7?9"FDAT"30%,60CYG,KXBUDP6ZE,9-5PJTHR"XR1U78 MQ'$P<7ST9-"4IC>51M'%BEIH5;7E-&5!1WS3D6!W@2:!)@[=GU2$LL:;4#[O M?151"3!1)U<$7T2*!)H$F@2:!)H"EO:$KFP"\U ML.*T_&BE7FC5&_NT21"$R#,AYJ4,+C ,/W1X9F5P_Q;85-+DU*K@ANM:.FJ7 MTS-KZ=3(7:J+GG*-7'@!ULA5F\N>?FX+CNQ%1_FH.)0^JW G:':M1[0?:'(J M/5:9DIM$QS;EOJKR257?%9)!2 8A&:H[U.5.9E54%:QC5BDV:LN5 H7P$,)# M" ^N8)(H,E!=J@J^3SW1*I;W7W&*9M=ZHH))!9,*)BU5E^IZ)V#2A+I>PU0! MI:D('A8\+'@X/2M]J6YWZIQ;02M=+3;5JK#2]P_\7["]"OC7,%];7^!//.4A M<5],.WRW.L^U.@64N\??$%(1SL\#*A$=ZU\1>PP@D&S'QQ,;+OQL2R;,[,4E MEC0B;IA6-* >!9(E@6'ZK' 6YDN%);1L!E#"SG&8-K%U$Q[T?/B!'?PH3Y"Y M")MH0A6U7*_"I$>.QPH87+H4]X=>Z>U27]:96(6JU5S,TM6Y4 5]U36DV_XV=ZJ.'!FZ\ M@A%YH:6>2\G/$NG# B^)]4;&7N%BGAZ!&!?@O@BRM8#I]P\&F) O0%PY+ML: MO 0>IR[>!7,BW,Q%&K@HH'_9C*(ZL!B*!&2>*Y3MP E?+DAK%?HS)=,E9<7( M]-O3W;5T_<=#^_O=55?ZO7-_???PK5N4[AZNUO,S+Y/_\=#^<7WW?',M774> MKF\>NN&G;N?^[KJ-/W>?X9_O-P_/4N=6NFIW?Y=N[SO_ZG*_L$]W-DAB)X Q M#._7M=.=T3E59J RY305GDP;PIPM,O+H9?SALV%Z(XN,+TV;O9D]]#D:*Y*X MU>7L6 :;\'(D29K-5M=<^ M&E91RC6MOM.P'U^K:@>:;'.K83>D'&Q,=6DNW;K"MP@)GBM+NFN^2T.X:^!) M%$2S\:7G7K3BA(0YTW%?",TX@^MLR!5F).?@4V556YNQD7#%9P;N P:I9"WN>WFS%YESJO50JM:U"H:'Z?#CA2Z%5S!T]H2<<52,8R# M< 6>F:P6P>_A@RU2.C3)-87/U%"5?$=R*>!=-\'1M2/5A[_B9QU-FY'KO)K@ M+$B]\4K;YG(;XV;G4P59CI%J62*UK%8YIXMK.@):,*,CLK8AD2$>*_C/.79Y MV,M\F)>/LV!MVT9[!JB)I66]T-**=5$XZ*3I:4,5JC3IJ8'TI#;V+LC+GP;. MC=3M3'2J18E')0:BDM,O!?"%>!X%+3TKB"7ZCC7-Z9E5*TA1($\@?H\ ?\*7 M=/H_/-I&8,^RTTT(Z<1,+YV%I;)"= ML\9$IW\;9A+:+U< X967<56&:G@[!;!"=20D&,YYY:MES;F;F->U3 MUZ6&9+)M%BQ5^$%*P6E:#@?9SXT!&VY?/2-8L= .>;^"'TT_\696+2S>+'.R MER5LTLSV1#=3UC+QU JM^@IW/L_;H+D1L5<#8K]0$+!2GYBN](KE@3$#';$/ MZ\&&&GA>PS1HF-K.#%D\M^&X$M'#QI+X,SS2"SP8?CE_Z,3MDX,(Z*\1+*^< M80_,%!SW:H*1JUF$M%T7,<@VM4-DWME@YX WV.FO>>3>)#W3,OVQDEC.U\$B M*E:K^Q1Z%@9T?@WH3,BR;[Y3H_0?ZCJK*+(Q*6TJ#/7,2(R=+BVQSL.2/M-Z M^,QL]11C&ZQ4W]?%5LZ)Y743/=AB1>%IGUM8YT>6VNG04ET&6JH6Y#?3X M,]>Y%JZA^O301H^S(FQ#LB)M*1(13TB/QOLXF)I*S5<\3RE4Z-[.U)VMNYB+ M<$W#?\$2C>#\- %S8FFHA*DN/ E#H5@/'_8Z F5AZ_!B92\?FS\-FQL1_,,& MM6J!'S,5P2*BM;L?L\PAZ/WCP-AP["KP8)G49;EAB1F%E1)KJ#41C#I1VDHL M?3^@K67RJ0#YJ)Q$,L_-T'UTZ8B88F/W8%(V C#;@$LL6*N%5J583Z-&HS!K MN22GQ()UGIR6*:8&-FMC^7"6L%B/*$NC7.PP/.1@IZ6H!Z@?Q8V$&9N^@(WS M':+##&W;8#VNF-&QDE.P$UIU.0M1F*RG04>[2M8-=)10@;/3C9I\6HW.&[6,(VL2ZG>]&)64VM\81"G5NEC)G?ES&SC@R2++[//? V&26)M M8MYA.VQ@-/,1V!.&@Y'8K@+5ZQ5]@E5"*MY;ZMY[WVX\[!C=@E7('S9 MOLFNSF45@WF*LISF("SDTZ&L74(6>U-6#2E+KN^=PRA,X[T%\ >;=^=K+1]# M-,^XEO&FR]2TVY!)GI9QM";_-'#U 6[K.'VTCT#Z^&/FQM*_ G.$ M%4#.+**89N+I(QFS&BK/3ANK+;GT,8+PHT5L'YR'FQC(B66\PEIJ[-5_2(04 M>2:M386$#T=:*NNNL:).=9[S3W,CA$/=O+/@/8_035*Y>S@/%532ZT\ ME0@$GI*L74M.6TA7MF4.:S^I+7.NI6M[=:7+(FL6B-4RT3LB(68-8>VF)W7C M@H/4>Z!8.1#@'%TQ$K,-UBBN%QO:/GPC#%Z.57I2&;PU<7VLXFLG7(&2$ZF\ M85W(.F<^>9><'LR)G0G$VII>8/G8PP IAKY35S2,V(T3[V[D.@ !X]RR[])P[%Z,L1T;WLS(?HQ@^4S>L4C7P+$0+-,*Q=&] M,^7C5XG@9J%5W:?LFXBEY<1EGL(4HEC_J^ MQ="(3Z$]1XU(.F4DQ>D[%\LE;4]JHQ M)X)Q/%/:EM&X@U,:VXN6&YQ4B3TCX_O#-F)NB';)=\"\IJ^F$WC6>+*%,MEA M$4=>]I;EP$F;&BY-.J&NBXI\% #79+''G5MR.X!$3X/>MA#K;!.\J7'2WL[&4EM(6*QJ//*/".QK7U(FGBBHZD!O;.8S:]-DJ*8G8 2F&!O,5L79FY> M22I-,SAI;2+E,C\IEVD0IHHIEUHS!0M9I%SNJ^UO^GVJL]@$?==9:W+) M)3Y8T5&;*3$153_!7=CW0US9D$.+?U-/9BND=8B&,L5\#4 MK0"!.\O>((ZMG@VA(L[)D^V>UJK+#<9%1ODA">QJ MG48H2CWZ8MHVQJKP4 \C !'V7\M]E0-R7V)FPL/ U5JQ+OJ$G33-:5P170,, MC$JEJ-7VEN%BER'YJ=[5,IQB>X1UTGOGX-]6#CAW8/JOPZV?%Y&R?PUEC2>) M@L7&*[6B4E\^C9*CNLI)J2ECCTI(!2$5%J5"E2>QH+)JZW)15I:CYT(LK+. MXHE$4ZXQGL^V^H8&*S** ***NBF;2(J.:JA1:C:*RHIUM[L-4@B5.E24V=[';BR54EAG2$,?( MN#%M FEJ&1U&KU[SL&N"05:;07.V7?3-@#0EZ5F64:ZX$D2S-8N[Q/3EB'Q3GP9 P-C22RNO*YL)?.13EL")3$-;2OG&'/M!GY;*K^L$I':(564Q-& MD^"+W/#%AIW*G?ABZ]-R:H7'TW),U5[XV(H>_C7,U]87^!._>DC<%]-F$:@% M-:H#2*A[?)RKB//G 04E!Q8NO'N,N2&VXV,;=K"4"%:4]^F+"P;4B+@LY]T? M4(\"89# ,+%^%1"%@8W;V2<6ZV1EK:)C4?"@Y\,/[$A;>8*31=!$$ZJHY3KV MJQ\YH<*]9$6RS%?Z^/D!Y,(O#7/\(+W*OST)C]B[-% M0C<5JO?4'M5EO:E5B%KMU0Q-K1M5P%==4YK-?VM*(7YH, D(C\@++?5<2GZ6 M2!\6>$FL-S+V"A?SY BTN #W19"M!4R_?S# A'P!DL4)I<,EL"IU\2Z8$^%F M+M+ 13'XRV84U8'%4"(@\Z $#)-S26L5^E=+"T7-1%PL>56,;+\]W5U+UW\\ MM+_?776EWSOWUW[A:CU_\S+YA\[S35=Z[DC/O]](/Q[:/Z[OGF^N MI:O.P_7-0S?\U.W?;NX?VP]5=^U[J/L,/WV\>GKO<+_'3G0TRV@E@ M# /31=YU"MIL1-VH>"R(9_+K\BJV%#>50C)2_3/P?+,_S@K=H,DD18H,!2FR M;AZ"(0RG+X=%YPV8COM";/,_L>42J3;XTK:-1Q>4H.VSKYW^;:SKNA-5=ST) M-\#=78"$V0>KP?;;H&@#9@4]PGBZ2;UGF,)7R]%_3FV;:B'R3,$';:,U5".T M7FW49;W6(Q7 3[-::_1)52-]"M\:8)I1L)!&2(5N '+R@?A1H,,914:6Q]*) MO& (R!JS2N_323'U'\Y*&D73BJVJ"%@+T@JN13.,_&5CJUG.KTJ12<_H:Z1. MJKU*0Y%[M5JC6:T26JM6JDW9*/!&9*OU^(=459VKV1WBI=./;6-& ^/P[PHZ MJ"WB]9MK&M+U&$8T=4_Z/2P4"TQ^9^MEZ1-89HS45?GS56C-L6_*YU^Q@#\> M2?4D)IE&KNG1DD5?*<;%7DR,C_DN@&"RRX,$E>K5K;*L#?(5!7FDZ'V)W5I0%ZIU*/4CE@I)%X< MV#58A25&%)GR+9_J/<+4O? MVNW'B70/]_)!/)K#F>G-)&TPJ;EB0O@2-X WAB$3O,NE+X$560R1*.A2/7#9 M'@D;)SX9A')Z:'H>CA_/#1@JGE59:K.WP=*L<1$'&DN&@\$%S#NP @, #^(A M>L?B9/N.XX=Q")?&%;''TF3I;,F(-8OZ=(WT0=3NADWP["P\X8_SLW%:EA2" M!N#@LDHO!E)M>+,_(#[JR6*,-6=DVC."=%&; AY)D(,MR? MF&6I>)BP%X2W8-/%C\78#[/"8?&=\!Z8:_Q@?*L/CBL-C4'S70(5Z0^\2&;^ M#31R2 F:' I"%@5"E,4S!0Z$EQD@OS$LLS@Y!HLA&0,K@.,QHKH?;:+@3;%P MQDG%TCEZFQ*+W6<67%JFY1GD>.#;6 :^ 6P31M6 T#\#.PQ83LAZ$>PQ':P< M#63Q;;O@F%*C3)X(\"^T=1#OR(,S(?JHT/2?@ <,'C*84L^_ 5O!CVS)*<,V%QEVQHV: M^GXP^U<3(0_^%V(Z=-O0J0I\TS+_PUP*I(\W&Q6)Y]@V.(A@-;]1B_T[_9$5 M0 =*86@'[#HNZAQ[HA#F+V$0R@('#;S",5P:H6R,/#GJHMZ?F1N@OT<'Q.JO M(M.Y6<\YBT!-!B@J1I"N-S!'H8 VO?FI3 R5=A^DKPDD-S&B0C]W607.O\:< M,4@ C.A'C6>-.. ]V\ 63-+;P-0'8"D8+KJE ^<-?+6)ESIUPV-]1C$I :L( MO0TH+!NXS('2.-G!,YLR$3F M:'(NC018#2O<%:\GGY;!BGC-KO;!DD\X];$B?O3F6 V8:TA^TBD$0SGA><$P M;!H:V0QAC31F=PQ#LR.TB:>F\VXSCJ72_&XU.IM^:'B'GH@>RBH3IN&&VBK< MMYZ?MA< 1X4W4<9[>NQ;X#T@4JVR-!.\GWDZ-JQB23;!Q33!K(@E0ON!!9+A M-7H?""7G%1RS,-TAD@'@2YLHNF=DR8OC&&^F914EUM6OU",A<*9-P(KK<]?^ M'WMOVJ0XDJR-_A49=_J>;C.2UKYD'\,LNY8^=:R[JJPJ>\;._3(62$&B:9 8 M2>0RO_ZZ1T@@(;$(!$@0[])3"4@*>;A[^/KXG+SA4= OKXU9 LQ?7Z_^QQ\# M$9CR):^;U!K^#8X6C1*">P@_S++NZZG]HYP4$)1<\"P*@Q ?RK9_>RA-4]93 M#+)"9(^8Q%-=5=[1'<5QW0\I9,Z[!MUTRBN%Y:#2'ER=4^[O4LQ M%$'-K!01.B @>L#5?CSAD2!4(,NTF[1B%PR6I0;8KR'\3R$K\O'A^Z^9%;0, MUZ#]B<)1>8\_YUXA]O;P_<]X=0=8)%M'>EMF8CQ\?U>T=U".^4ZMK*E4&66 MD;G/^1W1G L70 4@+:LFBI(]9,-_=@T67V>3+-*:R-7P*F*<"#HIB]E>\ MD98M Y>R;^X4K5\LAFL'!2MW^:[(##\^AG,X*C35_&F9OV\E]VQ]4V8+O1 > M50%SBNOM[6?ESVO)]9LOE#,W%\J)FK?NU[Q5UI+LK U9,_0[+J::8K$U,G"H4'.6/#I-0V;$IU MI74F9+5(@;W-LAQ@2:6'A7.GM_*L>!=ZS/MB6_9IABY,Z@F"K;0\(_H;=']V M=(TQ&(V<"']B-F[X A.0H]7X#$F)H6/ MF*&9UBW$J]R[R[EDRKEDQNUG3\( W2R,$EBXQX9_<2E) SL\(^"O6*Z?AKO0 M0YV&\/9]:4*G'IQK=S.L:,18%HYIE.)EI0C6-N#;/-.L3@)NS"0NYB6!X7A\ MEX:\)7#J<:H.7RNLG=7-KN5WLEA'3N53%F/$,H3_)0%+F:=U!!AY8V4:THR= M'M2[BV@2A>@ZL]^3.9PCQ)T,I >\;1H>6]Y:\GR/I318L)VE?6 1+LOGLQ14 MG2*X[CGIR_A2ZD[N&5XJ^RU;/9D6O/[F;&W94#S8P-QI,.:Y/(ODLL08Y66: M;BY!> M^/_@89FN,::R(Q-5UF5C/2*>:YX_I"=@]^/6EJ>,%&(;ID/&(UW7P>'3/4=S M354>J_:8JIO]JPM5?&S88UC(]SD,Q[X$TL,\\J?(>K"Q+SA88)%<"5RPT!N\L34XQUM?:81:C3S1+^._LS*$K.*%_PHT MXK(+^$Y=\3<.W:F8&_L#+CJW"8]9^P(S37B[1!K27_UJ5;GZ$?N#>:92E64P M-7*W\@L-"?Q'CP1H"#[H[WU>LQ%(- #&I#3BAR:6<[I8G"%]G80T\%_[TL/_ ME]I!3(.BTGX)I2GZ4(5K>>"-64^? L\G_Q6S5@QILA@Q!?P_;YCW&Q&/W>S= MA 8!\0?Y];)\ ^]X" M#HO"3T'K++RTM'@<$3077=9WE!7S\#<$2K'C"W/$$=I[ ^G+,UT57,8%\B+] M7L+HK\Q7BRDF3*?2*,)^-N#+" WC #409DC\P -!!],OZ\N.^65H <,'K)A4 M^A]*ILG$946Z'['JPN7@RN^^_O;S'V ZC@FNFY4_\=NMMZ+DCU9LNL@)!SM> MTYJFRHK0IB%8RJPD M&FO$TYZ:=!Y,]B,7%@AN F:*^=*3$-MZYHO(G:"?NXYO(OVM%EJH46CV-_9K M]E\]D,4$>()9V0\^R5S)N([0]X,R-H8$&G.:%8RG=37Q$KBP^,+P::,OG$UI M?0Q3]911@,:_(8?6?DD#@9$'Y4DNRY=DJ'W@N.%9SWNOL$R^ &?#',E-90%I M\3&KJ%KV^!24?#T"Z8=P1 WXASUH9O:&\J \#R$C&9>#&7GU9XM96H;"RB!" MC$>C39LG5IEG:@M)8R1YB"+,##,.^X;_^C+^LDBP7"/^.V[V_\ 97YM:.$%B M4#XJB]3:@HB4%99(O!H%/HM )8+EQDM6F%Z&R?S,K0O(\+UDB9-3E\XQX)'VGS?9EJ2X63<_A[N*Y ,S"J MW'MO$;$6B!69<.:!NF[IIGT2Q4,!JWDB-!/(LDIFU"57S]$0+EZ45C>CDSN]@V@C8V[STL5#*G!FUMJ]H\EU7M;+&J&>/!MV<8QU=JBMT%;Y1N9Q>YH$@K>.4SX[DOXP_I[\]@H\2RE; M2YQ5,E7UF4>42E2\$NAX^?X(Q@YG',V]33Y[!M+WA.H+?^ MHCRPG>E!%M9BM5-2H9,^?01N]ZHF /E MO#;UCA=NVJ;6$7=5'91'"K36IC8O;E/K6F^H;7%#SFY3-T:24]C4.KBFQL5M MZN+9L9=9;9W;K-8-85;72(AM-;2'_SV*?MX,7G*+)8+6!4H$J[9A6R9D5V9C MO:)-Z#I,.*[%,H'18I M9WH@4XLY';'L[>/KD].L!^VH-4)5_9\D# MQS(W?BT/E(W?;;LMF&^Z<]AMMW]G:)L?>M1B[;UNNP.3O086_!9 ?JZ16P7) MOPK_[0&W7P<1GXM&RNP[IVZUG$J5D:U&^,99IUAY2%G':/6CGX.[_*D.L3HV MXV+#0*>T;I ?1XU-JKMJ6/9Z+W\]@.U&?<3VLJF(ML4>QF+*E_R7=0?FZ%9O MZ/0MN1RY:7@@XR6&M.Y>3&/C6X447Z,4FUV18KLWU/N.??10D[-(\2U,?_P: M8;499JC 70QX;@13>2P3MM$@5^L1H5+/=%SDSGAP9GOT%7<(?O$AVY\J"<,\ MK7.%0X,$[UU$W=?A/0-3P*T:6'4+[MZG=;B@@[1VQ8M?H^2<46NO]J6VF60H MZ.PXLMF0F70!E^8H-7XCS'A&-7X,,ZJ]H=:W]')1[>68\18L\]]2P#=AA!^L MSC,2UF9YG+S95Y2C65Z8T6WFGAWZ]V#NT9%[#./HTUL8PK7V_@NKP %ZNUL3 M(,("N8@YS';G\W)SLOAA67J,WM!0RE6HPO*](KX[H^6[-]^9V.#05&!:&+G[ MI>H?6?7\6N%4W0.RF\FN:H+4GB3>L617]5LW<6@5FEB:T!S%GWS*X(X.-@NQ MV=+IZUK9+KQ0IYK,\2 .L4G;D3[?X>L(O2'TQFZCH_5Z [N/[;ZAEFUBH3"QT-PS8R+%PBCA@MBN/Y#7W M96UQ4L")[ZN:<80XB=!TJWGRC+'I33Q99CNU-[2MEC#==3D!V^+2%M6WO&'R.EB'+;UXURX+=E4GI=7ETU M@WW-$-[FD>]2G+H0KJ,TUJJRG$J3;Z:D715H<25 VRX(6]>:& A (Z;&Q\8EUE&.0+F=38;?[,W!4.I". ;DM,4Q/ M#?9_>.H(EIZVXZ:+KPM4:EJ]H3G0-R/A(JYE#IL?"79JG-9+DL-&E-MR0*1 MC@(*%YMZEHX/G+YQP-)YT4O :PB#L%Y-S&*SOX$U04XP1Q3N"QM8P#'UHPU0 MA&2)1I@A$.>>S<&,$5"5OKI >;X4[LGPM3REJKF/-XHGX4N0R02''22C\)D. MI$R#X[Q*-LDHX?"('#,U#VS/@5,91&V*3PM?@]Y[XB-7?1PPA>WD2_CHY?@X MG)GX%M#HR4\K+CCJ-OP Y^H@XW'BK#^.S03*S('!QGV/PL,P MX,.S2HC*XRB<;:#7VH#% ]%C/_HX<^%WT(.Y1N,UK1U_)5'R95RA],OXL9;< M6?S8*@G!V;-TO,!\TG.JR])1NYS'^=!>QM5^[MC#209%9(?MVEU:S-,!G7CJ MX/B^"6*:9U?][R*@7&%I,A_VQR01ON28M_&MX-+JQL!6G>:A7I6!J1QVVPO@ MTHK%GG"QJGX6Q%^G]--NX+,VB_C;52J<#M&WJTC0'_'$9(,W!!+T9BK]R6V) MW_VQ()-@IA,QT[$9W"I71O_P\%CQ'8XTE$M!/W; M[&'Z-+CE0FT+M9WC=Z<;:ANG6_9UHSS?4JAMH;8Y&Y]$;>M@+NRAM:^KMG93 MRWV:,LRFA=]8TV0=M6K*%U*K9=CMK+6VAM, (&_NOU+O[#XW"*BUB8:6DK2KJ+T*3=$>3++?LQ@*8 MCQ'Q*!.B&\/[J:5UU-;8*#APS&D3$G?3>#W'R5<+-[:,(%LJT-FJ\(ANQ*'3,13&A=?HS76B@;6BEYNWQ,BVEH1 MW6ZME/HC&[)6]/T\FX:"-USD]8'1&L-E&\!;UF[#FH-WC%'=,QLJ8!5.1)JV M'"+'PRJ8W1C\:1N;IM!V"%6A00[LH!=_BGL(/2CT8$-ZT.J&'C0W#4 6>K"+ M>O!*4&[R4 <+1$]8[_#G;>6\29Q-%0!*5"*2<%@0D,T4@F#ZQM$>(HY04$#E MB*LQ3;"3/*((S,%,:78YWA YB/>D@P 'KH^@'@E\P,*$*V "_$V\ULY> B?H MRJ;P=GHD]B(@"\_'UY]'(=Y3_-+7.4*NH5 M]L>$/.-S:""!!')HF1Q,"XM56;_$TL2/DS!"C9'=+H7169(K>PJ>'(21IX!' M,Z) ZB6P$_%P]U/>0C;-HRQDW!45G#T.Q\"ZD3A"5 KR0F$E#R!9\S#!N+SD#_NGK==/=,5BL(/17"-]&20 M5Y>0$4CQ(BE?PB5L^-^CZ.?AVM)R_YTLQW'-R1.]&T64_'5'Q@F-[LGTA;S% MO9^+H@URO;;ZN@]>(PP[QWU'64]F M.C#%&,K B-C)TX>!89O,0&>I =PZ[[07P/'"Q]EGP/+J*V_ XB2@%^R-()K'T(8!3C*EF!!R2 M$&N(_:7*JGJ^3OS69@:J*?C=?ZU-O^;08[K7Q[-'L_V1O?4=K,7X1I]I4(:[ M.!AMH=41N6.[,NN]?%MB;@TDL/=LIL^9M7%FUZ8,5CM^9O>&MMHWCN^,K[5I M9TIC-]@F+03R%@5RSS;I)@42)]@:5M\PNB&1>UHZ79"'SS21IF&\J;C@>@2\ M0])::W14^?Q$(&_X5QVY!2[XQ"*-OP,KU)5>!\O4X3@UROFH36.A3GQ\"]QTX<:4XC*9Y4@"L<7=+; MNO>N;75>BW1_I=%WW.+MIY9:1\@S&?] (DP9QMDC4MY:"K2\$FBU-Y0'RO[' M4Q>JDH607+^0..<4$@V%1#UFM&?3([VWE\14IYM9:E6A[D@=45=V'4TGJC$R M/4VU/(.XKJ4ICO-/7>ZULXBC%$=6>5-;0B5-2CMJ]ISUL:S:)W[$8(??^[$+ M!^\BHG$Y"^SHG/N FM1[0%M)!IK)A&J$6*INCUQ"/<74'96,3-O2C-%ZUOCC MO$3/JV(P_=F=3><0D\X:0Q+G7POS4Q+<_+&,KP>[%CD MCS 1OHA8M0B6Y/@XABEB$PE/Z$S6.U\'H6O;.9(G$Z&6DT>V2LIW=HMDF:4,/G936J2Y-X: M<_Q8EX 9?Z3;B,1^+*'6?F(ZW1^#(@RPYF:^2-)*G:P0(1S!NI_3\2N,_$"I MOV@RD'("EY8E;%Q5QCUO.$NJ,-H(DWST[AV)IJ$T"STZE5XFOCO!W^$XHADO M.EA>,EIX3QE+>J!/L(J/IG/KQECY1 (R?8.W*TX^&M$I3MKB8["RB33IX!FL M>YCGB_9(' ;XOGUI$K[ 55&?,R"N*4^M?\%:L+0*Z/(<3I^I-Y#>I0-F4DJ- M"Q3:N6>K]\T72+FY>_HSW+)T7DXZD0\GKN&2<"X;O!H./2J^8>X&(!FC;"?R M+\X$.AW>EI6F3?V_@&J3,*N8Q%EE63'<,RPS7 IX7@/%_ ^$Y!-&=9#$ M[)&\W,LE"_B,2+BD"/6*#[O"'L0++8%Z0 C.'D%E65RYN*2#I9#O%U%&OX05 M",QX@IMB@EMZ3UTZ&X%*U!0VC$AEI*GX8<78HOS -RPOFM*D7/X:[YIH!C8A ML&0J?VNWG/E).A!O1O["O>23(M/M!P9F@A O1O]*.8@D6)W(/LWS*.PC"X8$ M+A851BC+7%(YY; D$P2./-&E=$L1#G;B];PAG"!X-@!I*^1KZ[MM$CX^\F^C M=1PL<$_6#6.K #FX3YG^N^7CW^6?GI7EO_W!%3O2ZQ,JX:6!?*>N3"0#LQ05 M$QE_8.];]QV4B[P#3J:5!V5LV1_6AT=V4,#S)PX$+Q/#[0+,^UAJ0[Z'W!MA)N*_R*IL*?P74UE _, MP&65?C=3QE9-B7<[?3VF^$H&Y"F03ZZS5.?8;M9NENHY6;4-546U $^LULCV%H#]7#=? MW5#-G51K9N=)\3"/T+GM2U3543_6#E3=0_7/!O7S*8X7E1;5KE/S]MG?_Z1OLYI$-.?0&]43[D5&'6GK.FR2I"Z&S+9#6N,WX@? M8 78IY0Q/@59/KRF%:/+2F^()8[[EX2=/CU^1F#[98]S2WVOK#G1 48WA_>!/%)'C2H4.E1HXAI[36Q\.CNA(5' M:_E, 593"ZQFCW*[P[*?7(FL$I^?PR J'%^EY*8N:UT%K,DA<;&3(,X MW@Q M7ZI7O!S;+D6SKGPQI3/+J>&=6F?Y*(Y]EH+,4._^. W=F5RGI@YL93] &3;3A^M4:VM M6@)Q[;I*U98(?844R%E I,3=Q=UOYN[7-5A\@].P%NB_/VF=E;B'N,?14K:E MPJ+M!9'O6#_?OQ?^,YEBUN4P:3O!)$-QCQNY1Z/S%K66B]L?84#?LF3F&%ZJ M]G3%-I?K'(NO4_6*;2F[::!L>4?;!*KBA\##__FP4L@5,"JU:VGTWE!QK+ZJ ME%%V#JMH:=$4+"$O5RLO.T9,GTY>#"$O0EY:\6ZUY&7'--W3R8LIY$7(2RO> MK9:\[)BZ>J"\C/U7ZMW]AT9AE:A86$3,X/2$J A1Z8RH[!B68];0J]I)EG;!=TI[M'.>S0*(W/%R5HQ#*7K$8\=TRA/%TQW>D-5-OJ6 M;34TD_*<$4(Q/.A&Y<66+R0OBBSD1=F! M^7F*#)2B-I:!$J(B1.5LHK(#W^TDHJ*U453VF.;8+@2?36,8@[L_6!2"8=I\ M1P0=#K:#L'PXB.D;)1[.#WN?PG*QWZU:YSL(=I:?J3,)IQX" SW3.$D'K[$H M:/(FQ2M:,!"R;.++G$3P+1MHYX4I*M&$/+,Q;XQ27IY2.=PC1!7SBP^+TZ$^ M',_(#>.$@1ZQSY=(1TF81SI:@IZYP)X$EIL;)C,'OEM-2@LC-A7-C]BSZ#-' M/F,X8F]2Z,+;<9RS)039:@ <8B;EUHGSK/YV. RDL:XF/C *KY@MY;64U?*< MM@+58FO;SR(U5[I#KZ??]+:L&\N$!W(%0&6E @0AF>*K;4*.94R59:W3K]+4 M-+C'1*'>)9QLC0;5,9>1HQ%$/Q M/-^QI1T!J>E"*,>SJFL"3O':C. M^!V9^PEL\G^HE[X#V"*,9IQ8*_.C@FS6O@A\:MO.LOF^^R6]T/718<> 8/AW,=BG%V"1@\=;\%'8O!XG0/.8O)T@.>GB?"$-L(QB!W"8]& MS0.R,+35?4%9]GG](]&/Y&V U]TC<[[(,".UVBAW.M?(G3>#EE1M#ZS;;B>: M-]?VH)UZ"\/VJM^ZP6D-*3-]X+R4^AVUDT)V;ZCW[8HQ,VT<6'=R!"P::+ M=P5+[5#)#;.4@J.H-/MHXZCY-M2K=I-^6Y"(P*[CM"$VUR:6YE/B4N\@7=O) MD9=-Z]HT*_;VGA.TMB2H3+G*3;D)+2J'$3RTKW(]EH;FT,,ILKX.#IS0U*UQ8I6WDDQV*LXI/:NI.K#CI M*T:;V.A4EFA^FOSEALE7YR\>PX1,]T_I'QB\N>Y)SD<%'Z]TDO-I

W:D,WN5;D >3>)BB351]K8=@UUK.N6[EH4_G05^(@8=.QH-JU;L+QQ MIROVUUE?#*S==F1=MF3-@T4[MJ912W<4XA#-L FIL;\2*\_W8ZS-3QL^EI.\ M[_<0\DWL<--SYJO%PF!F524W[L==Y>MV,D*'JK,->Z#+:G>F4Y^D.EL=Z([9 ME<5B*;E6IY1\33ELA;3=IQHX"E_6 X/=JE)=#B%FJN3/F(X74_;/W_UQ(].( MKZX&?XV%-/-(%A(E_**$_]1D/GT)_Q[;TQV:+:<=OU$2K=7NBQ8'T>*0OCZV M'H-7$,5%K^:THZ'K$B;G"928Z;(X']5^JJWO[:AR:P4-E4)4#I;EWGN+"(5W MZ<)J6#*Y[DW>;5])J>N^F94HO:&Q/:AQ@>!YQ\+CHLS_L "XO6-\UD8._RT* MX[AN\%M3>T-%[5N.W8F*?]%R(V3QG+*X8S17P[*H@2PJ?=,ZNFE =-\TQ"P? M%Q&PQP*1,,!^',,^PK\WURB>\.T[9R3:IS'-L'ZQII'HG&8E6 0G-V@EB@+' M?=6RLP/DN6&UC&-%^Y9LMJC:4?!4XSRU PBY89ZRD*=,1?1RG9>.>II3U*X=]''VE\U:*W%Z0_M\01_1Z+7:T)TU M?TVJ7EU&U:L:304\6E2%*WAJQ5/&<3Q59ANE-S3UHVU T2U8:\N_A^/DA43[ ME#G6K' M9+N&>8JUK,K&T&$._,9\;?G*:@]3L M#?5Z1[HB[]^=4&LI%IC5PNN^@/Y5Y!VCK.J[2#;89T93R4OA5[>3:W;V>M?E M&H2Y(Z/2-44. 4.-OJ8KG1"Y6W"'?Z=Q?"\]N.YBMN 3 CTZCV '>;\N M\Y%G(:SW/^R#)ISD@RR)VS:(?VST',WM]OO<9L._IQ3_ 7+^D-OSC3J@MOAC M:;?<-^URIK/4+R65&10,]>$$:R/TSG89,FN'%XP.+R&^L1$V13U.C9IBUJ\@5^31%:H95 M42YWNB*UHXN(6B=MM>V.J[4NSEIT9V#ROF]K3<6*.V2U"QEIT[O5DY&S%A$: M#MK@ZJKKMP4R]61VT-]JP,BMR8VT/65XR=-UMVPEKM=0O!N M4? .==@.$3S$4^OK%?4O+16\Z_+EJ@&)MXZ1::WUFWNIIZ8CM/<8A5LYHV_G@FI,#O[L3ZBVF],OXHP^J MA/[N/U-OG3:/R(\59+'67[-E;%.M%:KW8L?HPG6!*K\D'\C7G0%YSD#1]INW M5N>V)QN0I]GZ*1;K*(F([7GIKIUE.Y M_CR]PRGJW 1%&Q^_U\7*>? (0G!8)#[1&RSQB3\_JE+^VJ?OY:-!&WP]I00* MM]G'JU.Y;MH5 .@[BNB5DN?9T%H<'$O6GC+Z;L9?16/?@5EJ90GK%;G3-HKC=96-5//+8T0\ MBKLN@(/WLA%+(YJ;L(GG06;>=.0O5$ M60[+J?!@3YKN%'8]V\R&ST%;!H_0%O[@=?/-CJ'LA_"-TC:^$8WWHO_W5OI_ MSYS(L;'U7N];>AECHZ4MP$+VA.R=2/9V](TU+GL:&-IZWZZ 5FJI[-V"TRF@ MU%HHQ;7PK X_0G.[G@>TJBW8#/E?DR<%9MFB] Y 5;$S(VGVS M8C9CAZ 5&F2D;CC,0HT(-7(RX^D0-6*!&I'[FM5IA)86J)$B0@NO'5W+$1X$ MP!%N ^#XN$@6$YS2(Z09D#KL$0+()F4-N$S+'KR1&](V H6^X)(K> M8+>D9S)=T R3XUTX@X6]L4($ZY=8HJ\^K!A^Y:\;H_ _>!$V77,NT^2^A%W7 M?78CFF$!%.(:<#]&5Y0NC@'"*,^;726?W93#@L1[@8)LIN]Y@4(<9V ;VB$X M(;8Y4$SU)&@6FET'S6(7ED#+CTS6-_U_C(UH@ N6\JWJTI;^W]JOW:[V9O;B MH+H60=$U/'<0-2>@Z2WN\/?W#C/OSJSN&%%0&4D_TE=WNF ,$?NOT@RNFC 6 M A:V",F=5Q&IU4!*_E\GEO%V?L9[OOX0J?/] ^V:;5-,BPPZLOV MT4-BZFYL&Z);ZP=CF_(?F7#J&]7PU56>7E:2\%A\? GK"I C8_!7UIN"[6Y1 M:K S,F(<)".=3(^T0$8F$:6UI43!J1*FWM0Q(TZ2^E)BBI/D?%+R,5Q$M86$ MCUXQQ5%R.2&QQ%%R1B&!W]86$HT)B29.D@MQS..$1I2,$QJ)\^0\HO* Q#Y8 M7G"RAMHW*G(N5W*J.*T1F.JPXV.8D.E%IDBT/8,KBP$;U31I;2&(8[2M$$2^ MAAD;E1G<\IR-AB9L&&IO1\)PZZB$#0^_X/@-Z\#Q&P^NBQFA^"MYPXV /Z,% M]7[WR[OZQ-%T<];)(Q92A+-Y&"!D -9#D%K\ M+;V QU&WZ.$2DU .+W"PY(&C&6 M+*O\.#(\AQ ^OKH]= M,J]IG#&-]]0\B0Q9QI/(UH]&*!%P!BWFJ1T->4WS%,X.Z6OZTQW>5IG\?:W M0V5'1=DQS:80HUK47R[8;5]]?$9V8X5OJGV%U:&M5M7KN5AA#Q^JFLOY]4-% M06>:5RT7H0A+^'JX:8?FW<)-988Q>D-;/7I)M_^,DD(RM<"60JFQ5E[C=[0\MN:EBK,%/;R#\[E.5Q_&,!_QA- M)4"$W;G?[K/2L&*9GS \#].>C)3?@2K16P/&)TL(RK8P/J^9HW;HTV8YRF&! M_>.AQ]MGG[)G6ZW1M%L:=&K6I%X$=K!E6?-C^WF:)$U;-,_)^WGV:E*HJX$4 M&?SCOF-:7>[J:9"=!+QK2P1'*),SQ]":4"8**A-#;0W(:T>5R:$M@E7]0*U" M6*UNQ=K=6O6P 4N566I9/7KZ55J4GH=KE2;$R_+K4A)*?A)+K/.-XL=1\B;Y M'/25,)Q(?-;?ZLW_4PO29E0Z#;4%RUP)EEI/^!55._&"M-Y0'I3=E@U^#+#2 MU&? NB217D@LN5,2Q_[81_S;6/JRL?_+Q_['K"W+,Q696-YX M;,JZZ:HC;>0:AFS)AF=0PH2F>N.N_8)Z91TT((E^ ,J59*_QD,V*EG[$'^,-5?D7 MIIO7?\&^4W[Y21J],94.>AC(D7M$']4$'+I1^$(C_O"G!8D(/#"*4QV.2H3" M L91.),2( :J>OQ?_OLI@MKN\V-

/ S8 M0H@W\P,_3B+6.RT15LV5079GS\F_],-3[B4'$K;%5M)!FD?AL^_1F-V-2#$% MI0B$G2VF8"TP_>B^P=&5,2 -M;D01G]24I/EWY*@+KO9%SPG4-GV3L!-"<@6[I?+>24&(]2?^0GG MHDP"9P1M&/@)ZX.EJ#^\,.?00X#4*FI5&^3 M77@%$-88!PB4-:8QV*=U_4+G4O41\)!4CCP(YPFC\2C;QQ@X!FC#?EQ-&1Y@ MQ>,!E&X,?\/_D^9P"0E@NZ4(5=0H&[Y ?68-_NC_Q.Z(G_-?S*<+V#N)DPL^ M"IYPC]B.;61AN#UX!F4N-O-<_.GSQRH3Z5, &GZ!+_ KB?WX^QRDR_L2_)U$ M/CH2WV!-RI(][]05?V*:J((]?T!VK+U2ZY0KQ?3#H.RM_X # 8#^P'/$0R;$ MOA :S:3OZ7GT!=S7 %E%^N@'8'SC1N!3I!_3 ^_[EX_?EH1MSH/JLZ@@O^?L"3>E(). DM<8C771>L(!^=, MXU *P71Z2J_!>%"6Y -'F.T^I7&_8-S#X_F'*QN!?9O3[AD'CU66 2#C$DW"*^H(R MMXP=#YO7,I"^+X YLL#RUE'2EYYPD^ 1%#F',?[3RN_ 2CN"KX.>Q@3.&62B&?D+3ZUG M8&GN=S"7Q 5QX"!KV4^RFZ!E$_DNCU>_L4OZ$F)7A?S$R^;?LD ,#\-DEX(> M"V*NBN/4008:3GULS>:QCMQ%HT6$$5:0-8EDVQ"OZ^^<<\7(2E9>%7UUZ9S_ MN:_L5>GIO&*8$3]('3BP(WP6Z4W]_)VG0#]_H, MP \)(V]U"UP6?A]GK+!A MC9O2#\4H&,:UJ]8YG>88,>5IOI[-CSQNN-LEQ/A3('UQDW"$X3E55JRM$4(6 MAUAR6'I2YL(4?DVG]P,GF%8+\(@MGM\"S-V*'>)B%)53% ^G7JKC"VINR0WBEAHCTG%JG*S\0 M'8/^RHI,56\F=5\C#/E^8[_!=!29NHLT'XCQM7C":8@__0>2[GL"O)I(_QLN M(CC3BUH+SDYO=GYWE$%MEN2BK8_^5>G?_H5%84?"@&L=4>#6V"K,W#,)D=S)6 MFA!F-X$R7"2H')B5A$;,+GM]O[1JZ\!F:^1Z[66N]P((M>TZX+>DG)T#4\[? MP"X+%O1C%,ZJ&E+*.6B,>ZXE>T>*0\:Z311+UC782,^%?[HCV:4*=8BRGH-. M'[D#([E:F^U\5'%I=*2YU/0<35$\W9-56]94W;)MS7&(ZXR,S6B]K=KA]WZ< MI0R1%*"NHR4-NV:.X@'-"JAB:42GX0N8,#1&6]-;O22#&.0OR"-_;LJ:J:/D M9EV,&([(_@U<2G@"Q ^\!;IE:3@HN_@. SIQT42 )?CPI)B'?KPBG4=HKGAT M[N.#)[!4U,(!2R;UTWQM'U/3:48*5'7JVW&C%DR2U6NPA9!X(HT1+IG92>#N M4>8YCMZR);^A>QG]!0;-JM*=POK#&4@R6&\LXE!X@0EFO26,DDTQ;H/6'\=7 MID^S?/)[CQFR[)G,&I)*HEBCAJ5 PR_C5-JKX;,-M9L#R7$'./(U"UUPBD]P M8Y'67DE"X,?2>Z&WSV):3] %I:1[&7B0, MG:7QA=1R_S-@M6#?$_S)D7[RV3'"+=DZ!",+ Q4WZ)-KX;9/QJ2?,=3OS]"", ZZL'3[8%HWYK7T,G M*:LV(9BW2CS!EN=ARSW58A=Z]I:P/[^GCL!FX KE&I5YDW,;.HA;4G#F#AS) MU['>U6/AX^N]?%NZ4X\'V5"T'&ASP("3T)B5T1P?Y&214DT%"M;YI'(U\*R142.CU2:AQ M>0G%*0*JT;>=HZ>Y"!$5(GI](FI>7D1Q6(&J]-4*C*@I7:R4JGR-V56$F7VW:^ M-3F[8KUMH'755GQXQ;?U%BV!)"^0Y'?2I(XVN7R6$KKJC!8J.-0.ZW;.F<"#$8@7" MAD#8:!5I!,*&@#)H*V4%PH9@RQ92]FH1-OZ>KD4 :]P2L,8WFA"_M.>BU5"T M&N9K?EJ0IS= ^YI]62N'N]O8:2B:@86$GE5"6Y#MQI8,HZ\;0D*%A H)+4EH M"](Z.-U8Z>NJP+P1$BHDM"2AEV_6AB4,,>]J.)V0T%O TWBD[B2 9SV]]:4_ MJ.<3-F3BD4ZI&\X$S,86<;I\0SHL8:CJ?5E@'UPWJQF7;T@W<-2ZUM><-C6D M"U9KGM4N7_H)2Q@:!W+>MIN*\HM&_G:QV>9!N ^O03?#?9,%J5\UJ ME\\O&P;SWPREJ=BX8+5VLMKE$Z6P!(1)E,VF@KPBE+L?HWST Q*X AMYFWA< M/DL)2QB:?4L_6A&+Z$:K.>WRV398PM#HR_K1>EAP6JLY[?*)*%@"@G"KYM&C M3 2KM9G5S,LGHF )0Z=O6&U*>=Y"(;T 1MXE&Y?/G,$24#8< 5%ZW9QV^<29 MB=!?? +5FLUJUT^'6,R6*"^T2I6$[C, M H),0)#M09-NX3*;AL!E;E.41^@6H5N:T2V73\":IL!E%KI%Z);KTRTM"#%: M I=9*!>A7*Y0N5R^-,:T!2[S*7&9+P.V_,^-_V*7=F)PC_R M X\&R?T=_NC\84[V?KG&CO,__I<"J[ M@U>_FQ'8&;\,R[[K9;L9N13@A8>6A[6@9,/I#4VGK^A-%;VV([\@X$6%A#8B MH9WR%;^6 ?: U5?M-F$D"U9KGM4NCRI@FD/=%%"MU\U*IT8\&#.O\3\T"JM8S,:Z=EM5U%\$ MFUTUFYTBB$QQ]%@94H2O:\@ZNS<";ES@?:HA1QY6 M("$$9"21_%@B$MM/*0GQR]@'KN"0(\F$L!_ IQZ;!TRFTF(.7^"0XC"*I9!E M5>%G <,FF<,MR1-E4"6PZ(&4>]K4)R-_ZB=O?2F,0,S'-(JHEV5D^_S)<1+C MQ<1[1EK#_=YF-(#/2.!)<#6\SE,L^8%$7V$GV$^7\"<1=<.G "CAP6/95]AF MS^5&D_L2=NZR^[RG+IV-:)1^I;"OU#RVBN2!( 1A(DW(,Y6R]KTUPL4#Z=WZ MN_FPCA<:4>EO=;1>,=]JK&N]]RFI4NWW;@%_!,E^BLU<*3:C-Y0'Y;$9T@S) M"BM$TM1:MGZ696.]Q*!<;+A:=OVM[@.OQ'/JXESKZ=M@;60U/ C?TP\6A&O] MG!2GDJ2K PLQ;X]W-1OX)R75M]W0?OH\T.U8)5UZUM!.,(GXXTEYJ> MHRF*IWNR:LN:JENVK3D.<9V1P9D4KJ'> S(9L4?.M_HC/@!@D+-:<0D!M5A.(*E,6(_]!-[#%".#\\18$'X:%@*%[GSJLMWGG)[TX*NF5I6N?1!@DXV%+([?ZE^^ ' MSR&J%KP/+/ 9_AUG*H5Z5[JA6NLV])F PX)^?M&=6REZ(!GHU^D;[AF!'0^G M\.]%L-+FU<< ROS&*^#L]/'\"?E1 ]8__!!T.UACX"(]A:$GK;B"*PA\!/ ' MB=@)!4H WF1*-ST<_#[BNF'DD4QU2*E5<:?(=ZIQI^@_CG[JKS&Q&_G,?\/+ M-Y:5Q@0H(GKH (^.4N#6(6C_#!=9U.P>E;P'D&EP"/)>N^7R?LZ.ET M$Q+L2HT#,[-S&H@P"R.:7@"$H*]T-N<&W5[VFI29:N?AGVIGJ-6[M"%JF#D- MN"D(S155N&V%:&@YS58,IWQW)]1;@#!\&;_+W_++^)L?__7K&_[W(XO*/<)= M?@5%_]>4&K#2*!UP-KTN-='"9P7;KIM++Y(F4FKR#_L0%X6,,LW!@8L M%BM@EB]2FBQ@E@7,\A6AVEX)Y4Z#I'PEQ!%L=18\Y*MHTOM:L$ /O=S!5BBB*M50%9Q'=!J_T@@_($]46>;?[]25[\@&5@WD4P-E5CU&-V6FV5TA2EU4S#Z+D:_!:31I9NQC^-^R!NW;Y.#GTD3[RJPY;9K M+:59K:4RK=42H-7+ZZ:FF58(N1#R X1<;5;(L9E5'K0$#?+R0MZYKK'J4H3W MBXC5($RPT VS=EA4$_NOTHPGJ2@FJ:J*;];++B-OU2,5\TH%/\'2@RFKX\/2 M.6PZ"L?U>G<4>T?3TM/8[>&ZJ#,KKSX1U)BKVC)^D<;V7TAE7ATNRM MUIJ/I!RGQ+!6K'WT0X_M:*DM;9TA.#\U5C87LHMJ$ HRR"] \0&.H_L[MG M[;O[MY.TH5C+'CB6>4BQEJ4,#.LD53JF9IVDI&B_VI]:BU4&EJ&*DJ(M>6;6 M*"WJ8W:1:5E)A&5%HJKA4#+FJ\HS4MY>F<.#ZV(E?F1WQ9?P'^5<8+W[*K=S*Z");P9'NQFRF]\Z1 MF]D[93^]40Y1%D%CML+(M-8MKXXY[,90.01OB93-H.IX5GU )455M\=^,A/L MV_+1GVER&$*1*6.:;E#FF2-"5^J.X&RCR]<0%ZI< [0A1E5F[(KN-\8U"G5' MZHBZLNMH.E&-D>EIJN49L.^6ICC./TV]MST*8R[[I3? "EVFM_-SF%!)D:5T M4(-4KX_S=PPFTB]SUO$4WTT M\O01&1FRCJ/-BBV;_,ZE[,GN$./N!Q47-C:(9RMT9!%-UUV%$$\?VXHZECW/ MIF1L=20D^2#-\'!8HA'D8HS_%4M3I&8!$,?G:!GA>(QP!A$E4]B !#07HMJL M8O8S\B:!&(?I'=PPFH<10^;!!S%TN[[DDHACW*5W0_B;.7XWD+YF$'BP/3&< M6@R"91'QV\7L]AZ=TX!A<2#4P"MV?>,3\L L[V#%R '25X;\\PE_-Y"^+]Q) M#F,/\7?8%;R7GH$GD*F[F"ZQ7_@[+)'\V)(Y&)Z4PA&YX6R&R"YX2\F#5<#; MD>E4&B\2Q/?AW?G\6>D!P*&#EG@ R^7$/FPR87@3'&6P]).^%.,+D)@]%34M M[(*$P%D)#3#8VU\V^G/B,[C<@]<$##GN%G>#I7X0!L-#G/]5H[ M5+"SEQ)>0JZQOQ[AS0M'*:S-O?<6$4(?K;2T50!5S)0L\NR.):DG6Y*-^4>[ MM"3\T44AS ;2.Y!$>)^4M\A31"D7=51BJ>9ATA;..?IH* ')F&J+5B!2THB. M$=,"?\B^&Z>*A^?P$-X#?\MU$\.^@%M(0(H[%P5\RE0(PE"QO](_@^F;-'I+ M,4R9=L'[T0IJ3!2G75;T%9W0-9:Y3>[6T24 MW7O1,1K]R#SU< 'W\.*?;JY8:=U!0T?H-/VR;9OP54V/_2=\U7OYCJ;CZP\V M+D8X,;A0GL)E*G)OZ&BM!R8X36'7WN/UA'C=H'CMF.V[GW@IO:%MV$*\A'@) M\:HUWK9*O&H-F#05+!?J6^K) =6$] GI:\-;-SC_M0'IPW;[OF&4R_7:*'VW M4*'^]ZRJ9[-_>:L(%/L[5ZS&.:/D4CBPPSF*J^5 [PW-HPW 9D G!%C)WJSR MXU&>0@SKAW\=SC0&>.7E;O:?!+^TE5\:L'SKLX)4VZY:2H7:T M;K%Z0ZO,-!?1+;<0U_\^":/DCE4I'FEX5;Q\1SB^P:@V(R<6Z&X-N]EP?C85 M=;N =]\$K.V5L\F.Z.Q^;(*MRX)-KIE-=D09]V(3%=&[*\QQP2?7PR<[XF'[ M\0EV-)M' TPVR"<-A;78LZW6V%D;ZC##A$P/J9U(W[E8BJ3!6WOA L-EVVN1 M6AT=KZ;4_M'Q)DG3%EU139,&+=2#0^8J2U@ILK$1%>$26O2P:$(3+'/A*(10 M&$)A-*,P=O@J6VT*K3>TG'(*6V@$H1&$1F@531IT2P\W(1#INZ]8Y:"&4!A" M80B%T2J:-!B?.%QA&*Q(3B]'+83"J!UI*4+5[8+:.B-1&^FW^X^]KZ*D9CJGHIQ<]40WU MTV=HP54Q%;,W=)3RN,4V-CZ)MD,A8NVIVMQ?Q+"(O2.]A4+$A(BUI^)UDXC5 M3!O@**^^J8O>>B&!0@*/Z:T_6 (=)H%*-[!E;J&_GCN=Z9".<(3(\WR\!WWE MPSC8%)/,*?7I_M[HOJV.K2-)[:S_E6J$'9[E-[SME_&?,<41Z,F7E'<^!1]2 MSOD81D6M\7L6VJBK-C2Y-]1 ;90'P'>^:UB(S[6*SPZO\9SBHS!4&R$^0GRZ M(SX[/,)SBH_:&^I]4SNZEU*(CQ"?EKASYQ0?K7VG3T/I1/9L8V!4R 3[&^4Q M7<'7ID:J7O%ZU,@V0#G@(62A3X&+T^OH>\K_]U.P-J6PJ&JJ- 3V?UPA4H$0 MBRZ)1?/@>%8PG9Q3EY- M[DO8GMH=3 _;T [!]+#D@:.=!M-#.0WRA'J:Q5H">6)+O^P#RH= 4=A%IB7> M!()/7*:]_1K(",4!\4;HAA M_4&2103_^XB+?(2[_#H-W;]6&VKV) K[/(?[)=&"]MH7/7K8$ 7JEW!?3^'SIMB.*) M7)7W>*4MX&2U7[N%WCWO _]:!3EV;K<^)Y7I+>[P]_?.)530$A-1^I&^NM,% M8XS8?RT OE9HIY^*FN9H0(-UQ_#:LE*UW[_==D*=E)6V"R5_R_&>"2QWG8%T M7\8??;3;_H_YR/4ZM72+S>%0E5.C5L@VMLVR!%I%%V[\2:7H_8)^ MACL^OM#I,^6XU;5ER,9F8=D\&F.JI=V.71 30PPJ/[68X/'R^!+6E@X'@5QD MIRD,1'&(U)<.4QPB9Y$.' M15SX,++7KJXHC3H^+R8)AB^/C+.+A/],J"5![0_MJ3P>G->R_8=13B%/H>+)ATW2& M.J?%$0B[W1X,V9"@U#X_$(I(Z^MJIX?5=PG[MAO'&O+;O>3/YHN$@=\F-*)Q MHV,$^,\@*TVBWH=7%W[Z,,._:DNSSH#%*H[#B[0FW=Y)>*#&$H.C M3T2:MNB7D]L'#2$3&CA&&OS)"F3/SIH#;9DCO5Z.V[:JHL<)G/'2"_XG"+%0 M"&ZSM.W)4T39S.F8]=2"3?#B)Y/ER.DYB5B-T<;^-&QE*Q2/8*O$8*TBH+)0 M##G35Z@[4D?4E5U'TXEJC$Q/4RW/(*YK:8KC_-.T>MM+F!2UJ"#_M8@3?_QV M?LE7.?A)0B5%D?[?_\=6%?47J5YYVZ? #6?TD;QBC>(TC!=111V;87(5 M2D MW@-J $5S1IIACFU"7-T:.XYL>:YE:<2R%%.GWGK=&W^,E)!7G'&PH9B\A22O M9N__7N.NE+%VTF2-AA8U3,T=.];8TYVQYKB&8NB>2SQ"9-L:,3&2WH4S>,,W M$ \7M0P:T!DI)?HZIP%(%,C)WP['0#$V\L0'?O]?:4#'_IX6I+GB&I CI:*< M58(=F>(249!KK=L\S[KM'>O&F1T);$U2FDV]25VAANK#%L9S"O=ZIM.W@93; M7":ZUB]PD_&8_X!M+VO3?0$]6+=4>6NE\H?L&4MR85GR.\Z:<%:EQW\8Q%4U MR@;F&)U!V<7_@;WH9C>G>JGFVE+70!::6;,IPX;J@PI/YH?E7L8@7K#^?R_@ M](%C!21JZ^9] >YE/6B@G>X\W*<1B?VXS^YU"I%5SL+ZIM(;&A6-%(>+K'6> M=;,NM/(&%T1VN:$5UL&F(RA5^[HZL+#2>![&/EYPSXP5X(55@?$/Q=K*U%*4 M5Y>0$=B%BZ1\R>9"]?Q_)]&J;/.)WHTB2OZZ(V-@UGLR?2%O<>_GXN$))^?: MZNL^N/J4VWEJ=>((KQ+J#]7:-P@3:48)MLZ-%].#U)QU%C6G@1"H%=(+:LY; M1%A:RS3=[O+:C6JO@D(H696WE)9WJR!B"L7GSY:^0:HC1Q1NR&_OHAJ-X&[X MP[(&S;3K0.J> 8EG_PJG$'>EXN0OFAFX)7ML71_]ICSEV)8#ETG .WZ(9Q&_ M +>7_PNWAR1)Y(\6O"T#BUVG;WCQ=\K96S'5'V<_L?L"[;DV@.CT%I,W8'-5\E:J[>"!] M!S&;DFCZUC]4-:1+6@0NC7 D"8NS($P3[L?H37JBX3S$%B]@/BGRX[^*!NW* M3=EC$U-.YJR!VI_MD%=-8WR#!&-&3/EGYP4*38-Q'4O>(ZYST2".>F 09Q6[ M^3)^E]/1WWA([5T8)_'W"9P(OQ(@:9;B+<=Y3'T]1C%6M#'5G1&1=:J[8.U9 MKJ%YNN*.C/'8L^WU.,_W!.YW-\+'%$Z+[3&?2D-S]Z.+2_44&?;:4L?>V-%' MXQ%Q-(5:CNXJJFN/L;BI'E&_NQ,XX:9 T@^S^31\H_0[C9Y]EZXHF:?UPQ1( MR?[U9?P-3!/0@/\!6K-#EVU !;F-/=M#UU.\EST.,W+ )<<"8W+ M0)19LG5(UREX;(IQ&H@R[30092=ID16+/=UB;0'^MBT#SPPKWJ0D?4"#BD5) MEF!G^SAF[G\T/DI8*\=<]D68BV&_F-H5SN@4S)5C+NV7IO:&M M'JU:&\1L:WK558OHEH1P:&ORD=/I!',U6KF:BBQ6).Y3(8V:1WM<0CF M:C5S-91 J\E<5ON8ZQ9BB[_1@$:$]\@2;^8'?IQ$K%%:Q!.WR$A#^:Z:,L)F M*5B.B"=>-W,UE->IR5P.PP)5+<%=U\U=%TF%V S0!<[W-F$U"^YJGKLND@NQ M%:S>[BMZ2R:Q-HY_:K7&BMP&!+ZINU3@H@I2J98H1**7/@\NQ/1]QA\O M<79I'H,SEL>R.K8U4RK8':NFH99P^C;3O#TX29U(- M:!U%B-R/S>"_OI70PQ]>2.2ES/!EQ0N?T_$G6^,"F1?#BG0-Q^[;2AD>H+,! M@:N((-YTC/!ZHX!?:<0D>8>.4$^H(;)S-CUF,R.-V6@KU6#C/"^C/,I(: 6A M%816.'%N8$T;E+,##:J#I4/"_)':"04L,U?[:D4AL- 4I^UM:P23K$OV=G68 M7U7D2ND8[9:.4>W#\AO%T6SP>=U&KJ;IZ0N<%+591=7BJF M@S[%\8)Z[]DT2SY;B8E2G$^>92:EMY\;ZB@X-K-O.>69QJ6 6#-;>.$.DZ.[ M2EHGRON;=%6OV&Y!.LB=*PI3?7IJVNGX/ M$<>N&)PI8M@7CV$K:CMCV([&8MBFV9<54_B@[8A6M=F :2@FU4H#IL%X=%'> M+QZ/=O2KB4<+.19R?/H(LK(#L*XU$63'Z WMOJ.7X4.%:)\I3'Q-P>!RU7H81LW([*5B&']G&_\0>-B> MY\(_'T/\Z,.*"6J%-GAYGN+T%:VID5DMLE"Z['PT-.2JEH%O_G:,7M/76>G#;#X-WRC]3J-G.,2KU=SG,. ^ M&&.BF,%9YK]_%\;)YS#Y/PJ/S=X[7\"TGPXS5SRC](;R0"[WT$BP;5-\9R#; MB&;4]"3LIY<0F1VWXPZW1@+>]X&,P+_2#O$JZ?J3T827EGP,H_0C_-T^(J0B M.=1UF>!M>X,]@0#.*B?LCG70*%2Y HVB'>^R=>4/&R2U+]5VIHMS)8S&#!#N M(J<@'?'#,_&GJ&B!"W^#:Y/:LJGUAM9@TWBF3#XE_I;2"XVH1+)GXJ.D)WQJ MBGK!-OY3@-VS_C.5.$ &4X4_(@J&*O^R9 WVM_++3ZWD]ZT\@IR0@IOP0P I MN0? 21$0Q?4T"[ZT-8/HNNF,B:/(MFU2Q9,5S?+((? B*6FKX4765CU<"ZN5 MOL[M1/KZNCJP<"?F87^.XE6@C>**/GKCHP3&MV3Z0MYBWL_%WD(&&AM]74?7+G;G@([ M[,(&>F-''XU'Q-$4:CFZJZBN/3:4]=V63:(:8W/L&JJL>YYAJR!XQ)8]7=,] MUW6V =YLXKC='"2@8@14C%BL@(KI KR%@(H14#$"*D9 Q;2BQ%Y Q5RZ9F^3 M5VVTLLS>DK'^MB_+6M\44#%M2=\)4(AK!H78G%4WVE2:;\DXI%H;J-=0P"O4 M@E ++7CK>AFS'5.SVE+I;\DFVA"V?46#MMJM*.K);#%;U$8[RK(R.3&[@T-QP(WM:FAU^U0 M\P).IM8K=E33,ZN[8R01<'_I$'?H5,[7?D(W0B' 3E>@[AP;?E'K?JP<_]2/CO9SGQ[1.?^!]P+]DU M=4]\'=23WC>U\F@1X>&WB>>$AU\:/'Y:_[XD4/L=]P8VK@ZLHX_[]LG4U=RC M(1>_RZ7IC>*CB9Q_0V7I>CO+TA564J8C1)K>Z;)T46_0C2K3-H%N= M*/!6',0DLD\/_]XRG_=$\.\M>\NKO\<%HA1K. 4"_EU4-[0OB-$H_+NERF@9 MZ8K1UYUR"J3S%DJ7G0]1^-"&*$(S\.^6JH"'8[TF]O,R)K M!]"!'U?(O!*=LMU@:+US<.;=-P0Z)ZX+#,[@>;/J;:Q-1 <(?AA3*73=1320 M#L>?5^4\]/(I4.AW@%NW$H5>U5E'IM$0"CUN:I3)T2Y,>J?MF/0J5K^40VXU M,.F9?+08E/X;4!)>"86$"\>?0)RXE6^V_3V^_[D$>I"\4 K"1)H3//S\.<)B M^J 52(1,&?"'?HX$'_\1X2_KS"7FFTG.8(..RTS,&<4_\:1J:&4A2D2S; M>+L\S,2=4&\QI2E"?8FI5_O MH'M N/OAQ3B_!'/C4=XPJ]3^'[%H2#)%(1Z M#L]*(C"DNK%=J,7'X70:OB"U4T#NQ0S6"S>)5[CNH)JK0-W9;N-)@5_&_JLT M@R=.8@GV%+:_K,SOI>,XNC.(X:8S4-530$4+Q'!<['ZW%;C6.Q-R*UQKWM(M M<(ESN,0,5T-ZC\?61^)'',CYTF#$E;D4\PQIDVJB_1ED"1-F! J$XI:4E6S( MHJCRJ;(H'_Z] $/A4P#FTX(5PG\!FR!ZG) @=8B6[D*M-(J%.!&J;O2="JR: M#A69= EY\(02U.&:LUN!*-V8$"KJCN820OMKCK4X(3N?\7C&TSD-7V=ZPV;1 ME(K4J] 919W1)"Z%U1IAKZ8_#U0)',H6E'.HRL4,D2)1Z_WKFI*;VA8SO@O0LCROHL]3:A0-Z@=RD@ M#V_C./R8[7/-$Q%QVV2E3[RZ M?'&C?77-YXK3HJ&U.%U'X[<-)9+5;B62-9QSV5<=JZ\HYO4DA8[A3.%"7SJ7 MW$J#H:ZKI0H$SGUJS;WUROLA9"F@B MO?C)9$*G69P;3-" M['@#UDK"VMBF8?A5#K.=RVWJ?"*S*_$QWZ)1_+Z#UQ+ M.,6=A0^JA:=NUXEF]8;RMJ83OG9\8Y?UE=3KQ-GUB@\><@<3X6^\1>@Q/-6; MXGC!0=GG7K77D%_T_)._*)U M-5Q[CQP6P2RKX,-ZH+9W/:FEWI"V=3WIF.D?T_E MIN6>P[4JV[S,%]W1VJ,K-]3:\U^Q]%4T]8BF'M'4T]U&%M'4(YIZ1%//#<5B MM6[%8G4&&J.I=E_O-BBT:.JYDD#L#3?U:-T)T>I:;Z@Y@V[/BA!-/:*IIWV& M2$,8K2<;1W>2IAY=[PT-5>L[6KFU6#3UM/*\%Y5:^V&WVAUKZM$-WJ];'B31 M^6*M+AVBHJGGRL:XGJ2I1S>W^>^BK:=-O'@=-4G7<#0>VM:C6YN\7M'6(]IZ MQ('8CK8>W08I5?N:5:ZE$ET];>)%X2NVY4 \J*M'=Z[64;RZA+'HZFEM2FA3 M)OED0[9.DTDVY-Y0=Y2^898+>SN;$Q(]/2V2H.OPGYM,&)]H+-@I$L:&LLE8 MZ)YR$#T]ZST]8S^*$^G?"Q(EO-H1+8Q^H85GV;Y3^R T+M^;8ZC8FU/FW8V] M.?CF-3M'=KSF&?MS#*TWM ?E(-?&_IQ<@PT?=L/R%<@'J2V*U8E8S)[1R471 M&/MHI2:;&2)(S8_]ZF2>O+?@<)V7:TOX+1BS3I9[MA/^,UU5V/]0]%)2BT9>74)&8, LDO(EFZ=KY?\[B58.T!.] M&T64_'5'QJ '[LGTA;S%O9^+J@STV-KJZSZX"XKQO]=VCS&1+YM$-<;FV#54 M6?<\PU8M62.V[.F:[KDN.-3'M;-];;J=[6+CNQIN9S,,'$:W3:6M=;/M;EK# M8$V[F]8,LW!J%9O6)#8C$+73/ K_Q>H36UZ!J[N!Z#Q437H6Z(W5$7=EU-!WD>&1ZFFIY!G%=2U,E/K+=MXNMV.F<\(R5Z3R9<] _>0VPD;1T=FO8@5"G;70[=M37M. M#Q *V!1:HHCT(^Z?*O_RX>MW]B_EEY\D/V8'Q0(9>_3&)[EEC?;8..\'\#65 MR'P^!7<$&_R8F3J;H=V*9P?:CS1:-1K.F;K!>^%?+UG;#DG;=H)E3U-JS<&_ M\K>3PD42)R1@B_!R3?_ 4NF]!])[?\H6#"^R\07RBW\F_G1][?CT;.UKB[T[ M=K$I#>#Q$:N]P>?"'].%1SEAE_=%9Q 9$)3-ADD0P+PRS7W)C=?E\\ CAM,#7WK7^GVT7<;IJ%,_X+_) M> H@E$UO ^_%AO* \80*>>RC](6V01W!8Z[=%TSFDQ"7BR%W_IC\-@#]+_A M[NEWR-SLQW?\X"O85GAA>H6/3#:'==(H0J(LE\]HA5-SX:VF;X.2,CID\.&Z M7F5R_Q!XJ71LZ((VG'V[H%NEU"J[H&G"]$XR81O'UWC>_W' )\]DYGQQE8LG5(HS/X2(IA--_EJPX,S3Q)_[0F%MNMQ=IG:?9V M.MJU_#B)*)7^X+@+'Q!W@<4ET+V6P+-NHJ&[JZ3Y[K_N29CFD (VYMXJTF\M M)U\A"W_D&^]/N9HIS4Z256U"*F^2Z.]#3S7V [9K:Y&^;R,=_[\(\IIJ5K]RGL3 MZJ0FB]42VGJ(#4CYB5'R=Z#C?LE";1E?,V6<=&VJ;2IL%MTMQW6W5+"0N;400?%>+[9^ CM3[;E'DW WQJ#*[65_^X%'@^3^3A]4)+$O>G!F?27+,IZLLB97R,(JV91? M>(RK"6B<3I@4-;LG=KC):_T[O-_ORYBW5'Q9$9O5I=2V-?3>T#+ZBE[NPS\I MDM&-;WG)K3WGEF.9M=57M,USW<26-[_E)0_TG%MN@I3K?5O6Q9:?<=C6.X]676FU(^JV(C"9\D-&3HG<"^ND0UV M&#I-L\'8?P6'Y#\T"JLXP,%F#MF7W;D(6WUQY3Y]2;KHFH3OML MFU-ONB[B.NTS9DZ]Z4:MR,YZVEZOE;;O0B9.W*.UV: K%\BS-: B"M1+=86AWRRNI@.%5R MN22Q\^7V0@*Z) %;RW4WB8"Y)@(;JG;WE@4+94$MAU>Z7.8MQ.#JQ4!I6 QL M=B24.["$&+2)5808; O?-" &#CL-RB&X2S9K-)*S:KM#\[XZ"U7G5:]-A-L\ M5>%2+DW*)A6BBUBC33@U8C*GD(&N.#5;I$$YVJT1@B $H2MNS19!4(]V;(0@ M"$'HBF.S11"THUV;\XYC.A#B^2%(_*SR__L23/K#*T/F]CY&X>S="O2XC A= M1G^V]:M!?X[H/*(QEEBN8:IS'#?Z[X7_#&R#WV^':><(ZQ2O20DKC8&R'%.: M3-W%=(DIG0&A!9LSM!+)U89N LL?495AWA&NG2"V>.+?K:&E MKZ&'"Z#J*X)3%HL50-67*#D10-4"J/KJ<8'E*X<&;HKM;@%4N2T\>65D/3]6 M=??(5$"@_ND4C5T5CENK@@C?"SWLX"/-%Y$[P:FO>6?I( #;O;&".X0$6'OH M\8Z.GR.C"@\S('A2MSO -A 75U'*S0&'Y;3V!J\_1VSS".!KPYULG!.\5>6\'F-UE-+B.&ES1%,%^U\Y^YTFR ME3G,Z T=HZE8K>"OUO)7&_->CLG46\4 N,NQ7Y-(28HZ4-L#A[NA5#-,R/28 MV&FQ'$F#5_?"!=:);Z]':K?05=.J67C-.MC;[8J'U^$6%=V9_#A$J*+J41=ZE>ESO.T_$3-B/G M(?#>,>(]T< %N7COQ^XTC!<5'>RVK'#1 TI3[P%E055LJIB&3$U-U;VQ0T:F M08W1B*JJJLF6LM[QGGLPFY_GYA]=WMG\OJWM,M_#W<]?6Z\V-F5=5US#I+IB M$GOLVH9+E)$^]F2"X(47V6IVQWL_ 0EP]VC)_YT^D:GT!TD2&L5E[NX"H@"J M7!*\27XLQ8O1OW#28A)*4_9B\RAT*475D3+)E/BSF&,%D,AGO?L,(0 TCQ^0 MZ TV>1'!Q^%8\H&Q1HL8GAG' R!10/@L*(D^DREP#KP%)>Z$WY/='9[V['OP M.2AX:0YB!?P"BT!H >EE0OF3^,]AL?#K488N,*+2G/A>.@B2Q&$ W[P!QR=P M*,!O!M(_)C[\E'C_/WO?VN0VCB3X5QA]TQOE"!9;U%OV[41X;'>/=\=MC^W> MN;LO$Q )2>BB2#5(5EG]ZR\S ?"AHLI2O41)F(AQER022.0[$T FJ#@ #ZU% M2M=N /X M!X35-D )H!?(S!+<\7:2T59UZP<)V#A4L0BS22C<@15' 5EZ0*& M[P)58 &F?V4,7ZX8JM@\8E(77B"U,7J58@/+/,(R#3,G@9]H?IBX0A-K;L*3F MFW[7&V%N<)6D I]Y*7E$>-#5#[3;4'E1&ZM.^0J;@FG*L]NO;#<5U7\71=., M%;#4Y10(?G7)9H#LERRZ8>OTAY_JT@>BMP']OA,?@RQO43I8PY'&J_B(GBN'7)7@I.*BJ MK9U#W*^&K2W::Q"F^_H^D[;[/H-[^CY?\FD*= %$OKM&;#:X.=U-MV'2&['. M:#"<#(:]_K W&8.J M>JFSL,X'K,('6QP'TQ+^MD>-GWZ1$"N\78,U$D'J_#V)R'MWG?=QX#GI@OP5 M\A(8.0@PZN_@=].XY I1_P^N@[!PK>-WP!>$>E84('@0JA":/ UCU)^0QX- M^2>PU'_F$#AP"2[69[Y*)#E-P )+Q^]<_K,8UH"T=>[Z?/C-$XH=A1Z*0)B5 M<]8#>"TLT5VF"VF^=]^" M!387=BB-H6"]P 5T.Z^^O'M#?_FO7A"6^!1\5PA-NV-EMG:J''<, E*A+9I, M" J-0_M=AM$1/%=N.02SB<3$GS-C 7**1.E3^B72^J4RV05210?^2\XP1XN$ M!Q(1/W3]=T8R*U0K*/8:/?Z9XX/.=1V@-KB$R!*NHYFE^N +!:B(KY,(0@LC4*M @QI3 3@*;IVL7@ "%':4"NP63RA/H!HQ!55[5,4DK=_%X- ^]@(<_Y&40CD3HV7J(H.JI\I8Z1S<2@ M5_6\)@J]]Z3&(+C.-"_%-1)+H6).5P^I$5<.F2I1!&!$AFI44_(SX,ZLPU 2 M,:E_?L-R? MU)05VGX&ZDNIR:F?#N>UL%!QQ7]O5H(UW=,[&.SAGAXC:FOVU MC]=<7@M^LY/QZ;0IWKS36S)&M_;0I@;YY>W?BZ^0/0V_J6#TEBKDF]_D-<6C MOTQR69AY8#+F2+82(69]OZUTE5O0?QF&N>!T &HYIYJW*=(AX*E21C"]@]DL M$%/Q)_Z,F50LEK7"]/9E!%H] OF:HV%V0"'%J=I]+/P;8.0,RR!"&-:!(24P MN/K5<_"WRF!:=03@5F8H''%RK92G&1XT0Y@'VE-#TR$%!QT'J*Z3 '>%>(2Y M]BAB4YR/Z\PGD8)$ @RCOE0<+;?)I@62#=!81"Q_# MFQ$ 2DGW1 :D\\PB#84QC4G488C9A!X%(M%^@$1WA/QI-.$12#M2W,6D"G-5 MH).A0*F5NFH31A.XPB*[N;2MTBJOTPKNYE$R9:6<5<455_S^:RFU!:$(I=4G M59&[U-C WV*RDF2J ($?^#=@']1:H0#4_A=;,O (:/@E\O@*V/5=+B%09!CQ MY7$FQ2W1TR$2RCDO-K=0^Z#15[RNB,M#O:FZA'&_*38B![LJ4FDRRV[0JH<< M792:C(%I1T=-(P"90V*Y;8V&2CSK;3 [B]($A"=: 8/).3CG?VIEI1EVB:"S M.>V&(81[:Z,B(XC*)N1\I7[,]&X@N 7(2;T!8*=RJ/'![S$-#KP,0/:[VLY4MS9=+IER+1BXO$PZ2FV\HZ$(@>O 2+S-^'CV?@+=X>1>_02&WFC8?_Q"\AUO..X^0=7[ MWGCR^,#ZWLA_"F#O6_C_(, ^&69WP\'C5T#>6MG\N(H@JX8#RX3JZO.GK:L_ MV1F')U1E^EEJG)\K9FV9\^^CJ5;FW,7>2AQ65/9)*J(:^ K!!Q_PZ:NAMZY7 MW&<\=I+S6X5FOK?&!]RU:!T.]NZ7M^/BVW+!I'G5HY';ZW?;6)74EMA]*IK# MOUZG920_!!Y^W,4S>3Q^L\KT')1I;] RR;+*U"K39U>F3U!2O'4Z[A>)%Z-6 M,IF)[,RJB'?';J^SKZ*SU6B?F4J]H3<\"(T.KW\L@^PHQN.A;\6XW53JC;S> MF8KQ.>3>WM3VS9GS*$_I0_S4MS5$6TXD;W00$AU>'5G^V 5G%W[' M'?0U+B5XY7=2H>Q;EE)MQA=U_S9".:YXYHO'V= MO%,):"Q_[&:?>JX_'NYNH:P$/SN%1I[_W/0YO/B>0S[B+18(I2M?U;Q$<6+J M(5[CB>Y=']$.=DXA>=+SNLP?G5CSO M(9[/G4\HKI8]P<)IQ)W*WZ@T0Q)?_O+Z]:=*0:+W<7&O_4D*>P^\[KV ;;A< MB"=N+KO>^/;UKRE+.0Z 'FXI@^KNWE-$!W:,]HSQW,[]4XKS;L+[[F_OO[Y] M_=32>@C9/,V\O>^[D_$]SY>VT4$X42H-O,/0Z/#Y$^K^MM3\UPB]1K%_ZX\;J MJ.HK@0V LI>7^-#S([RK#D2^>!)O::?I7]50-?1Z?<3#QC:?ZS1DNZCT69/K MI[M=Z!_*6JY+SK C,O9\X=QYXB7OOL_?53V]J3%!L9P/&E;=IN!P]/GAKUC2 M.KFA"KA(*FKS@76CRU8 JN9TD ":HZ)SB^HYNTS2S D%_)I1UX&BA\LVVCRL M?+,MKVO+Z]KRNK:\[L.+;WX1WYP/"177?6>+Z]KBNL>$65M<]_MHLL5U;7%= M6P_RKI-@([??M=5UGY#36TAT6Q#25M>UVO0)!*L_=D=]6U[7:M.SUZ;G4,GF MC,OK#H;N>&Q/1;6<2KVA=YC:J8?7/Y9!=A+C@3OL6S%N.95ZH[.M1G4.V;=_ MH!=QWE5U+_KN<# ^B9(2)TJ@WCF6X[2\L6LUW6%_CUIX5GJ?FT(CKWM^TGL. M*0@\)X?E[\XL_7 Q<'O]GJV^V5X"];S^^17?M+RQF[\P<,<#*[UMIE#'&YV? M^)Y#LL$8IG=P]GV(JG+9?[ M" NG$6VY7%LN]WS'.+_**+9<[G$%VMVN._8/TZO2;I_L<:S7ELNU#'*7&./Q M!2O&+:>2/]R[1MRIB/$I!3:V7.ZI;COX/7?@[UM5S6X./3.5QF=;:=/RQVY7 MBEU_-+92W'(J=?;N'7 J8GQ^:2%;,-?N@AUZ;1W/W]M]*,%9$;<%<6S#7%LRU!7.?KV"N"/_S!^'S8-J=\J 33'I]UAU,AV&O.PH' M+ A&/7\R^??$_Z%!#G>JLONT2+U5KX^0^L^QT7I^BZQ'XA#R2P$#PQ73M_ MZ7JC8@JZ<+QEM ],!@NGY]-(/<_Y2@OY(P>-C$QI!@5F+]=PPU(G H)PH%V8 M89$Y%CW!KB+"F0/7H];_0C4@D?VV!:C57/^0B_?>7! M(H9%SM>@C$/!%)]]Y1&\LW0NM,+^^N&K5M$O;LV&XE_.E*4"S-;], P /MD:VU M1"'( J%9)O!ZP$@@F%P#%K(H2:Y 5&^8A)4#&#'Z'$IZC$PA<&(&$HL(2&0= MW]O4FSI%R!5S?(0G98&UM!1,I=+&P'GJ0;_K]7[<1(@I3EI*\-=DY0P* %-0 M-P4\!I":WO,'2!"8J3?RAC_>4JQ9JTWYS&6 M;$!-;: C)0C6'?AG@V\,Q-O5C1;Q/BAJ+$U_.V%F"L!35?#*B[KD<:=\A4W3 M!%V_6Z\H??57JG2]D5BK_+N0I<\^YY=36/K5)9L!;E^RZ(:MTQ]^JBM*T)(; MT.\[\3&HW7]QK56V,[]S([(%VMJAL;6@;R0H,5 /P#H;WKJ+\KQ@\9PK#F+E M U07!%V#L=>I#>5WD)^ILO$.YILDJVE8O^=UZ^../+\8MW%Q7>4+;*@UHZP; MEE=W"R2P<(P2>4N'*7L/XA%<74Y);E%*>9RJ)_@W_%O;]:H@SGDREVP%_@/( M9"+G+!9_5IWO* G4QP <;E!=N],/=-$&U@?>@+!S*PC+5XIV?P'"C.OO]/0[ M.-U,2% +F[,AG/KM7ND!&GIT[Z+S;:?OEJM6)TUO;,1;J?R<6:DY(/'\H1"TH_I:# MI\1!5G];A6!AP [.P4HCECY .)FA 7\=$&\#RG^[DA@P[.3'=MJD4#_&SL]\ M*G-<3K=O0I?/>9H* 810I+$Y%4B#JLT@$F5(A(I7YRB /Q4OR.7Y: *L6<0@^"?%&)*Z0<\$)0,=% MD"?\M0AM\'L]I0,OW_ HPO\JH"#>9U>*W1-R@H(D1]^'@]L'_!_E1$\,80A8 M^"5 W0 (U:_#'(GV8A#*W[POGNN\83$+P?&F;V*!H/XWC!,F2_7=NUR"2 'Z MX$=4)3CVQO0Z0((5Q.9357NF!383DGSPVA!@8"@1YO1!X2M5@\,O>:K&!70J MXJD9E"MJGD:E5R,/9V"H%%!K=+;]T:O46269UE[H",)KY("E.3Q:( 86"HJB MA&"#&=#'S*,0R'F-#O,2Y$?B@"P$A07C@3X#!Q-]=-0Q9=DMS_D9]"[_QI:K MB+O*TRM!*#56!0Z]6C4?RS*^7!%/(.&5IYM$N&Z60L!*^"G8!;XM28 H2@%, M%?]62/LE ^AA(D( <-8O4H3.VW4,TA@ P*_CM?IIVR*+0+\F 86:+WD-47"6'E6"@%E^1 MBRY!53"#.@A% ,P\K8H6D7HA9@!E1*^N$ID9WL&Y;A)YY21!D$NI YN*^,++ MM^2,V(-1,$3RM0DQC^?@X>) AEM7,OF=!XI8E<$3]'2ND^B:?'G];!F%U![> M+:/0*DT,KA$FB)D.O-#5$!#O52(]B&*RM:$#R S$J#&/",'T1&:PJA\1\4PR M0'J. 1"O:CS@DF4>B\ H&](AP+XQ.([LFHE(CZ0L@X MA#]+G6026LAJ5=FH+U:GJM2*@4;+A+B&D4@"<* EHF3-.8V#DT/8)L/X'Q"_%*!SIJBA((1/1:@( M32*'26TG7<)\BT;UG!D&UI/L"C7\*C.#N(.#7E@^ M!=D2C(3;V'GR!R$6"9GQ$&^XWEBCOD+XKDJAK356"IY6EEB-ABNN5LIUUV2.466\5*Q;^G.E M?Z#5NDIL .JG?(UQ/*D?Y7!YSB?X%YB:$J)H^=TZ&.#GD'-0\@0 NT@ OY'^ M!;T6F;!0IR,J'M_]7$N"MK!>.O6ZZ6_.#)M1II=W4BMYK%KKI6K8Y?O+M9S MCD_(**ZL;"$C/ZOXE7 VB?E6HK080?4$]I2(VN4*4 W(9FY@(B,/-\I5^*8 M9TIKZ90VI1W)&Q,RR)?@OL6HI2K2!"R24O8%[ N/M70;$3N^/;.?MV_5)XK# MKID4"00D4J17&(A60N_M6JQP@+4]W.36,BF@Q+B^#ZIW530#DT&K"2PH!N4B ML-#1.U.?F,R<]^]!%"':=/S7GO,9X'5^5B/I32OC>Y:<4^ZM?^885>&B 24P M0N?RG_=/JHV^=\#@0 +6?,#@L\HGOJ[D$X]/2WPTKJ8_-CN:Z(7@FC!_\"O M^65%P4*Q6XL.__LX\(KMS?(AL\N)SM4LCZ)+[;!H7]YAJU6D0[5J1(7Y[*57 MG0QX; %LJC/7&?%@G8BF_@Q?T_ MG;HB&XJATDVB\LBU=U77R<)?)L?.@*(%E?(O0/+(9 M8IG,&:64S$/:8T27XQBM%_#E6Y"OY12T'#*EBH2JK/DA![<@ K<%XGM>9\C: M3U6>5#FRM:,<,;!BB/_7N%#0KE_!>4K+$+2,)6N!E/;VZ[,3J6@O!5!YR6EG M"1/,>I.I9'28+D84Z\U>2C:7,D$>(6YF4?Q$0P/4^1Q?Y>%/UT+BI#\MQ3>N M0G.1K;4/$R4Y!&HA,/1/SOOD*X@!&A<,?U%84$XT&!R7%_)+J2RVZU0XCK9Y MA3DN 'XXQ!_DCBF&FTIL?>J@S0'['>.)![1P.F6[+K?E787!\GR'Z_P=H,T6 M L<=$&"_*^ MWO8>^QAMTI*RPI/7TQD*KEV]8IS-!!>E0*2- (V: MX=]S\)YJ*06E^M6V#^GM5,>$RZ7(2))-IL1HZ8V4%3-"4[4O2AMHM;("'D:O ML4D[[^8O 2\=U8E,/(_T2>4UD*R$9%!\Y+(69WNTZ^F\+IS8RBO'%RC4GMMY3[;QQ^S(%!&++^$UX'3BU2 Y5Q M74JBXD;2- (X'+,V*Q*K)C)0"@KGQ]&4K2;#U*'@S([XKTA%3 MC&#FE;)TK5K6G9SU.LO(QFN](O$\9ERD8/#!2MH%_.E ZGR*.:N6@RI4YW=J M3*HW3TLNTGO7C%A5L1P=SVEZJ;(91AE[[866*?NY3&Z(2;45T YJXV#F$7!$ MZ!2?&@%S<9=@>)?%"D*.IPVK._H0F&)^E3?2:#TD%9Q%$BJ M3=I4P.(8&%NV8@&E6%\HMZ)(DE0R6*E1J#S<274-MF%T;RC2A^EF[B9.)-Q[TT%/4M\OUQ-J) M],B)W+A2IWX;=;WAI+OUYX[G;_WMKF%]WQOV1O<:]N[?!KTG G:RT[#?N<'_ MW:N!DUN/-MP 5'F% UT!O&4"*0*I[%;U.NX^10WVN2VYK2DQKNVX\(6IL5VN M->^RXK/#7/?L>B.\>??.=7[S_MMSBY3^KQQ]=MQZWMYBZ5':J1_%%>2N.YIT M'X*'Q[BT?2*X[+G^Q#^[?F6OE_ >A*R/45?K*,@\Z':>M(;8J>&K/^J!7MD=-=Q&K9&29I?T:Y*QZ"&Z M5#L..J+OP;+#),?\ #D/1^=6-&.IYXZ']W/1'M'BG FF1\/>;6DT%7GNE:]J M1Z8=D]0B.\K\^E=S$(6NCV9JBQ+WQ3=3N?536O115:&H)T+-V1,5$>(IA.J- M2DH25V?"TW;EF41]'NS[B?HY[$@8/H?,H:@;T6 MH=FY2&B[-8]UTE[=T<%KNYCJQ?,*09[A'Y=TV*$X5HZ$60#UU-)!/^ASY'02 M*>+?\(Z#&HS'UT(FZE PQ>92[YMLGM6@<\ALF6[9G:B<;\_P)!%N-CC7293' MZFR?X7R'SE7&"8''L0H#B_4QP/ RXSS&%#GF;6 T.E7KJ (->(*"C@+JXQ7M MW#'84Q_\/#[Z3W:HN)%P9],7;>A^P#Z.FA\G0BZ MSX %-8K-$',*/#4U/;[+?!)LI\)I,=M41!'M5RP4ONF47+&SC& 72@,Y5D\= M)%+=421AA#_AY8#KS;LFS> M]>84IJ*/VN-+&[;U\+;77)U=-M),%SN*C2?:^C;*";<&Z>J@DLUR=XH.IILK MAV'MO@I=JDUQ>W&I5 I\9_;+-PL+$9Z*:QK%7CJJW\IDZGK*"B8!%8N@Z\,M MZE![+-16H[I81F!\7P>I$V616AXR1%X*F)I/UT)1-V"G=(443Q^:+3<7=7%Y M<%]JU8S3ZS-F+ KR2!V?!+U4'9_0CRNG6[AJ='R?;ODB,UU\>Z&.["+J3[&U4T6R3BMQ3 M][\QDO(FB='>R2-5_M\[^*"=''USCE0]G7>(U!G/A5BI"Y/PJTBS:C4??>0G M#&NER)3Q0+^K]?5.YN>[1%J$#X0I B,KSL-6ETHEN7<[0>+VW=7Z(_F<*+$ _*#M%.#'X M4&<\5A$KSI[3/=(%4]=8P!NC*UU8%(2.$ZMQS(W1#8.E8#*'3D'#DJ,9H:M8 MG3.HLK6B\*VKW0T5QDCG?Y]0Y*T7QH8%=(.+*WOC8Y$PJ8IR;7-)*O70E);6 M64)%M\:^S;+=)M/^%B3U+OR35-HYWHB:'^T/,G]SN^\]R%JOK;YZ?T0*T>VZXA>=GOI*]_*#LY#NTDZ2:GN3HUF0G M!-Z9>3\^!.]XM.N1D'>_/8MVHFVO'<1[B.\I<-<%A4A)GN+!+[S)&?!55DWY MOCB[0PI8=+<:S>S;(F0W"3K1)C [+KXM&Y[;#A^XHTGO?@UB=M:?S]$ZYOO M/*0S\@,8O84T[WN=EE'\$&AX4%/T_=G-ZM)3UZ43M]OKMTRPK"I]6E7J>_OV MMCY]57H.9][1QD-:[IZ:5F]:8KLYN#MQ._U]_6#;X/JY[]>,;)_Z MAS&(U4K'I)5Z?=ZI:*5S29)F/+Z'IV<;8K>0@?MX MQ^.$NM;O$'(?H4X=#/?V]!Z'1H?7J8_$(%8K'956&KJ#WCU3258K/1>5AIV] M/;U3T4KGDM3+;CAV)[!IO9,(H =8D65?9\\&T,^M5L?>86AT>+5JTWKGJ)7 MV1N/K%9J-Y5&/9O6.^&TWIOB)M641\F-*H5 SI_-[QUS)-WMNW[_GL=P;"3] M;#M;_ME&TC:_=XY:J>..^C:_UW*MU!WN'8B>BE9ZG#IG]K+NV5TIM<#:R[HM MO.WW17RS5W6?#KWVJJZ]JOMT:+)7=>U577N];%-W^.YDT+:+F_9^V=/>+^O9 M^V7VJJ[5I8\N5R.WV_=;)EE6ES[U7=U['BD^85UZ+L?Z[%W=TSD^,_3=WG#? M'5Y[?.:Y=W@G>U>9.97C,_90WSEJI;X[\@_#\58K[7'[SQNFGFVX^QC[YZIE*/7J?8LWQEJI?'('7>I:*5S2>K9N[JG%$#[?L?M]&RUJY;KU>%D[RWI4XF@;5[O'-529^QV?+O= MT'*U-.J>;6G03B\5MKYMF[;6]%_X2Q-8H;MQ$^D__PT3^'!-'5$ZJ3Y]'=L MGYXE3JH7ZF22QZ'N@*[;JHMJ/VKL.[V2R0Q0J-NL3SEXNCQV_LB9S*AU^1=P MA4W;\!F,D)B6ZB*>13F/ ZZ:P6_,*>(@RD/U6R:6( $XR */L[)UT4*>VHI+ MH1J4WRQ$L-CHPIZLN&29!A7?^,W[XL$",B8B)U@'$7?U>Z$4USRE9Z9\P:Y% M(N_H3J[>+QNTO_N&X K=H]VTH)\Y(-(WV0*A0\1-D^0*OS5X=QMZQB\$#"I1 ME*,U3!3@>=Z0FL=S6>M4#T,#Y13Z#3Y2>!Y[@=-BA0P+.N"LU,!]S9D$M&&O M=A@6B$UT$3)57<1G22X!WL;7/.=][* VPH[>K@,LN?X>A@ >6$RE$WS&8YHU MI< (.%0ZH4@#>!S&9'+MI"MX O$8EBWO-=6=E$6&40S5LO5*HRIB*6!X)I,E M_)EQY]?DFB^G@+.+*9]AJ_FO"Q9?I7-Q#<.^P(;R23Y?J&??\D _2SW%G3<+ M"518LO1%0RMY$?[G#\+GP;0[Y4$GF/3ZK#N8#L->=Q0.6!",>OYD\F^_T_NA MG?JA6;G]FL27O[Q^_X/_=W]Y_??O:+;_XE6<@ M> &J4930XONW(LH1VG=,QC!"ZGP"SOVR +EV'9"Y=Y\0TEOJ1>M54H8IOPLZ M4(,!RU-2P6L'AFUZ!GX/G>FZ&=M 4397U "1Y]RT,&@%)* H5I!)16P%=IY M&BL&=A,Q*/L,05.F 9?'EHE^U]@I@#]:_PDK!#K"M!N 70*+\)"4*8]3-54) M#3SE7 'BX 705S&//-! B/("=_R;,G&&4_@W'(=K\X@02?Y'+E!/@UL(Q"V8 M;Y.P>J14$U5D?-E OCC)'%#[9)>JZ$9H$^D6-A56A8^ R@ZN&M;H$M/ 4XL& MB$,.T@#6&KF"WH1!U9QQ,]UI9=%Z [4-:K?MVJ=.D2F/!+\N*%+J)>#!*F]K M9M"," @$BLWR"-&FY84\GR:Y*P+2C@!@&DZ22E("B^['*I^#I MPM@A8$HB:W)I/*,D17:;YS &*#,CUF"_P0R#7T>2 ;6U9*3Z!>3#-T2@;?R MX5MX"8FM_3$E/5OA-]XC6/P@2XUTW*60#!/C='&HW). MR=8QXI 0!TY#D*/Q#]&36=.X4ZX](RKK X.KU6G4 EI@C@BF+08#*:DN"#ZJ M-VB46*/!H(B0CM\!A&A+C,O&0+$;DAPAWP/94'<2"\YC,0-W#/1]!#C+M&YA M:9H $9 [R(;BJG.E8^Z@MN?\C*XHEZZ6H0+K2*Y0S&: 57+W<+QB((@JD!Q* M4:&W#(XB+^6C(*);\/@FR72D()77F"Z2/ H->] [P!C:@7; 6ZYQ /G3+&O@ MA$V576A4KDR%6F,5;0 :2,>U((O6)'4 C/+04;9+!%8P **!$01\'XG"%!:H M*A"JHP#)21ZVBU6^'1)VBI6Z]LKTA6_70)KN 8@@N MXTWZ&>&M.$Y'VDN(P07'83Q=1DJ8O M')U8,-Z/^55[Q:Y2WQ@-D(97OSH9^Z:Y,^00<@9:,5,0L@1W3?RIC1>E8Y0) M=%B([(0QJS(5E0S3-C?=*<" 4 F^(Q5X:71\D&"VY$(E471,B#D5L)<,7%4P MXM-(K6#&4UP"R,J,8\@*>AK5-4PP36(P0:F"% /E/$(?SW4B",14J,5"0$ " MKJ::S\P.6KLY8.1RCJO%-P,(?93:U*), =RE9 (-@H/KN1;H:KYP"1M"4J") M.;9"I1!EA>+L5NV\93*OCGDO'E7F>MNFY>VB?;3)YAS9RFQC: MO4. W2*I#SI5PY3JK8:T)G"[AU5/S>Y/O$75-K8'H#;8ON\-:EQ?9#$_?3D0 MVQ/B7M;SK8K=7 @S(?Y282+R6:B!54/Q\))=EK'YERK)0DT4GS5 >0F[%FHY7?\.K0&T#OO):; MCS>5$&4!G"7H!* "3)1%ZVJRIAKWN1NHQC@P!(\&QMW)MV]/N><1J>3]RSUW M/7_P!'5^T60-GZ H\:"W6_5@"VQK@!T_2[GGR:U'CZ,F[->%Y'S'DLYGAIKG MJW5=.8QV.M6&=ZQEO=.*=\?JI5>5J;?5M*U>/8E[\ MGNN/AT^D42UCMX#$9\K8 [?7[UF^MGQ]8GSM#]SQH&V,_4AEKFCND3K*=6#6 MV[H)V.P>OJ[L(;_<)5MP[YHA=HSVC/%($;A2MUVOVP*^OY/+W]YUI&LKUY_H ME6?7M_?2VTXDWQU.#E,NPQ)I]Y(F[F@TLD1J.Y&ZX\,4<7UT!_,8+.VGK6>K M[V5FC[>8G.^._,.TB; 5__8BTKYFUA+IF8DT<'LC*TDM)U+/'8\/*$GG%M!^ MV7*^_\QBV9'K#VQOEY83R1^ZO;&-DUI.I6['[>_=>\Y2Z;FI-' [_?'1A[,[ MV]9M-QY]GVST@:CPM7*Y5%5!@L]%]82-R[Q/V^F, M][Y%9:.C9XN.NK85:X>4HN?.,#PMBINOXVXIX;ZK M6U8O]M0#1(=)CE4X[Z[V=-*WM1\3-6V1SV:<^+X[&0^.J*K-(Y+FP+&B%4PK MF'<()MYVZUK!M()I!;-5..EVW;%_3'7@K&!:P3P+P>R[PX$5S/WCXY^H@<)? M[^S8T*HV&?_>^K_=FBQA0YD#=YVY-CKGL3V;F> M8"ZQTUG(X1_=?ZBI7U%#6[2FQQI:I:F68]1M6O6G5J-AGUX:+5H[+)"J)UA* MG9,D-C'-$;H8V)US/(=!K9(XDS@4-9*[YE&RPE9'KI.R2/<@ P&YXM1UESJ2 M\9C+HBW;4L2">FB+:UZV<6:I<\.Q<5JJVRYM;QU7=B['?FES6>LY5_1-Q]^Q M%VJ>I2+D=;S5N\8YP [7(KBK$>=Q24FW=5*R_0!PT0*O2K^8!T7+7H!09$RN M'<4+U&7K9\]N5A#]XT9.+?Q.9LXH82F0,AB4HVRB]H::X:WJT MF!I8#;A8-[8SK=L+IBL @XGY16+9D]1R8%SS:3 1GT&_**K=2EA MU"\RD*87.+7>3:I/P*_86Q"A$(DTO7D#*4">7">(.#4Q3KGI?$0XB%'7196& M[JHW&G;3Q8$##;O$=MY.0IV*BT&=!2P>.VA3IROJ/5CVA0<5ELL8WU53G(IT M]EHGG?^BMGJJ23S28:,;'DE2J/Y&VLV$!*%;L&B&(H$M&#SG(Q"WH8<>7=P' M4L.HV+&O$(A@ 1Z4MA7P&K()6@,JHN,Y)T+H?NL(?=?Y"&TV4?;!>@ML@CU3 MO42)2KK!J"IZ!/,T]R&]H^_HMLZBV!E92SUP3=EE\:X^I;>]!5V%22\BK:^B M:*L*T &"5'9T/I41W&"&A7K$M3Z^E(Y-,X,HA3;K_MX M^W7?V4>PJ6/]W5T$*QTDE4M VSJP?:BQK0-/ MI4W;G:GCH\2L;1UX[#QY8FBUK0._CZ9:ZT!,_P<<5@2>OVK?[D",P&Q'0=M1 M\#P;Z=B.@@\_5V\;5%FYLAT%+6.?!V/;CH*6KT^1KT^YH^"A^8U&M&T$[1AW MC?&H71=ZK6B?:;LN?!\-MNO"$1#)=ETX!BK9K@M'027;=4&=*E2GGPY$!=MU MX23+@]FN"ZTGT<$KN%DRV:X+)T*D@\M2:ZHA=FW+!=MRP;9<.%T2V98+1T D MVW+A"(AD6RZTH("R;;EPS'ZW;;G0>A(=/#2R9+(M%TZ"1 >7))MDL/T63L+S MMOT66DX@VV^A]22R_19:3J SZ[?0TN,-[!M6FF(!E1>,3:642IV@8W0;!N>9 M;;CP7;_?W5WEV0CI^0DT'.QADRR!GIU _3WNXEGR/#=YNF[/WR,N.N+K_)"&=E9Y3EYZQV^UUK/18Z;'2<[]68@-_ M8L7'BH\5G_N(S\#U1V,K/D^2Z:6Y1^V_+_YKOIQR2=7]L7!=ZN1X[:2]$ M6,H>2&S[[KC3MY0]/]U6. M*1G9$B_B.T=3'YZ%W+/AVQGY^@_"3%ND=VO^\GB/%3V$+L<18EN9/$N9]+M6 M)JU,6IEL#TI )H_W_*"522N3)RF376LG]PZ(?\K8-.*F D"E^L*2R;F(:>YN M71BPYH&8K9\_P=!%-/][Z__JQ0RV%I(8-ZY&?27BD,?9RTM\Z$#KJ[2:>/[I M7]50-?1Z?<3#7LT]1!Q$>"MU+GA483_3:@ 6=.J MJEC$P46<\;E4%="+D8(D3F$"_!W6D.19*D)>QQL"@H_E$3T&[' M IYZ)R(E MW=9)R?;"]5HDTAK]8AX@N6]$MG 0I$QB9U*@P*4@&\#$ 3 ?6U,A')=$[P:_ MJW%\Q.>:*V^)MV/ R!*0HPH635T;)0?.-9,BR6$H#7[J.5\7(*D5"0/)AR4K M8&%T&#!;)-4GX-=<2E(+(I'J >X$4H \N4X0@=B#DDCYBDG46@H',>JZR$E6 M7 DB+A(6$B<9#1QHV"6'L9T$L5$.ZBQ@\6D^10D-Z;5R&%1AN8SQ737%J4AG MKW72^2^.!9PB8@RD ZKX2L5HDJ10_8VTFPD)0K=@T0Q%HMOI]CSG(Q!7-M29 MQFZ30&H8%7?O"X$(%N!!:5L!KR&;H#7(V#?0PLZ)$+K?.D+?5=I3FTV4?;#> M ]2C!0L42D"QP!U8(R=V"%=$0?KJJ4&X9\Q(4$;13FOE@!32D%9]J5( M U!\+.:HL+!@F)9ZX!JCBUQGE9 ' ZHE4CY)C _ A*+)6U!+,HM(ZZM -P&9 M$Z$/6+IP%CP"-L^<*8NO#!.BLJ'UB?B:F\)EH%B7H-;7E\JA<680I)R,FS!H M'7]^YK,(5$&JK#B@:ZE,7ZW"'/[66&5NA9XI:3!]-(C"MP9JB? _?Q ^#Z;= M*0\ZP:379]W!=!CVNJ-PP()@U/,GDW_[G>$/=\=^_H&"OULQ/M'SO_F:W!O@ M5\0&NDG*?R<&?Z<%:ROO'G)=-&)3T^[FE>IUM7,M=\K<+U*$SMMU#&,'J8Z+ M,G+RU(K03047\%I0>#-+ CKIIL(5M-#?BEC%\#AX=8QL:S++;M#%J\5JM?"L M$BU!T,@I1'(WO2X8*A1S)$49%CEUL!6 $(!RQ+,!*I:<+@=$%JN8T#0NJ"_ M85$,?3WXSD5OCCG+'*)'"!7A?0I\$3AZ=R:^\? 2W%[UBN?\:R'0SRR^1BL@ M&6H(97TRF!5<827XY'.F0&0Q@[ :/NO0EL) ]#S 8&A$HQ$C],'"11)6=0^ M4R.R;Q)YY0 GP.(P0\*1'^!KL+#9 @@9L"C((V9(IO(5@I8*L^"D?TLCSG9QAX M"CY%$\Y+HA%NFI"","%/DE0C>K/U"I.,\%W(89REP"!1K2A1$FPB-AH4 8;H M$7UD &U#[KA,,39&R8R*P$HCDX;2 JD2+3!YS.<)N%#X)#(\9X!0 ZP#7Z09 M_(;,3/@&ZKB&5 &RXY*MG2E7.&E M?H=%:$YW\A@5@GH(5#0X:0QQ1R,25"/F'FV.WU:P?=5$=Z& M>K,W(LP6.A%>?5'GM3OE*VR:)G@VZ=8KREK]]7]/Y4]_W:A+6_EW(4M'=,XO MIZ!4KB[9#-CN)8MNV#K]X:>ZF00;N0']OA,?@]%]'VN!(:Z^I;F2V0P$R[D& MS(/$AQ"<8 HG=4A@5,(CRU1P7/Y:3:>BPI.4P# JXM(H/@'B!4K\?S;'QM3O MNI(-,1PO440Q!\9E!A)4R LJO115&2HRGBZ2"&W#NZW@*ICD9-!TY94J' MDFTQ,TF(.)- (K6SN@@/.LD$'EG"B%BHL(N%B1 M3BE&1F5CO 7M/X1N81]@\) #%5"- _@B(BBJ\PG,$\U 'H4Q^B IUV"U6ND# M[NG/OE'&^&B]]&:Q>Z-W$8RW[ATNVOSAK\Z;^I[&EDQ!RB(FA4Y,&7L!-C#F M,X%"7VX]:+-+V2R]Q4(O@> $5Y?*P*-8 #FUQZUWA]!!*3*N*!=!A#Q]2>*A M!E96WKL%,_@@29FU#M'O#43I.[ ENIU_UK9#JNGCC8DP8W,-=N>N?8\C8K=W MU;CG_2@9+2+$.@4Y.!+L0G[P6S" M'I;KOS3L"M_B\9H6KFP*ITF@XA?:"P3/89D4V\K@U$7X=\V=HPYBHU>EMV'V M>DG9[RI*#]/TE75>JTR!TOMN-6_]<)X_!6[]I7(TX'7M:,!AF?:7'8XL-/+N MQL.E3J4\&WJP\$W!I$^ES]W*EC*#(;+*Q@H$YCGMPKE.N>\24?ZI6-J%%I09 M"W#[W8!XS2'H 6E^4=G-T8^LS:$5C,I@R)LTG%(^L+5&O_!YF07^AOKQ6@+&_,< MF"%G^!I&9"(^"07P"8/! MU+@@NF/ 5]H'/JP"J.4(9@F>VU#I*3!*7&5'(\$T:R]YMDAHCYL%%(&K]'VQ M+TD;VW3L2_+IN@QVJS\7N01*GH8%(^#N%ZH:S&_1P1&,VD%8$HFG8D*!Z0OU MPY1G-YS'&^Q3)OD")N6:Q&VILP3ZP Q.H9+T.B- :TQKBR2Q^+K@*GPO*%9; M@33[=_I;3 KKS"P^4#B4YK#*;]X7SYGQL! U@E6?'XDOZ>??04.DH0BTF_E? ME8]XB 4@C]B-3A JNTVY=,K?A-Q\@(E!C( M5)KD-LZF27)E %5I&Q=I*7-P M5%TN55!QZ,/XKC[G3Z[AT(JF^C;?[B]U6 M(NI.4X5H4?:)#FC1R3S2WK@#MB#O9+E$4['-(4'C@J?G]<'A@GLJN\+&%M%) M&K$L7!(1@TK"]S856ZE8]:,O=T'L8!M>]:J,_J&3_X#?B*U2_M+\\0H$,&P?_:4+ULU8(DXDW&/JH$_25>#VQ5A<>J8N-2PSJ MM_[8FXQZ6W_N>/X]?QOT^O=Z\RY@_8XW[(\LL!;8X6#[S]5AOU,FXKL%/_9X M='+KT8:K9P$>V9"MNFGUE>S,!V5?WJ%](6_"V)BME:G. #5OR#+4,/",#%6Y M6;E'H?V6HQ1=G1U8:J<5[XZYQ@MYG;ONY!TE9KN/(:R[(>^4,/<6W3&9MH0M M3PFSG[A$J-CAE&C7/T4M>D%9F"2',<+4I:-A*SJ8IK&=OM@'WR=1+.O6$>MG M+%1P!A4'CJATP&CD]OI'6#S@B"IS6(9OT]J0X7L#R_"6X<^%X2VO/X#7=ZIF MNRO?MX\Y:).@^^KL6.00N/[Q86%&O]X]V# MD.@0:WV@?W"$:^/GIH]- #W'BAN* M1QPZ#W2$ C)P)WMGLNU.^[,3R>_MF\NV1'IF(HU[OB51NTGD#_?>$CJ&(R-/ MXA$<8;I@>V46FR+87U9&[J@WL.%GNZG4ZP"5QI9*[:;2A=]S.YV>S1.TET+] MKO?L]#E"K^ .=VC4KW]$!QWW)<,11:2GQEH7?L<= M]_%CF8Z45]D\7.O7U M@MI['SH!UFHQVG8RL]/9=]/%;O8_=[ [[.Y_&<22Y_ED:-C;]Y:[)=*SGVX> M=[S!V3: MQK0'()*]J=-R(MG,4,L)U+$WJ[N_A\7ZQ:A^[=:\D_)FK:(GU;"L:YP^[Q1KT/HLR! V(KEU8N[TP9N/YX MCRU6*QA6,,Y!,"A/>[P'^(Y9,.^1PGU\(6T?1U[X_F2? IJ'98B6)'Y_HB;Q M?[U?5WHU&+9WMLWMV]C5_*A:L%M@;7/[MC?*_2*^V=;VMK7]\V2$VM/:_I1Z MB-N^]K:O?=LP>QQ][8\,J;:IO6UJ;UL>;\W>C=Q^]YB.9[?O[(/E^*/B^/[8 M'?6/L-V;Y7C+\?=:V]@=CH[I2$'[^/UD3K[1DV\6VM7_T\W7[ M[(JV6EBW'.CN=-Q!_S"]GBV9=B;3I.?Z'5M0ON54@N"W-[)$:C>1QMYA^@(> MX>'[(\Q%_F([VS^=8S]TQ^/.\?GVK;E#;7EK.V\-W&'?\I;EK2>I)=RUK&59 MZTF.?7A'N-EE"T_<)Q'6)K_^73R'[^#=>.XZDJ>7P_ M__>\@T.(X$=#&\&WFTA#=]*S1&HYD0;]PZ19+(EV5W;>89I?VDS8<6S;=^B$V!'*B.^[@\F^.7U[Y."YM\?<7M\2J>5$ZKK=P3U['UHB M/1N1^MYAZKL=H5-PA(F#7WC,)8O(+6#A4L0BS;"#W?7]6OF>M__<[[K]H3V4 MT7(J#3K8/MY2J=U4NABY@][^-90M@9Z-0/Y@G_:W-E-P>^&CECL'7Y,,7 /= MTS:>.[K3V:&S!L>[9[@E?>VCJFO?UIVE[R/1=^AVQ_ON3UCZ'@U]+_KNJ+^' MJV))>SRD'7G=5A'V"!V@.SR_UE?LKG=SF\ED:=RA)#[X[:+C%;8ME33Z[G#0 MKK8YEK2/53.SXP[[]RYO;&G;8MH.W,GXF"[X6M8Z&M:Z& SW\;^>@;)'>)SU M"(^J?,P67!:M4G3:Z87KQ/S@=[A:+45;MJ7<2!>^V^ONX2!9 CW[ M(>..?\\DGB72\Z7B!CUO]-Q29),R!TS*3/DLD?SAS5:M&[X5X;UCNM-FP[NC MX:L+WW):VCW3'NNMV.GVK-RQO/4DVN>/U6J4V;%[H.43ZDTRN12J2 MV &?[^$NWWG'2@.W-]KWL+(-:)^92#UW/#[,_0M+I-WO!+K]2=\2J=U$ZHV] MPV@[FQUZ5J_H5YXYF!EZBB30CAZF;57\1*AIB]!MVZUV>_U[AR7'W"G8RH65 MB[O"]8$['EC!L()A!6.CUKX[\(^I$.7I".8]TJ>/+Z3MX\B+X?#^B=7GYH>6 MY%RWMK;7+_:[W@@[QJ^25."]@9>21U1AX95IG4U]LRLO:D1VRE?8%-"69[=? M45CX*S6(+D"C[ZO_+J09>L7F_'(J.;NZ9+.,RY?:@ L17RY ?V^ M$U='8W(. Q(#=.L2\'N>9F*V?CIBTH@O10;3!7?KPVZUJ(.$N<).;8[@9_F>$_2R9BQXB++O.5.HET MF(."N\*'KYD428X#A#"8% #KS8)+[MS 3.H@!;!'BO=]<<@55A.- ^["4R)8 MX%,1F_((H'+^XW^-N]W.*X.HE#[[KSSGZX(#0%&4W. P)!]Z( 0'1I45/!?P M8@V2X@<8GE6ZJ"+D&5U';GP5MP,RF!1>$$E(BX/O,QZ^K/-F,U<.MC&E@KR0 M2M)C ;8G7J7\I?GC52C25<36+T5,]*.77NGAM2CC#!MJC"94/VOAFDP\<)-1 MOG2N1D^L1<\CT=O0R>JW_L#K=+?_W/'\>_XVZ'7O]>9=P/J^-^R-++ 6V&%_ M-X .TZ#ZCHW1%K:A_KJ0G#L?X+E%ZKR+0QXZ_Y6#>>AUW$,U^]ZS4?MQX+G; MZ?9:TIK^3N?Z^##[8Z5SG\7P$_%NUV+V67GW,*;KA#![ 1%-MH" !:*#U'7X MMX##BLK ('UQ=J>@/O.,B>@I3CP]>-N_=;@ZC<;;6TJS#MU.;]].K?;>83BTNV[G8EM,=5R*O5\;U_#\S@T.KQ2LPRRDQCWW-YD MW^L45HR?6XP[9RO&YY"^>O/IEY\^L#B?L2#+L6.IO;NW_XVCCCL>V2"K[50Z MW]Y)ED%V8I AA!6V-%O+J=3M[-T7]53$^!QR)3^+F,6![7>V/^:&V/? 1E/M M)M)X[^VG4PFF+'_L5@:DT]]W*\ *\7-KVKUK%YR*$)]#1H3*7=OP:6^\3=R! MK;O2=B+Y76_?9JNG$CU9!MD%9R.W-S@,AU@B[:YJO(\(IEZRHG=?:Y+-"V$X#/40YC/P2U1?J:,3,">] _WH+CCT"@(PJEGUAL MV\>=6'GXU"JV/#5S'H).3Y()M$;,&K'=C5AO8/6$-6)MY$YKQ([1B-U=;,J6 ML[%%5RRPMIS-UIH QW7M_XOX9HO9/#F6;3&;)S/=MIC-T_.N+69CB]D<%69M M,1M;S,:6C6@^ANB[_>YACMG;8P#[E(VPQ6RL5CH;K=0?NZ/!80JE6*VTCU:R M%[1.]X*6+6;SR*Y6QYUT#G,IR%)I'Z6V[ZG84[GS81ED)]^D[XY[A[D69*FT M3S&;PQ0<.KP8GT/ZRA:S>92J7 /?IGY:3B6_?[850RV#[%9]T>T,;:ZDY53J M=LY6C,\A5V*+V=S;OO7<[O P$;>ETA[5;/:]\'\JT93ECQU+0HQLG>Z6$VEX MMD)\#BD16\WFG@[(V.UU#E-EP5)I=RKY]@2,99 [\V3NP(IQVZDTL2=&;#T; M6PK E@)XUHK=H16;.>*-GYW6TF;)UH$C?A20/ H@KNIWU676.FR='H@#B08/.=C[#!G MS9F\3(#FE_B7,V6I2%USFSN%/Y8,7@V=6<2 V^C(HI,MN)/R((E#YX^9/#>=.TL62 3?#Q9BL#!UT0FDCBM0I EER'+^,;\ MCH@#R5FJQOG+V!LY@(D(7G82Z0R\\8_X* L6"-5?('+R^N8!SW&^ I@;RS/C M.0G.G(IOETM U,),>\-2)Y0"YL;Y -),BFE.P#HSF2QIY9+C[6N'!7_D(E4K M@>7/4I[A2R'7,PB$<H5W'S$O/LF23,D=RMX6*E1 ])MKF71 M$G_+XV#!XCE\<2. VLSQO>Z/)3/0+7L._Y><.\00J<.+*C)JCE['51R.S*0D M@"TYWL4720AL#[,@AWG.+6"29B9WYA*0@&Q=X5H7^7KL=7ZLLC78JD'!]T&R M7#$)H&7)+2B4$'8+(0Q!@N"Q!CY.J(#> M(+WB-3(>J@#D22>-\*%250#=?&^"# E,@<"O"'AGELB[=.UW6*'"DZ^S\H$, M5DCT;YQJ)B2\M6#1K)BFKH-!<@I>+'ET,/0FQ==HLUW0URE@ @B#6'@+F(V2U1*6[!U20IP: MB+(*8EB"Z/!O*QZG,&U)=N3%CC>L*4Z_#QX!2L-?>EZO8,>]M#MPX5UB59&I MMZ4OU" T?*=U!6 KTCI+CLP21EN4_E^JH@8Z'#W^T"P2/)K;2W3TZKI>DTM4 M:B&4 \)2U2DBGVC#H( *P:6C$_ ?;+EZ]1:F!P/",A#SM'&2._TNFF(E!4B6 M*">I6N =0O7\<:%?.$+?^F6RH1D M>07+ Z+UN[WU(5VR#SGRUW3;[=\=P1<.-8N!MOW?'(L((Q?:+"TB!J\WW#) M&TRU&:5"7W@]3>*81S1[#&RDOJ]*_RE(VB\\!LVA5ODZ!%TGTDS2^@XK<%6X M6 VN)@M)COY?>IU*T&RL1),_V27CXH_JCR-#;3,;"&'%:CC?L1H@S#!9A.8/ M V8%298$5Y=3@A<%"=:@-(-9SQTY@OE>V$!1&* LE$YKOPLF=BN_:M3#0R,L M7[Q*5(ST4BFO:ZZK%JL\5?5%G9WKE*^P:9I$>7;[%<5'?_W?4_G37^N 5/]= M2#/T"M3#Y116<'7)9D"ZERRZ8>OTAY_JD@9BM@']OA.W1&[O%(=&YVC0\3J; M['Y+19(C)$KN:.)6AN-.1:S8$<,I8M^M#$N>"4_FDJT@_ $N4\F?/S?8^134 M(QW8==['L'[^T\4[O;07+LR8'3:C6?')]W,/LDJDKO0*YBXAC.C478%^-0,) M[$28$(2)3=>@RI;JN4(KP9O5V$4-[5="EL*MK]K_TJ](JWS,:\XUF?FJ.JYA M0"MGK=?):R8H!9AUA!/'W,R"JM55L +?83@. _*U=F><60ZNF0[\;U"MHV6A MI6.6"55R6"6-D+>M#T-/)(K(I2+/!,&;,2&=:Q;EY!5A(@L&49%3G(I0^_<. MZ60UWX<\R\$H?$BF(N+5Y):W7=4?D>Q]DLDU+ C6C!D;)8/.5_:M97*W-0;M M(7L@>\]!-U(R;%5;D>:VC'TC*?$K\E;3\WZ#5]/D>-\=I>\%RZ!,T]9AZ54" M\F:!K+%_4 M+1"@.E>_1A"?9RKRU9&4!'HAHH(HIRE8B(Q-L?-)F"2P/(5!^D>2IB\.F_B] M3XCJ;G!C#$O2'(C3W*JE;97(&%'EC'>MNUHHNL_!)B34&1KPM\;MD(&QU82<:[207@,P;E)Y!7^-]!HC#G'(M?F(WE+ 1"Y*H]+*R9 M [\D4T"=&0\)H=PK8'Q0>PH"E5A"P&;@MYM-KP*,REN:= @SK@B3:DX-+?_Q MO\9=?_3*"7(IT?,HD4, :]^CHJ-OA053<)UF0N&E<6B^7$7)FNL,D5EJ(O7G M!H20?<*):A'M=S7F\3*[7]&?#EE$O]DZ^VQS:$?<%" MM3REA.$/Y#@(1DE3*'#(RTN:Y9JV#@9#<_VSC.W++('G?-02I89SX8UJ'D!Y M:<-R0V(SR8"A J'0\#-BZC=0_("3+^BA 2;>(.A:%>FGP:S_=B7QB,QV]7,' MGCB25^5')G58:SNR]942:=0ZX!B[R4D[9:WT@H3#:QD,PKT5)@$H :) ) M8SEK*]59!&(NLCY&5Y96ISI@RHO!/.?]#+WQD >$4\QB+(7)&,M.O^8HZ9%M<1UODA]G,^NJI[!,H I@3YS&&ZT:DG(*#VPK- M!':XQD42D3F#6!)7\+I0E.B55-);^)R66R,M*A%DE@)@2L5(*)(X9,K1WNM3 M5:FV%7A$%(;.0:Y1^;G%TZ5O54I_NDXS#LI2Y^PQS9J03EVB9:S-E<'[X,\0 M6B'))E2&SSTG"^H*#.:PE*6S#7^0!(2Z[A#U*C^,T7+J?XW_=@4IB"Z /_)H)$Q?@& MVZN((2\6%HZXL5DK%CDM/-2B#(KF%,GG1L+0A$&4CZ?*Y@G90DF?6@GT]*!+%18=U90)Y""]E[PL\Q764#V%T9+ MP&>(\=-,*W+RD$ _!S2_)+:K\F%A04BH7&)N4!AYE)E5F\"UZ:6"[FA/0P R M+0^=-KY0<7=1TB*>E2P'WC:XZX$.*!0B@#VB<+>A"Z>SXF0!B@MGPW/:F7F\ M.\1P*5? M.'=^38"<8Z.$$?.8:"=IH2/PE*JH:"-4SRKYM=U/@)6B!Q G9*]0*^$RR-7, M<>JJJ)E5/4:.N6E3SFY+MDIRMB8GF[-&Y/G\C+'M\>F!K^2HX$$U_H19FF.G2MY%2ZM)*(H8_0:0QI>[H*(]C8E'G=%]&A./P$$>]9ZD(^W] M1KVS(RTX[[VGZ:+\1,"VKGWNY$2ZYY("/H(.ND?6SO&A[7.?I?_H\>&T>R@. MG7R?9,>'T%K/T?/K+XH[R2J9;W*+TW4E8X1AXC7E%6RSOW-O]@?Q\&!T_ 7L M+=,=$]/Y [?7[1Z.Z_%0Y9XX"(QEN&.BN'Z;M<_#+^=E>MOU/YT73DT8SU_ZX05@NCWW'Y_M+LD M6J_?,MP#-7]OTCD(OYV#P_].[>XG,SQPIHX-T1D2Z*6= M;3WEO=??%G'>LNGF=]S!8(_0?M_UMSS:L'Q\&GP\<(>#_A'557XN,3J'( J/ M.;JW+\I<3/EP9GM]MS<\ M3#?9LPF>MAD"ND+^,!/P.&YF<_^$'8]$MDV(']<#?1AJVB+\6XZ*]H>N/QH> MK7OZ(-H<1P!H)?,L)=,?=-R./[:2N;: 2$M4*7ZIVKU^MZU5 L;WG^476PN?!@LLG)J^P$(H=#-:J 6*)4+,=9X< M2!>IVG6Z@((IUYZ>1EW&]\4)T=>WS@D=@H6]#1Z^ZR1KM6AA0Y'$LC*_Y#,D M8JKJL91UDO#17X$V7U:Z= 3+]%U^-2ES5FRMRM_,J,3TN%X2)5;5D=3.2D E M@$*O**]6JU:D0:U(F@$3F92JDQ3-?\R5:( \J<@,E4K2Q12 1P5BAF;?MSM(^>S+TS\7!MW8S=-,!O9VZ8?2H> Y61>S7:MAH M)M=5A[ R9[6Z2J7V7-&H(DUSJD8$3)0"CW!=3R6.=;%.*G6 8H?U$F^HM@F) MB)J_4]'Q1FE72CBJLJ%OOKOD:N'1.YN ."Q*DU*4*Y*YM;PN2L%;]NW;]\KI M[EKT<="VHH];9:/Y0O_'V>SR;[JVVQ>J[?9:2CPII(K(46W(LAAA*[7!W7V# MOF%),U4#%PO7J"(7:;Y:);):@2/3]9OU ZHJCZZ^1)5(32T>_4" O.]NE-D* M$W@:Z_.H-B$QUI"97=9+Y[$J>G5)F"M!PJJL!4K*%"OKID&4H)BH$AU?WKUQ M9&Y:;^PR$^G[BA@45%2UR K6!R;IX$44U/^5 FXKG9%Y;X+?RLJ.FA0B1(0 M]OM+S;AM4G.GC'RF[G)@>E^'R8HT'U#@/:A*^/-U$)CB:9]D$L/? 3]242F6 M*=325#,*O>)RF:O:,JDD5S-8US\J!GL/"]8E>SSGGV"! M,ZIY?:VJH/Z3"A"JSV^55B"'[O4TR3/=0,GY+-*KXV.YS2J%A;NSPN9DIF!E MK?8%ZE3ETF!-QVM-]5Z('P+PZ8P#1E6E(FP*B"T3 M,HYE$2L]HJA<'CA3:@A3% VE4!:].BJK\9SW<5$UU&T6+QHR-E4&JV6"9:W< MGL).99FJDCLAX79[VQK4*Q!:2N4X003A5 9!1/DR.IEI)A%EDM=J&DL^SZ-* MS6)=G53CXL+D=0([_2I6] M+8O)BAC+,1*FCRQ\:]:./VN!>V,$[ITYV/X9';*=-5^GO9I/I%6==DO#%"?Y M*^7]2()K>DJ5_"8W%Y-AOWW9K!+>-#2-J%O8;8YH=*NN< W: P(IP;#29*T^ M5N$H4RBH' +4(#'321,]&\9V2A? @THO_^9]\<"9C2)L0_E][:9S?HJJMW3: M=8(+H9)\U(=.UV!$)5IJ+X.!VNV(S>K89C[ ::"EJL!8I<;FQ@I,K??; MYX^N\S<):Z%:VJHN)!75A(6O>)JD12'.& Q$KEQ*K+\)9,A7'"'ZUX(K*Z*J MF )[I(*JD]9Y!VM)4]%6$/E@4>O,@^W!5/%052VR)(,PK6UM<;X]BO.U2H.4 M#29EM:41YN5506 &)A@8=\'#.2?AT@Z4+F"WR4?H:5$^!3QK[-2!EET**G!; M];=*24+N+_H9J1JRL4-NEF[M6>/O.=;;S6HBTV0[MYY8>2ZT@AR[]28AMUJ+ M%ZT-1)PG.:GN0[H!\*KIX=7R+K'?V7;8O;&V,AQ*^3C M<:71#>4UGQ7X?1I.=Q_"<^HK@:D!X(3UJNWR"_Q ,?+7G/; MG!H&+@^( HHJAD\=# =;V ]E^.S%8_JN3R1M=C3==G'D[;LV"YV?+CKTNRX'L1UJ0+SM)[+81V5 MG9I$;V3"QE[GCDR8/^Q6Q+AE2;SQG4D\?S"I.*PVB],?,C(_@"3-@>1QB@&3^*:K3G5$[6 M.[.9S-; =CA_SF^3/U?=(K;^W-%9T$?PY[HMRVSNDTZR[-@N=K2;LD=\9)_% M+%ICW^B4Q^@_7NM#UH51<94L Y1<1G3#&3XH4J><=)>>EGIBZ^T _$!W2!E@IG9 [7W0=B)\FEYI"&H@Q_Y$SJ"[>8 MA3MZ9BBNXRH"(&+IV#7=FVBXSJ%NF;D.B[ ]Z7SAX)UD.L?U9' MP5TG6Z^0ME1= F0<(-ER(:)D43HOSI'_\!).#%C%%5-!"[R]QN?ZFD']T/D# MKG3VC_1*9Q\W#^),)I&2F4\R"7B(M^/:O+O3O*IWBMYZ&Z.\C'J,*]Q2P G4 M5LGDKKH/KVZD8OTJL2I6CPKNS4+PF?/N&P]RNI[[<383 >@U*IM O_UX7N I]5[/ZL+ZA^.(%/JR]'ETZ4_D75/(I2*ZY5)66L@6L0EL' MJM*#91H\YV]4JPGP3JOE!1>Z]Z6"LEQXV18O;(5T<\V]#21-9Y3DCD2A;;J" MHD@*"<84[Q_/7?52.\!XW6 6R*LT'M.M4TFS2L!6R(,>8L.P!4P!Y@$_)E MKFXIZM)'RSP&^Z6O+28;(EQ>[[ZWR"*KXX[O2@JT=FA]HRBY,30"=U>DY)9) M/F=$ZA(=)CN_6>&_*:][O5ZF]$N.099] M\^ZCXHZ?/[HH]>#"+I7B!N$@/3+EX$+'M>6>'B-)Y:BKE*./05@2LVF$GN05LJJZ)UI_P=T/VB-DX_!2I6ACB M6JMY%"GF*01R\PC9?6.98PD-5(5-!+C-X54I"B6(*F QH-HR0 M!!5BH@,_"]0@,;ANJB)4@7P:=\J+"F:5.H ZTR D'2%*P4-2>02S)&$8/JHP M/.9IHF@#^I10SVN.?0%!%=,&J9LXK0Y)E8,4L3'YH,MGS135@2=G6*K*K2C- MD&>DL3SG*R4PML!-7IKV'[ 8CC#%!G[/P[FJ0R3BP@Q?+MF5BIEC1-^,Y1&F M8Q2NX27:F0N3FU@M, %_0II$C")P*I8K\$N(=U$&E@(6<\6!;XLR&W@*K(8G M))20X)H@ZQMO%E<$VD.$.4@)"Q2!TT25.TTI 3==4T71W%SBS6X2FC*AJ#E9 M*?\(GJK$WBA^DMB_QL$IH;'*JO':,&F5K.A$T4UOILOP44F#?(4'ZW3-!R3R M25>&^A(48!_'7"=00S M^;HV!2RH"%3HS!. 4SN%R&>K!&OHH,;1684PF*30]]E!687@ MDZ'_5J%UQ617R]WHNG AGZ,U5D?V5I&@E5!(B/DP=>Q.5IU_G ]Y&B(&5%:[ MRR7)\67I:F^J1^# LC"6N9]>\"?)%TVNF!E)@8H0_7 C84>P@[Y/.FCT0^OW MW;%P )<';M'6@]S=[>:Y,XOL$ $R1JD<# M4Y!G0$IPBNKF.HFNE8)%LSDOBV '$1-++!XB4N4D9B;Q5*D:I(/V&(/\J+%V MVHWR;NJY;T8&A8(-U/@FX' B0ORJ0/Q&R9_*6%A;EAL+MO$^Z+LYZOH8=6%M MO'+7(T]-^4L.>MMD!@ C4XEHRRH/HI]'MJ2"(&4VRM2ZB]EVQ)(^8XUSN50U MC<\P5907GG)1"YRV5- 28$;?5+,- +$3^0!MTY98K5FX%J7KJZZKI)=RE MZM![RK,L4KX-.;184@Z'T3Y1Q?4Q?G1:*2VGMZ3NO[G0ZQW=YH+CO_:?Q;)7I5 0H;Y&?2-XW+H(F@(: ];\2'#+=6H$)2B$&(U2Z)K?24I"DOR>RU@V3:1 MCEE "^=9H=7(Z2-5I&)**KAF]E-!!'"5(()3'B4W6H"W#%^KN)I]'X\& A+@ M6.WSI91_94$MK-DZ([X-JB)5&OXJAO )L:4TG\GFEB8 U@#NO%+H8EEH\*+( M%-,;Q1AY:6-R7$4@OZPXI3ZHW.WG(NW[L^;3?V@^_5+P:1LJ12KK\CUF43O$ MF [*TR(JQ;3&#C+X!Q:KG8DB_DWK7 X6?Z;+5>M?%2?!C'FL_E0,2%]4^4\) M:J0CG,KQ U;Z!\;TE*<0\M2M\9A;25H5\9XI1VI,9<4!4JIBBBP)(5V>XL8^ MP_3O$29!O]!^$Z'^N.W&QPI!,9=1T?MQ#KX7UF2[TP"LDQP/0) 5T+DU1[>1 M*9N*B)KC0GM LSRBW1ZC>RN*&MRO&'>'Z^=C&N9>LJOMLQ#8Z])X5+S.=*?# MT$-[>N]13N_]BQOE4NF\HL[,E$=J0),"I=?5[+3*Y4BV$B'63<3H2U$Y!+QC M'*&J;B(3I'C$!YT-$6"5TBPI3],@1YAS,S*A6OQII1JV/EM7>!#&^E)*C2*Q MA&H38Q8E":Z0DX/=MBHMLST:L^F ,Z=-#.(% MDPF,3.*72#27R0UXB&B@*5^*T9,^EH+I4OK5U6=5\HBAA6?DY_%O*Y651R4) M2YGS9 YL"F.DABF5K8-H&3M( /G C$-D8F^DCG+75)6-)=2CWI<#U45)3[9:Z4ACMU1!&[.GB;6?2I^;*U^BS;F.$[E'R M8L\;5ZTGF"H,",.:.L$.:5&2ZEXRNKSNFC.ILHEF5SI1;U<>S$.IL$O&( MSF(9O6D*(8/10\LJ5,I(55? =&2A-=$."DHNZ*KB.AUGE=8S*BWTG(T#HF+, M)1(!HQ1=Y1[(\]L5VA].YR8+S6,@P@ M93&+E);=09#JM0L&NJN(]D<:=7WI@QN=3M<4E'-4N,R6^(?R/]!):'(VC&-1 M]N&,DL#4LBENJKP&[Z%@(SRG 3H_KCV14$T;E?Q'9[?8G+A)9!16#S^]RR7M MN21TODGFJ]K&EFZNHYH'*9_C^SFE)W$V+$<^15B%V6TZO(;[3-3J-Q,[]\6Q M='@<.KQE2PQ?]G"?Z7KG&3&J0(YEF)G)L=5;Y5"RQYEQF./98_KO-_0 M#30)"PUT<"'5^?5GKV==]MH FB)EFR*5_I)8[&Y<]F7M=7G6\^2$([ZJJ*NM M(%7B=I^M=NU074\F3XZ%_DU54VW'<@ARW(OY]0'#>UC@[&2"'\VBL4R]*ZM( MNJLOJ?&G/NC13'[ E@([:AR12J"D" 2;TI=-U9*6GK1OL./WI@P.PVY?MX?R ME'5ZT G^*EJ$O,CW@TD$ ?)2;JZ:\'"72#+NRN&J+>R?-&^S_#B5%)L"LM*_ MDB_V7I;@\2 B'PVV\;1A?IT-(UV5!X#0-U>_E1#]W=*'JP^)2>#D\J8J&#TN M,'5Q,0 X-81KR'J0SCQ)YMR"$&?U'JMI8&="1$ #%['V.1C,#]=>#Z(&=-Y M1"B<-FE[H?0TQY36IAE,AC1]%8(\]SV/,&(01R,@3'BBNA+?58LJ-PYKY(V5 M=GRJ+PR7BH!'I^/K 7?CCXW"XU=]NQUN1,R:^A,(G;B!5CHW,+5=7)M96 SM[;FNVIKI M6L(J4 G&%F7375Z@+3HG1AC16^1)1^);]][@^>_[!IS8\PJQN]>ESC5CD&?/@*T'IF"E0T/]^,)WDCZA*W!0OIKT82"+DJG5IWYDNVZ3!1ET8B2)>PZF/=1W ?4;G9S7R6=(_(LK!,%N.73/B9LE2#2V_1&2Y);QP= MYZL7T69E.K5" -@A?*1&XET9G(<-5TN3]24M6;P0PC(B[IC5ZXI^8R^*TKE+ ML#')P'0](T#- >YC@#'U>,GP6=*-NK>NJ3)_2=KA[.90XYI55>/H#DH'0$7] ML-XM-MFUP0_E@V_HCYTVX>?2&K[XND3\0,\HSVHDB'K[":D%'5^TF=8LTEU= MQS(R.]-/<7^ C7-'H_!56/MC4ZZ>A3NNT$D<-GT_&P6-"SRK @T+$K#4H'A- M#2K>(8T== RR:KL]FM57P17I9HE;\1[X9.%Q%:@?@TF9A2)=!SW:FP[F6GA3 MUQ,<@(D)W#.!/L0Z37#!XI+"(>+\TM5'[ .Q#XM6X819B,"D$96B-# MN.5.>;__&NGRO^4KTCC),9[NH3N8'[([Q/RP8;:.$5NP4)I]ZP/DR? M_]L$_PU>$!I*[%$B=R3S,VM-H[WF'E.GSL9 KI2MA!TC;YRWBQQ9+^T'\/G" M>3:R(4;/CJPRY8%, )U=?/^BW-"BGCEMBZ@@64W:,$$L8%?5=N@7!CB:]5_2 MS7.C;OO4=7[D_3S'VV#$&W K-BR\)>3-I*R>E&^YFE8:AHH9::PK[R(,G?+% M9E,?1!WZJ:_"6Y.Y@]Q]]5:2O V10Y/-O[4KP[) F0_L(-)WMM*^LSCIU+*S MR7ME'YE=2&,:?FB8,/@49R!,I)_4;0@-\2_$-H]S&=S?)_['[2=X7#3!%W+R M&3A1*@;ADHJ L5 A>)MU78*-YL:@2^3:=",X@+,5!B[210[RKPAU]L"*8.Y+ MM&_FM<8E2R.M*&AP!!O]3(OF>R)*"!8T8C00ETN^<<7T)KWA/=*M.;FC,O)0 M,05DF,)*[)8EH4>#!^%6$BYBKL785+K1T8C<79L+%&R]PL*1'R%2AUB9EO4N M,^!O>=>4/!E$=+8J0T.I$(3(!1MF3EY6>DZ]'6* C,?!O/HAG:*,-U;P#HB% M]#>&&#ZN@RPA 6'SDL3/="UE^MS7Y5N9!>G%CURBX(DBGBYALE#'.%P<-LI6 M;E\-[$>')8D.$_HT0DTZ=K>C<9/:CRCEOPSU<_+39#[)BAHW2-V+-K34[)N?EG=M8% M=P&<[WY>;$;2$\#S3=[>N&-YE(]_S;\(&]UZX&5B"#2-[Y3$XD\=2FH;L+LQE3W^>I+9AHE=24FW&F:EKJ4V7F*)Q,M"RQQ M!E 3O\NXYGU%E'D@QJ7CZ?\?P[GT.OS][V57@S&&?U92XJ0L.RZAZ[=/B)M? MK.+U@=;K_RV[\IJ<]1==..*J/..+TG_0MG0K!U3!197C[W_-@W^QR9$0N^$C M&,O.9P3"3VMJO>?HU1__V]8M2>JSKZ:U=PIU2B'!%)NB3D'2U;6JR4?IC=.3 MV!6SU)5==&07S6H?9B*7&!7758) R3*R,8L[D1[2W <..F[PR)GZ#H1@ 2>4 M\OH2]2_=KM""HA E"E6KL4Q-&2G# PN[JS@U%-]8WC0:31FC:'K=B?-NA].P MEEELW9R-G09DDX$1BD2D"03M::1?QV,59RB'; 7; K,=[GO9>BEKO(" MTC8P]#=MC W\'815'?62? -P!V>?N#"BZNK/%EY>,\FL4,QG4-I=J)[CJ1SYV6#KSJ<)EHPXW16V,N 'XF'3O%'7("FNW"Z%&7MAV(R@N-Z<1<:$)^>/=EC'*>0UE'CIM&Z3/@VT0XGQ+P!/D@C9B_W]<'CGC0XRS M$Q????TOP0:,E'_&RN+$NT0]6,.V<_N%'*HP%&Z-YUE-IH=PD6T50F+. QW+ MG&/_Z(:9&F+W.@X-.Z5F$&]EH":)&VY-'@8W.U7XG?!:BO\L&.-F["^Q2-7FR8UA;Z7L=(W[JDB M5,BK55UA@X9J$5E@&!O4LD14)AZ+O('(DU_^V<2T[(1PS@T",0RV$5,YE!P M]#57/RJ&A8=-?5I3,_(/9?7SWRW(CWT7\N;JX"@[PL,O[/X1CA92)IFL5A B MFL-CLU;G>3@4%^^*=ZH=TGJ$66&,3U7^WZ>WW5_$H9@YP%V*ID#:@%G_: R7 MV6VT'=U.-5E7;'1+[X'C3 L+JA""0]H279]KWH-WWWP M[1]5D'#WV _@YX^>'>?16(!G__I>PRTFT"=%W/?"@OS=YTYY5WW_NX8DOWOV MN5,1/_IKBEPLK^_393SQ"<)\:1$PB6L,,%DC)WFID3J9@FDI>;(T M4Z32H5F2Y0N/PF?]&:6RTMR/EF\*RR*> M98!*K@RT0@/T!(O /_FJ>M1;6M!F!3K(:E\VHSQ+V,2ZQ:5*1O@=\]34J^6( ME9PXR9D*GVC/;-15/R&C]B4"FPG%KX/>G2G9)0?:V+ $#[ M<5T#]*, M<9R^['S! )IUHP)347_1)>SBYG5X#T'T:P%\O:@B!^O#<.62+YN0<6@6/(46 M\M.+%9G)_V*I=I!X;%671Z> PAD4D.@:DADNVF,Y>)M!--O)AD%^2[,03_C< M8L]U(ZJADM<7Q08H*I6@,$X@Y;J\95HP3G'!*(R0[<:D^J*9^J31,)CI+L0N M'6F.4_Y@RX43!7L(=D=VJ>X3UZM[4[$&A*@ZN,473,50H:K7,]>3HQ5)IE)7 M4X)O"5]Z4Y;[U3Y7*29&?5G?CDN0F%T5*)+(THWB^$;)*6\3XG!IL$023Z@N MDBX3Z7!O*4QL6;4I;/J>>GI8J-5OR B^2LE2BJ)#^_'QFKS4I1I.0<)!V$V1 MC\L(QR,M+;JE'K0C M5"]A"$\4#/MNI$%X_EDF-0SU95'?[5=U M/C:;JTD8,AT[52=2GQ<4\\1"4*-/(@RGH6QGAGLZMF G8#,CJ-L([76S&#[3 MZ7*IXER22(2J0AY3(>;6^.ICI!MM%R0]H;!M@AF2'-1NKU+0/[[.(J;DQP:> M5O@_>I7_"%5>B*IV\I7T1(V.\)_RQF_"J^5.:;:^CI8L-*E"F\[>?$2A@#:YE>"M1JMJMT(\<,7OJ4##:E"ZE@IZ$ATXO#/=9N M,/UN+/TE7WZ")OK, MFZO%NL@A2,NO@[MD8>1/"@^>VF>QRW0[:GUP;8]$GL5!EF\DI.V"3BJ6]42O M7#LH942?;TO_;M"*Y4LV1?C/:(;8QML!8/LA?=E)MB ,)CO'>G(;[(<#=5+) M GVKEAE^*FG_1_. :.X&BK![TL$+9@91'B6Z73DK8< J]^ M%^YWM6A2GN#^":[_BS!XM?@JB6D6H2X#B%:#LADA0NO*G41+<\%(]7F^*@OY M").#I4Z3@I5^ YXW7:]7EX2.P46'FNP$I>H@8,O / ,KP\Y9R1:N9PD;K"R!$; MUV'#53FW3JMS0PV5?QNK(E>O7'%XTD[&@?%!,2 I4H$O\@17O"[#AM+1!]]^ M# !/%TR-<#B)T.6[XYM,S'3JH$2-4K)MYM1%QUPS*3KTZ_+0&F827M@R_!Y>8 +POC6\@GY+EV;%V?KJ=OW?OYEVI(3AHB:\B:) M4PP%8]939O<0D(_14,B"YYBAW.<=X\S")Z_+;DT>*5!7=N%P@:BG=4A=%ZTE M'&6,?\)A)8(T1SHGFIA.^U'U$@G.0HX"1LVZ]VF#K^@4)BH[*@ X4?0P@;S_ MI4)CC MZ$M/YUZB@%23SRV*%=YW6Y,K;7P7%!Y0A:[C")B8O^0_[8;.I&7)SQ'4<^L\1)VE*!+: 1#\#%2[N6G(OX1Y M<3^^MLJY9 V(X9)+.^0GH'),%2#!F0E,0?9#)\U+!-?L.!3.46'ON9L#""8; MAA"BY@//^"U;1ERV?W9+YSY=D[=ES2VQ+V\@A2M9"YYX]%BFF_KP_A+EK>4< M%ZPJSN;&OX12*6SR/1FG,Y8IH!I#45W27SC9$.T^?)-\UR=T@&ZX 2=+QT J ME$G_=D]W02V#=9(Y(>$7ZOGJ:V_*BE+6V=_U_!'AS A)X &0K#+A64PK?#1FM!M$)9HV(D%I*D3=$*[1E% MEA[3AB$)NL\/?"3["LJZ)DH!96 ?F>UZ ?,@5VW@\%'$9->_X^'[^%&\OTA= MZG&MH1^,-(\1J=$JDO5)#B/CEYKR*DX)%"4FX<3N+4H? I 3:+,;1R3GJ,5* M6C[$0]YRA06C[[_-8'8F?MMNJ14N/4:E9XFK7@GJO8 8NY*$44*7 #XWC)4G MS*.6+I%WS5875^';64H!C2?\3XKG5R]"Q!9.CR0VF3TH^LLR\YDIT*OM&/,/ MMZVZG5:;SJY:BB["6Q64,!/ 4S@4F(M#J?ST<%!^QTF7BQ0/=W1#*AD=&Z1^ M**EMR&,*ZEE"#'*TF]2VH^EIF%U4]X.!C7ROKK8C$E/'(^,U8N ( 6X2-.4F*P%NGU3[#SV@YG+F%GZ& R&6W M?R&B%"HX"@:T=\ECHU:\A>;]"9J-;Y$0I, BFH.VLQ+BD=5-49]F=.-DN;G2 M[?9B0]$S\*/UAF A^\N2V'-6KU^&?[7!2_L[H6=^B-;JM?7P7,2]D(7ELFW[ M0Q^_B=SX3U6X)0?0QT/NR2.]_.[%-ZO7*C/RJMF<9ZNOZ2W#<[P^?Q'^]3*8 MM>N=CL$T?--3)2\U\ETVE]-H-0W&16N,T@^/W=)A< M?BC9*?DE"BF<(<%05C!G<"; 2:H/F?"1LE-M%7!UZDE)3NA!CQ]-#FF=<-\) MXY:W-#?@68VF14%%F&8WN&1I8BM#-.&3K%-".JC#D* ^WR<8^+CHD.Z9W/BP MJI&/R\PRAT#JV /48R<PD8$[$:;\N4) M5)'96@G6T;!'(-%WVRT$W_1S(4L'#N.JA'L6?9 T:":-0-,%B*RVCD1&MJ2+ M>I?>9-V9*>,%8*\#2,.^IB74 )78@)5UD= MT.X4W8+6I<-TZ+J2BDH@K"=V@[K<< <$Z1,Q*B725M[RV+(U[% .>T*43)+> M#[D";3,) +@U@XO$4%%[K,(%[Y%]_X<1Q'U2*)Q=LE(,)NG#S\E(Z6QLER6U:\WR@5^*:TQKR;:A"/!(XR3(]K9>I(Z<-L M=S0;5 VO@2LCSJ+\4@,0S$ 5B]'GJQ6+(DS(HIEP@1XJ.$+![ (2E?QT]4EX M?8I!2GGZ,%043X8K_('@7\)4@@!'V?S:F[/AAAZP9 V#M$M#:L$QY[\PB G" MU)U36NYU6 0N*5B6! R!VRJQ 2BXY]:UNMC;*BQ+.!M@H]FN&U02":U^Y![+ MU9NFO0G/2KDGRKAUM"M*PUWH_.O#;#29]._$83B9&K(CR2LS/#3IX8L@%VDB M]K2(G9+C%2VV1N#0Y MZ866R(1/^CXVP@T.30.6%*V6WF7&<2YW0L"KQS:_OO%O3-X63X_$A;9C"A;6 M01>2KJ#[4O'^XP6<"3'48](J?WQGKQZSRHV6)I_&?:NL5GI$WVUH^&A,!TCZ M:9<'N>&V5.!>MM)?-;MR.[EDVDCK9]JTB62";^O=#VXXA VH-7=%QUZ-/N$< M+4"3$'4S.7J/+XQH+21?Y4O_IPKM4ZW0BA\U%4&<92BQ@N,:P'J:"0=,OC2A M^3/?<*.GQI2N8F[('J<5NJ?Y]NR?[ZI/_DHXCH\K M!',87Q"5Q8$+@TY+MF2M]?5AKJ9WRVR\:S(2;:SI,43N5MX-? !-X[I(P),T MV$WL;*9]I2FT*%7=2ULWCJA(S'DJN+8@.%WGNT76"G7L(@J?_5/TH9T_50J^ M+R?EG"EM73)L$HC0QXA!&17 &6'I68B!IH 02'I"N\> H,TT/3Y)G! 55)8 M5$FJ+-N9E, /_W&5B_GR2;[[G(RS+-UOP>^#N$R;!&O=%GFS7 MC"BL:PUB0T#?MK561;;#3=YIWL1+&"7+\6]CM7E#@AL-TS&W/FZTF![[\TX[ M\[0 ?LL%(,J& %YLRYQ9P2@RT-E&7W&B.87>,\)LD/]^71JQ)K=U4Z&+3#>M M";H/C+,8%'!)>,H90XVD4B M5M'&2EH^-OD8-BVG'W+.$ RMMJ-MZA8T+K0!N=&(\"%]SYV#F8$4F#;'8STX MP&R-\,E.!84]"SD*]W].6=DJ08# MK@QQQNC:$($3:AJ&5V4I: EKD=BG<] MSV[I<^^=+B-Z/]7:98BN[ (IDPJG5[(W>&EO\XWP@/#J#5.SU^2'X;,$MN6< M9?],0D].LS-VM/A)0C*<^=6@V#TQ@[LR%SH$(=&RP9D =E/**4U*7X\U(38E M'9X/0[Z15_%F8$TGT^9-R6+Q@J2 >@C:(K5F/]-%"*NNW2$FL)_MR')5[4CV MHYBN1'DH,>U%^F&B%2-O;[:-5^R.3MN*B&>%5N-JW!%6DFQ<6(E757\%KY-? M,RR&%F>G(PC*5G\ON_:,Y$5T:(S2)3QZ"&Y[]@RZN;5,NM"U&&\12DQHS0FQ M)HO"( M+:T,_]-5_9MOJRET[E,):+#U2BJ'F))H6ZX[-,_PLX'QC:=HK@MM: MQ^KT,%';@7ZO+3Z_1W;?Z:D2&*,7:@5(D(BG(CK_L"9GAR^S/C#4<:4[C;!Q M\.8HH:GSQ'Q*_]S?CQ84' K\])L4>Y%(6Z:((D>YR"L\L_6;]FQ;I[^NYYD] MRI;,3K0S"JSTY@"6OQ"X\(;1.L2# _D?8,P24CYZB,'C1#8$X13/0:A*DN%R1Q#=>LL'H^=\(_S MZ"'8X35H7*#BZW MUL*D)3&M%#NI[@R).R 2\:_-A@VOM>#NR&!)[\N(PF-D M^,^<&Y0=\8-N.8+=7"8TE289 Y357GM'P"4MW='^O&F[^994W1W>A8V-:X37 MHJAS3T/US_32%D7/5%V##U@$X>+MX*"_8L;Y2N7#1G\%M M<#=KF-#Q2>V%\,K2I*RP:O9&K-5J-I28R1O.?"NIZW$H0%U@#(F,CF!+%V= M.AWT9XU#X3N*5@!-65A&I1<=X:T(K^F,O*9#[ J_[9A?/'Z%2&]@J=-E=\GM M(VNUQ!N+3K&PF<',GA N]T"X/*JM PUO09C.'-:BW(*0D[@(QTMQ[Z9A>VX' MZG;BA4CP?]P!+(]\MDV# [XOF=ZV0PN$GB3&W[KZBVRB8QN--Z=NWZ6CZ(C1 MX$.2CHYP8!?EP#5M:#0UW Y=,.ZW:HL%_\R-AAW8GJ&/0,*:A"6'(?4 IJ[# MW&\0'T&84E.9M-G5?4 MMTLK\]+Y,"Z7XTH]W+EB=!<"38C=1)[^&P!%WZTD/>]90D0^X1Q+'$%YSR+I MTY/VH+0W2.^1M)V7@B'46=@F*7B8B)0V(3<]. G)R@1/S1;Y M47]6[TV_T&]S,YU(YR4,CEM[-+649RKD)<_J=8NHDTV^[CI.B3CP4A2,H$X3 MUJ<^LW^"'.D\L,/J]F9A7GMF7,*3TM'E- !4JIK(0"6BM5#WQ!?*;L<6AB&\ M6>2%: Y\F[(3-:R6>D"(&%D?/^\98G909!KL3$)%274H$E"(LM8.O"SL'3!. MML=&.;#*MQNF(;>7F2R2_+(TTRC6#ZFAK2>%Y*R<_H[(_383^8[@U.^J<>S>&TQ,4E'X7WK2?&IP&)]9R9'-25J*9]ZJ0G& MXL?H,!BV@8VS>E:9&I.VBT65-"[7DR+BWD&VYO>8<\ON-E_^1)H4.YY,V>_= MO0Z1A8\AA0XJ9M,1F^R5"=F594*ZP=S&C+D4 M[:_RL(J,H#BHDK49BWNN?.YU&7EQLQGIR&7P$:RFQJ!ZQUS4=!6**;@((:D0 MC:?C/M#;F\E>TZDR,MQO^>6=XSV_SC1>\2ZD..1LOVD%V%EMMCR3_D+QUZ31 MW:\2^2P3NC7T!D9FY,Q^*UV(_55./GF>( >D6X"*_X[V327'18VGI M3Q[GJ+X[QZ>[KBN5 +5F-UK8#2TT/QP99+B3SHW.?0O<<:K4>$/<@F8J+/,2 M_XIKW#JX@^D1.;:4;%5K#.&;+2<.,2/5>A2@?')387IE=0OJ.R.:;J%.C=P/ M3@S'C[O(=> MG"&;Z-R);1&LGM4AD<*/V5GE!B&E:KT%;[H?T/G4Q](..>ID[&JA.*?^E,LR M(;.B WKL06C^)N&NO$F'B#AO\$9BOOV'>3=A?-*&Y$*Q$?;NA3>7%GYQ+C/8 MJJMJ+^\YX_*(<.7$QB_+N#[!W?F#T<;[S@NEEO$U-+^P;#FJL)3'-[2U$OC2 M?9 HXZ9-RM/;:LS-J*WB0N=)&._=Y?&G$V[W5\'MQA/>'$9RA@63(M-_)^C] M:49^G1G)E=.5DCZL(5YM^%B17#][7R)RJ/);2MW'R81R&.,DZE8C&RF,047$ M82^PD-?WX9+I%+Q I+57PBQO5$!%&8^MF-Z&S[02#I/OK^UBV#HUNK55T5N[SS9O\TB>J)&3DK'\(<\JFI]F\$P7X M:3I_G>DD[F$%C[KB'E?9DO;82 "I"$VRN'?M5_KL-%^_RGRYM#WWK6RZ]FQ1 MVB,QOS=E_D;)J;3 HD#D?W[*48&C=A!I2NF? 6D2 CQQW@GR[14*IDF[)! D M L2V.4-.(V>%:[M02F7N"[V>-"NA$+-.]1BXC$W>2Q$U52YE.K$/2 T9Q+4A/%8Q=%QH#H!,5Y MJF0S+GE")08FJ):ZI"TN4YU#LOT6?B,G ,O5R%JU=>-:P48:)#E8#7V,I2V M]KOI721DB1@@\L;\UR>3UGV7XG),CZE$ '"M<=XHQ4W "2YQPRZQ&\Y0#R0U M'#$R,FE4^$V2?4A:2M1EU\Z<0[ZZ$MG:#IF19$J3'X&$RU6W&?PYA)^)6R'< M+N59NSVS!T3I1@6+HYV)V>-,4""W9/^D;!8S9VFOU;R\J6OG<2Z,]ZC)CA)JP'<0R-YYIN:=T5Q_ M!%J1N9R-T]+Z#WC3NTXNPT4R=@5(N)]G^,EUW@?/<=)Z55?@CB8I,P:5U\2O MLQN;RA'-8\53&UH;Y *19W+F8F<#8'")8H%',#Y*P?$T_,3IXL!X"89%'$-<0DW6 MQ"^#H%[+>0]DAY MOX\Q1[_?WIYUG2Q!:>;X(-_:9IO7>@KVG'PN:%9&5]"?:%")QWVI MFX%H?@$O\2.,KI:(BBVP#;3E9^3(1N"Z:(N111?5G5*H#/,@>,JV#3^^KW0Y M'L19<4S5:"8^)97;I#*V1*]/" 7C M?7V1^&(ZLJY(-1M(5G]N1-D=O\P5G8+Y8IA,;!D#,C*"/-6"'KF^(0:/W1^@ M)>HEXE*X&4#5CW3(_48(D^*R\ USI-!2^9DV\S)E;S[P:V+UWBQ*&"8KBQC4HNA9@%IF8<0$LNE1-\0_G M5MT?X=*)7I1FD#/:H841.KW.\],M'DHIMEG*ZD.]ET+%'.?KOHG*8CK6S+_Z0/!)L5^//*,I(>;N_C0/ K0$'G5 M=@,<.+M=V6VJ(\!S;H'6-4OP/W-Q+9!VZN8V*)P(),-XS7(*KJA&])F5IRJ+ M/AGQ$%!B(79(AR]SWPZ=8ID<;G)VTEM?=C[^WLR9_JTG(;&L !.F/0]]1)- MX=+>FVR]I&'QKC,]S?[>Y3['5USZZFN&/M9R>@&XZAS88X(%'ZWC>D]#_U*= MMWDO@S1D[:K!@ /1J;&]@+F+(%3%,,H&"N.IG22N>VF,@-S[= X]-JMMB#$% MCR_U@_B^#B?KX=Q#_1&!@&GUMM):3\=EV?G/E41GTB&DMY==CM%_1"YR96=F,86.[)L>XF[L265..DSZ[:2A[; -I5\_/8L;U>=]#H3+#: MYNHG$BF.."C&W[Z9$)EP@D$"LM0CK\GH0F18V4/WT2^K"S/1B -B&_CZ"2[0 M;Z2.E620$4[ ,H(WI%2MHBGF=!*QAC&XRGL5OY%5S\GQ"M>8V8Y)_KN?/XG? M&O%,5ARPNR;A ,<0$&R6-\VX"T%#7>>3C4)M4,LL8?C_YP'.QMDJB"'7 !7=7'80!" M&&<,B&**!#9X3(V)?%\;,I4[I %J/2" M=I%>$@]B)M*ES3+3)A;[-NM[IWO:9"]T(A$28]=0P2E)Q_S2[D5*#>QHP?4F M]8M".3,V8Q3M4#4_%ZJ=:K/XE-**KE\(*).M?EF>R!LE0CDU< MQ:9:QV?Q1'=VR_]MY)@Y,Z7&V M.',,1B+=Q\@F6J.^:H#J9F:VA!EIP>(5?=0UBR;O$'*%^V[>0'Z\O$-G84S7 M$9R*"Z39%"A'C3F0DX3YM0Y#%%[//OU,';?7>;?.PS2O$1VYVP-A=D= M[?9H^?^*JA[//CW[#ZP1FM!>4:V.+4ON9V_)3=);:9Q??.&%EYV+4_->NTD. M7"8J8=D9*R6+LYEOX*31P&TK,D@#M;@ROT A-UI!!ET?/>;3X[O=YVV.OHSE MMBCWS1V@X3&XU $N]#">DN K"6-*/Q$Q5H&E2,Y/7"QZHK^.NWTPKN$=R'?[ MBV[CU_2G<=]C@C^A+\J%__KM7U[3'V/V$._Q9;DI@;+[X[-L]?S3Y\\Q\(D0 MEEFZ*+,57IC7BE:I."0YNK"/CXSDSZ9SB,(,6#V2^ZJM&7LMY,BT1FKA215) MYIF))7[Y3&9WL<",^HZNJL;U=KFHV)U:94_B9(*5_=^)?AO2R* ^78+&N8I95V[:KG#DROVX"V,7 M7L@;BCAYGIO0UR89%![F19HR&X:#9)[K)3NZ$+B"TO()8<-#=#;Q*Q0A*<'- M1^%$D>6ZK-MU>-/HNZ*J6PE'S>KBU6N,[,7+ES'HS@0&H2>77S?P,S.CIR%U MY+?B1%&81[0+R' ]S@%\5\H2=M:_KDO0N42FG2+"5""CH<)2&. ML-@EQ)O]W4=U];VD#ZD,PTRN%((0QXU0BG>-Q@G)L^,\.76%/F!W1$T'()V= MP5WJK] M2"&:IP#DO^2[=74Y2HXDS)0BOC::HL[#H@A#7YZ:RSY0=TN=WRBD M!Z1[M*=.<_&0_9VQ7,J%DH3J2[*8Y!F''57U=>XR,C9A"1"0+L $,734=4." M/PS>R78;]N+?QG;(/1OST.5%:;>CX$;4!$Z+X4/(9(GKREGNHY(:-'__TJ8 M*W02G&;M(6=M'?9)/F[((]E03]R0;VHYWPB6P$7*TXP\Y %'6,9*2"DIV@__ M5Y1 4I4<5A/K#%&DT?F7(K0I*O?V=-]5U_GFP+2YSD!B>DEE0N'8IQE^P!E& M>W2U$2"I9D[V^1"U&:B@3ZF5HA="F6UU,HP/.DG! ?%J&4!F,#/BWW/GX> L M.TW,!]P]TI&"/-(UU?!4;!-$Q]+YJ.FSTTP]) %33:UB+D^C,V730EG#TYP\ MY)Q8434"(9#5HO1&^;>1DOFG"7EH=P^RKL&4 >S#M:]*. @9(^-PA"R21-"< M#:@3.7EY,*WQ8\G&TZ0^Y*0&[XWJ'.&"Y6G@'W#@QZ9G%9F8H0?Z4Y7P^DH/ MI#O3$IVFYM>9&F!LZ]JB5P#TV$VCV-:5C?4;QEED<*Y90S+7M0VG>_'M_[SZ M\NS9GU=4Y2G#3Y]@H9APDVE-(KR<2#9FJ^_:&N75UV6WKO)L]2J,3/B_;\JW MU:8-_]_617L=_H 'J7*7)8W@772\0(9W7?8ED"RSDH?OT;JU^*'=3U+^!RX2 M+4H;IKC--X-"2L#9BZ2]=<\!1@8 8W@^5H"18X]+>%X,?M+Z(X^,YH [Y+!$ M,S,\:5AM!S3!@Y^>R! M"HEX?1SME[0']"+>$[NLKF5%@Y[9*;T''RT'@=/YZNOX:R[QL]+C-2&'9\C? M53?J&/AD.V&ZBW;/'.]M0]]@CF,JYW./MO! ,!R<*Z?QN;F_HV(VA0/ZI90^ MJZ@VD#VBWV,=4=\?9AN]Y/$9"#M.$^X$(][%Z9/@]=+B+Z;'S=@+W]2GQ2+C MF-!68H>$<&S-$3:-1\88=9+(]FU"C$4:V MVG1@-D8UC%+PL=>,(P>Y6X;NFW#M%,1\/S&DWZ []%%M"_*7UGGS1M5M1:$W MHLW$BW) H8MVMVN;FS*O!QS[KQP&\_4 Z(^VGE^\N!4I%& MQ_# HHR@3Z+0).8FHW2$="0:C9"^C0H#LVY+VY6N$9O](SKOP#]"4,RP ?C MY1BNR/4 2\_D"W&;,>_.W07#PQX;&TBT!H^1%<<3Z1;2E!?V"^KI80QP>!=K M10_[3?"#Q&)"&2^N+!7#6]FBB5R./1OA]Y8G*<+%B.)V@? MDJ#!_.2!5$>]D"; @\ILI9Y?O\E9D="^?AR\YD3**XD+ V9'JA->0D_=W*0NFTGUA>=B]K6,FD7C[1RTQ,B!@G&?,>-VU'> MU9-7#<(C?%5UBL@6C*L0 7.#Y9R0K3=#=P]BQG\<;^%%*D&*84\XS;>K'_)- M!1/]31B_YY\^?Q;H_9#I^_V'?!C0L? M_C&S1A$A))L&L.8RLP^-B\&K5JHO1'L\W4N(1UQC^E,?=.+F0EMCC@D]Z/J@ MRD=A<>QI@8_QL,[?A7HW@&.@$J#7Z<4_A*0^PXCB?I 0H>#LROEW4:.&G M[?M11*MV8#_RH2BZ)JQ:XYWR[R#2FW1(NH$JO6FQF(:8 M"94(4ZNJ[N(VYZ<&LY9X ,CDE>H7I&U49.[;SI JW+^%2)9D0BM.$:5%$DNW M&[OW8 9")1R9<42I%Z>BZZ"WM9'2)F" MCL45)0NX0$H9G*2^1$E%K>SC'(EW]?9(GTR,/+@U2EK+MGS>XNS"L)2TN&#; M=P0U#I9Q]7-P4/M"$$%, WK;6-X2 BT.:\+XDDIK,#\%[R]]1%R#0TS14"!3 MEDDW([/A)4^\Q*7"UA%;B+*\0DL3)FJ0Z[/)B%(X]<#T6?+0,H.8A=0XZVETW@PZVA'V^(P(5+R+3IE711YH5D\F) MBR;C1M>S$.=PIC!S7S/$//X>_K-'(.26G!P[^2$X5C7_A?W%;]U!#ZO]4FW\ M16LF%#_^THGW7D%7LDA5%.DIVCZOD_U@K@D\!@R.=#92K6(W[MQ.C"]D>S)< M]MGGO\>#,0L,EJ&!5R(2)CH@W'H].?!XA68\_A@C[7/?6';,NK M!0K]NVA(,&G;9,.(TTY3Y6C$C1^"I,%WXF[^/!:7.R4F"0[3QKEE8#0.CT!K M=Z?K.WT>IY!BPBG?(NDW>6K_,&#@E.*X2RA3Q5?24]'(TKGEC5F8V<7#AGE/ MQ5CSU^&RT8+V7Y2[]"LGL^O/7W%SN1T9W"FT!-BKC.8AG[R@^OR16'.IN-AU%O:?B^I-E$I-UF]>H+O=79:F9C\C/YX[L:$%T8K*HDK5@ M1#)B#;Q:;>OVII]A>+E&R#<3E%R[Y!7TDST)FH%9IIGWH;NS"+N%!QW.O!$7 MCGJX %2H4OXP\DB1( ML^'(8?\NPN:)T0<:Q:Z:K-@>2F%2^,;1EY/M8G>^*6LM/Y9OPRT&]VTXB";_ M5_43F7@MA1:/<^QOW707*6-O'(L1>N%!W%Q)&]# 9*)AP-'M$9ORG*/.Y+3LLA9NFL+)2RUQ%/X6UEG MZO&^3]7\HW L[VDMOY9XOXWX[6BM("SD<*Y<\O#EW>)5#&L)(X\47SG$8P MCW+0WJ79*")&4W4QDX=)C7Q,>C%U]6SYAAU+$O<,9N8BAXJLG:^^+$7K7GN+ MZ7P8%-_LKL,7T10?F,?+9/YT&W*91;11^"RDS(\I)="5Y6)=1UX^%^#(*(IJ M400[23^3&L]I[QE\&O K$Z2.A3#XVHIR>X,)6:BYCJ?," M41:D@1-7509=X[/)=!CNP:QO"URLB=#JCFGY>D+H"CDOMNBX? M$P%0#X!G0E,2+B4"=[KMZ@+,"W3XAU7%6F$A2.[ OM@HE/1R8@ Y.9Y-D2'' MY<4H=9,:Q.#4=9?IFH6WP-O0$C([AB,X2(C4%5G,P'H$C"*5P7KB7;'%""\5 M5R<2^8I*,GHT9UH>Y1*]KWL_F6A!$:'>'24%-*K3LCTM6ZVY*TY*IJJ&8*'W!SC&(VU[(D].2>F7^14]R1H M-$V2"AXU@:RG%0?)+Z^Y/I=D4_6,54)[Y(T4K(JQ'[M^)-]; M G682U5L3DY:7-_G5!56LYE $[F_Q+3/P@M3X8F[H11:["2@4+GSS[PD0;A, M[^0ZMSZ2]4?+BA6U%.Z8,GZ[,G6BKV#E3F0,M=ZIQPJ"/Y'5LEH""I^]N( \ M(8!I7%=M'2M<2=O5(F8$#RCF7MN&J$AGM.=.[\, M%J#GL#LMM8YAC9>YJ99*Q^ W$.ZQ&^S"HB*@9SM4(E->L5\19JONHV&I&JQP M@J[=7+5L?:DE7>A1I#$\_1,5YLC;?+ZZX'& ]Z^EBTBV+9X!>^D' MRZX) H*)J &M\DH$'"'U^S&6GNV*##9(//0%P35_JLQ3C;H8X]L]SEW\'MR[ M[QFMW^[!3;E.M(?Y".?)XQS,6TWBUUVP_U\>FG#M#?*0S$8,[_3VMX4_RHMY MZ"5"6O%[LAETQN<:!@Z.M)Z/DE[21F.'P7G'()O54P<:^/-P^@7+4B%W,$D1S6$??GC]]]FJ[^0?]I?A=.&NDX0"+WHG=G95%N*R3(?,1 ;N-)NNSX0GU44HU.2BH1IYI1CL"3)RZ>*XIJ)I M)M><2+HM] 1R647*-N[ *TK"N32"-_)#K5!=2OA-@\L*R MG9@$E2"@UBW.*O?56PJ"ARO*1Q RZ*]C4_[3_W[VIT^_^..GF<#+41E_BP)F ML$F?/3O_[/?X\1__[?S3W].=%U\CK-DULNM:R)&E*],T1.X8BA!5FQ/'T/L, M;38!LU_0EM%.YND[_/%/Y\_L'9X]HG=XCPEZ/GWS%Q/HT!U)LA:;.:BA?0YO MN"7A##Z#1,DMXETFWH-[*@UP^G:P+7W'3HA^*Z=:BWZT M@[6;[6EW3D C!SYDA.-3(D*1FKYOV+KI#9O,@X TGZM2J6& 1AD, :DC\9\/]D!YWS< M5%)36Z>1.51-2>]M/LZ!>%?54=UGE+3\2?]S6S6:8)!VA_ O&I.:)9%9X'K) M[PX^1!<]&LE[AM5#YC(=U./7F,@H]F3K"DJ'QPM8-2Y]!0?.:ZF:+'I9:$AR M8JT+]_07@TF5:F.PQ-=*5+#4]O\$9UZ@ZMDJT6,,_C:D:7H;[RJ=\U2]48?N M8/IP1;D>#.2T]$UI,NUM]-#AH0,[#8BTHL7LRE6C_SV]/C\WAPQ6K-TJ6NJV M!Y8%R.TI"]<4!BH^?X^^%-"H;_RSDKSAY,_9ZDW3WEA!D;-\R0_$X/I+3=L8 M^'DSW:20Q"T+22"',YYX :23GKV !+DW&[CX#IRF< 12K2#]X@[BPI1CNT I MMRP@2OB3:Y_:4CH"9!SE\J#*X6(:=DL=2FVIV_82.[IPQX MI+;^/1*=G*I0@TFKJA\)4[,H;I@P&JB"_&HD)_7O$7\E$N5G2@/&_"I\N1<93$(H;G( #[>&)0J TF=-+!&)I^HH/8BJ*V#8.9P)/.D=DT^OJIF0 83]GR3B) MF3T@IRJ=#)>==B,,G1(9&I+V1#[\D)(16Q;O),\:66T^=2*LV?B]B;S)V81@ M?E&5[2DQB,KE:=X>4J<@!,'!+QFL"U2+O618%:YYXHM^X%D))TS='MSN4<9' M[0-<]6]0M><@MJD8J<%U]Y_O[L@]*GJB5UL%4PC=?[[JZ_:F:&\02(3EN=_G MG):3;;XQR$K,%$0'T1JL-=F9 M_)K0!VS)I/=82+<2WR=\2M!\U"5.D R.;>FZ1[0 .P$KC4B..]&WUMBS.MJ7GB*;2@.,NDHX] MP3*@$-=VQ"*M0YK\DCMR902CDT[HDUOFE2_3#QY\)"E_:3DP[+^D$1QVR8C# M@?F+>PJLUE@A_B&54%-NK?N<5TD_=%2QH?2\EC;&?N%%::72!B<*5.M':ATL M7 ]F:N[I^W&W]QQ+I?7YQM2V6AI.>'#U!C0>F5: %C0%///PK#0?"S5_L.K8 MIFT) !RI!B;T3V87/;&*H:CY'(O=+3C%5K">'.D1^3L7VLY77T9R?1.7CO1, MAAQ!__0"QYK8-HE:+A(5$PDSV"%%X/ALE$OG*QE)TTQF(U-*8L=YZI>ONU!LBB!MCHUDI J* M+V$;G38J\Z0YHHAX[F[:RX;B<4,7'34ZTAXL_<26=/,F.\UN^-% (E12& QN MH0*1%%]+1BY$]#20ZP8U%UAZ4=;$5A%3GCVOCJNJ1!TOQ;&O^OR:"?/2B_&Z M(3^HP4A1QFJYQT/>(Q?^R\2\S)4Q8Z55>0F#W:!.D'33:,_?&W5TXOA"/#Q: M9G[NNYQU)WC$D_.FPFX,R^28%6/Z9K3SU;52CQL=$A\-F\-&LMK)!A1R9IS$ M"13(O-=P!NRJ@:']W&(K_G?U=T[_J1U PIR6ME[\I*CLK17DV!YK=4 M6R_)#M.!*7 7\])L:LNWT 8XX:&R8(2D>C2HB (*"!VG3Y3:C$._5S_$C^1P MZWJN\9U=M6,?P[0^^E1#!>>"@$CITZS'XC*,.0:@C\[IM78;DKL!'@ PVI19 M.F2\1Z"R(C,N/0:H8#-8ABPXG$F8=+J#3)UZ-^CZ"X=578KS=H1=^N8J',LQ MRKYNR5KX#3Y?DPMXP%@KU![2N.&):4Y2"V_A@W= MXQ&5>.3'P5=Q7D0QB,G$V4IS'J9(RBA<"$IY:9GF3OW\NGP;DR,1X'GBK_HV M]LYRN0MOQ;AN%R@BMMWD=613L1*>F!7A%U/I)7&IN;]V=KBXJ)R)YR/-BCB: M/'\\U4!836<19I^J MP/(&ZN>=8V)'S:DX^( )=%UP-$=8.7\#AO*@+H F76F5JPM"'*JJ.G.J07V@ MR=K7U =>+&>SN1L . 1391P8?W":L(=4FNV%Q,*JOJM=]1:FM0D7IP[*=KO% M?W$@L=WV5V0>P_X*OV@N3[/UH;;7O,YTFHN'!*UXTNBFI..'<)9Z$H6/.^E+ M.AJ MB_B?8,S'M)M53TFJB61IA"-H!$=9+A$T8FIAB4H2H<_L7>$VH__+6*3S(3U3 M=C)_.D>3_'@Y=Y]QW4UC,%9*0JJ,RC=(UR+8D\*G%S##194E:$.UB]H2._Z+ MZ@:ZA^*DH$L1)4'J_?(2IU3$^\(LI ;&+26^*T%[C'UR%1C]L[6HYRQ^F5-P M7(R<@514)HY*/M*^)8Q2'OW_. ?V]KP_MH%7 W2#PVG+F9J>9_2V?(K/GDY* M\6%/A34?G(L->CM5T^%&.[PWW(9.1N6&]H3==J*VZH1$C47N)G=*,(XS*9Q2 M85R[PVHN0ZH]3]*P2O9CF_>4L%71E\9*N.'OOCB+D<'_B=.M6>1F5 KCHPD"AK<\&3EN(\EH* M_(SHZ,#S1>9N[V:JG['&*]+&(:CZ1 F7:Q"9\EYRW2(1<(_CPM82%-USB%IL MU0"Z0.G\6#;TJB2J?-G_%@RS**#SN M3]"6)(>^5F NX4(45I>C>MUP$%.#K.[DZ<#'FA$@A9LQ:''[SN^>?GG]&>K&U'J._>_[Y^:?Z MEY1+(L/J>\?Q,N60Q*" )7 ^&KK]!Y\Y4RH3;0;3>IZ$^%9M.[W(T(^ACKAG0[ M.OR+C1D?$>G-BK;L61)<[D?H'V$P+3SRL"@Q*%GNR3:S4$1%>\+6$W/5N/M8)W?/ASX?W+^>*_JFHN-.& M8(0=C!VUZS$I>;/F1(?C[\ZL^G]WJ>7CLJ%1(.0)GL">6.]X<^!BO"KL_XQJ M='5):Q(7 E(H!07OFUL:"%!C,$94+<>>E?LP91S7\L2R9=\I0]%F5>4P/EO#U7"^NV_NI6^\[4P'?('J,5+, MRZ@XE>P8WXE(]90%5\7036M,4'3!40AO"KEHEL 68MW)]H5_<-RF:4-G C\> M6;_28)ST3#/#I%]&K9:G0AV.+V\!R":4^=:QR)2+'T]9MOPS\]/HY;- MK5!Q7<,>;6DG2GA_3SEL)WQU-Q'>QVG+WH. @6@L8H>5XZ>4KW=5VB(L"OLQV>?*T?BC;"OL3HPT:1>P,BO7J@,_>H3,OU"5D8_FGU# M.+7^ )(482X/0?J([J'5NNTZ2OQQ%"CG#?4 $-OT@=/[U.^ TYEPFF3=P_]G M*J$"%.L[OTSW_>MWW[0DO+NZ($75U5_RYDVV^J_S%^=\LJ=IH."F-X/QV>A] M_,N^N'0OQ['-XOLKV%:R_DQ3>49ZQRRY%,86A0[C^@HV1\B/ZC9OM 'T8%PP M%8#4H-R^9"'B<) %-Z5VW2SCGM[]=W_\U&Q.-V;3L>OCBOPAT M6";EMJ$GNYQ3RPRGWRB12"@/D*\)@UU#@\A"R,'4YTW:H6)_9#Y%(_6.JDKT MSPLE_Q(&OZ$64^; LG/]$3.4MYRZX43CC[B+1/N)TF,Q3GF MZ=<9J'I-&SA1,8T=HB"B;@6":K5U54@JCD:X!N\:,^U5;1:EZ]"X18=Q5\1+ M<)&!%%ME*1QY1B!GW4G#"[. XR>4O?T:0N7/1D\=[AQ8M;6!]_Z02-I$/OPH<_1<(I"A="WOQ%&8AT6&1=G4W M"?WB-=AE.^%V'Q+,@5"4&YN4JX%X(%QSDS2B6R1UU#L,UY"4\C%75!JWY6#O M2C7:87#^_-D)?_6@9$XN2Z"R)S$9+ME$%Q-K<5%[VC.K/6>NE;P2IT-=H-.< M/N"<1G+L+8DHK\W!!KA'& ,;N+E<<\G^;R87&K>=5- MLS^2Q!9^#XG?A2J%DM1P[O,]Y0TR_0_I5ZT&5DI,O6G=U<'_"V8>4CQ&^[T? M._*CQ3B?4)8/NP D*^DC"?+-Q:?%"4O,PMUH66/VN*9+9O#QDDVSDE"G$:R% MDS%>N:=OJB/W:-(_/Y6SJ ,!TR%&.C$:3D('^#H<->0Q:N"$Z1HD("M1;TXO M B@8@QIDN^:KFYR089$<6()\I'O2+((GR7$T*^A49(Q\HE#2$YI+2Q677WLP/:6W!)"&' MYHH#M-AIRJPVE)UAZ 6(73F#X'!8+/GN7+B(7PH@H&'[I.:I+K)U%TU2Z;0P[!=3*@%9X:9P_Z! O5E+XLW^";P/7- ML$&MI?BA:%\QK%M,3-N KT_;SE.*+""+OFMUEX/2VE^:SPUN1*O MMXZ>S$1/*A9W)=%$E@W%*=N>TKIG"? ML=TFDC:V5<$?!-\^6.KH=)T/W8Y;B00#)A6QK6+ [E&/85R--)1"]]$*HJ-^.W0=N:EFJ M/DZHNH[*_1/OI9WR]'X31+R TMFEHQ_$-]CE18%J+(^8 MKK6NO+2*=#B/QPT 59< 0Y<$:8WZ*\Y'39$ZZ49*[HMGL@8/MC.E!UK9T&_" MYB#"_6.J+>#1Q]J$Q=#>TO =+"DD9%A6D[T2M:Q,ZQ4A139I;;=A# M^GI6*F:Q>"EG'A-?<@$3\ 0=P&\7TR;+#GF^H5B7?7'XYBGQ5;ZZIK(3EW(2 M-DQ?,.*:9;"\IMQ9=A)"A]])6Y7Q?&>)$[=-2*SLJ,B\%ZK-2?+8*A67MBA% M%Y(#$%ETO/Y@MX_C9A9A-O3!-._+H9V)Q\5G/%]]9>>Z!^!?A[A(M[7A(KL8 M"OGQG\5"?AT_L8CHL4>TI#$:9J!K@W4C^#'[01M>':3]7BI8L,G#XF&AP/ @ M9SA2BJI',YG B]BP1![<=&F*<*8$EZF*VHY\%#/\Y;I9C+/P449@FFI MKJN:3_ZN-.DH]*C4PP;Q_@*9\^S^OOCQ[ M]F?[+;=&E6]S.A4SP?3$3LT=C3AP,D)<=4D.VV!^39T'RW[%4_3]V/=5'CSA M/LX<>/H SF>U,W^2ZL0O)9#7^>9-L%#!#I_)6MR69;[Y_(N'6IGG'RZM_;_^ M/Z'MOC;@+1>;'8DA(W%5ADN9(,E51\E"*AL)J[@Y]$STC2.*S'-')QY _T51 MIGVZKL#%&TDR=K>P=,/I!% ?\3(U5LCB)!P.X$4)F2J(,:4I,K8-Y7RL[*\. M/0[+&-BS]9L)Q-ZM\2N>U:JW^C$<2"]<82IB=PU!CUPW%8O",PNYJ<@1D2$- MH\3'3SZ \)OA"E$=RXSMA%! 6MU=@D2:Y1BR<@_0[*)KE70C*C-U&I/ VA$^ M,ZS,S>JRI6YC:4OHF V:VMX YL1Q/)SD;QS+!0[%CR:@^,G$GMNQAQ+N=44B2AR;(GYUL^AK MK%YDC9QZ:8B'#VSMYDCU)2=8L%5?EIL25(C//WW^*6#Z&REB?9F_?8NO?!-F M)7SZ+/GTAV!EAMD5GB??^69$]NR;-JP(.=G#]U_LN^ 5H'O8?_F_PBR\WB/[ M\4/RQ*^2I%#X"9:)12%R 0Z6*3Y"60WGYUU&Q+ISUL$S+*]5QI$CWYVTTK/R M]H2VV?O\N"*'*OD^;@!-@-U4O<0#""6(#7-/@*>Q<0G8_=CU8S5PWZL*"B23 MC+:2=UHA0=='Q!47[RC #,LJ=@M3UE5,'1K[>?20;I4\$C\1Z)*$'3ZMZRL; M 6B8Y9GB%^CGFRNPBN3&H8E>5I\3.]9*'7:T"!6J.0ZN:]5-GV(U$!T 3^NZ M=,UX@,VJ^CD#\!M76F00*XD*418UF/Z\DTNY>D=P._]&0@$NE^R3(B*)&D?$ M.EUD2?KUM_R62?-@E+ZSD>R\I%&6V'P<^VXA(XA:(,7ANO%N#1BNQ0_;EOKL M#),=7^)QGO*W:U]^M,MIP5M9[.R^+E.XZ[QP(PYN6I%A /T[LWB+61L'T#S. MC9064ZHM!DW7=5R+>57W24\8TU-\&._FEVCN'HW*P[G+,=T.A.[R1G,[P8\M M]1%*'[51ND2(;AR3BO F5\KZ4_61-,4*QDG*"HUO?(P8^U++8NF3:QOB!,T! M=$)5W(L03N%FFF/6PM8L9HA,3U(D_%BHGI;IO-MESWVV+-BSE6X$.,Y@O7"N ML_51DTB4:'+YS2/SDG@S!U<*7+QH]$4M===JLF5I/6&$L5\33S*"0+P MB'DC;EVXE[3=&VF)6M+EFD"Z=?6\"IX X>+!9C1LE6?(K@< -=@2-I M6OHP577O8C=75ZRDC,T)>:J!43Z&567!IXHV0.VBGE#_N(7[!5%"G9EY2=M$ M/!G]77>6=>T;'@YF.>XAW]V963>3B:AU26L]Y"V-^FS-)%RPX46>:,J:M"$^%@DFT8U6W M&7=4E>:LG*C+\&NHNLR")4R]FGA0.4DNNO&ES97;!4AJC,*ZE (WV+WNYY21 MOW)6XI$GT=ZM(P6O*NQL*EQGRM*?B;W1>8>3X>OF0,SH;LFCYQ)#JL$75)7OB5(?A:,&[Q6J T!!7N%1'IFP*+OUV?"H4 K,P M]A, 4'"XE2AVFX:@^DSL!C);K-@Q93D$W]B.BI<^[\)8D8E[2X\NA24DA'X. M04H?I2\;1TZI^HK!:T[VJ'&\//UJ11% U,O M#\?2>!LEDB3E-7LI.4M&EB2#[5WMQ4%7$-1B M2QG3W!/?"32%]N\@917 _[ M>FA''CCT&MAVN"D5B<.TCHK"(;^ F3MN\K10EOF.R4=B&O,GK0_B:A;W9S!>)^< T M_-"DH?-H,G-)+CL['A;MDR<"],T8:$^YZ:JA/"/1"IH8_A>ID&M;"P1^G>YA M7G6:_Q5G!-2C"0V2,B"D"9/X.$H-D+@ZJK4&U,Q0M^V;CX)S^E8+\%I8DC!M M$2&U?&QY]\Z.0T$%$I)LX-TB&%R)!2RC>>KL?M .7P>3B@ELI$^;IJ[AQ3@ MH@@X>*C!\6.F.W+BIA+C'"CXM&[TZ^ OFZ-$N5M7,(P"J:B72$\ 2!<$ FCM M!\HW+@X?607G99W6Q(.NB?D"F*3UEZ+^6 [SD/W3S#TL^8FKM;II.-,L-F;S M-"U(Y'F:Q8=DK5"XYB$Y['ABK XB)YRU MP="7MUVND7XYA],XB8#3-#^B:58LJ6]-/JYY 60=FG3+RWQSB,@_Z/VTO-O3 MI7":[T$+&D@D4<[WDS%0B/" M*5KZX#/NJE45#,KF MNNI:CWKJ\RUU6U.+\49,/?%BIZ7HR,4PS9Q)^?JT1#Z8VQ_%G+-PU 9O(+8M M^)B %+TFK1%LWZ/,U\GW>P1S*S)PD=W*D"+$AL8X$2&,#%;=R"Q.<_5!]B' M?T"S+*$T3RR>'V;S+-!IVT:)!!EHW&#ASW[<[;3=:-$%.ND#/F:<]SU1FQ?1 M:7*M,RY?%KF?NH@'=BWUXI0GR"+?\:%YEVU-615'^Y+(B=*WRH\'V/*U<6HQ MQ0SP3#:F0D-?QV3"C^>OS[U@E^(FNCTY-(A"UR K4**;,+0OX@5?VR3]I0W_ MM_I$%'6^>O'Z+U$MB'[^^N4%!E_[/AG0SXA\)@P(P>Y87XI$7WP(8H?MVO#D MS."[\"[GJQ?B@JNNQ^U+:!.F1:0D/9_!5$5RLC(4#TG9E_D20LI^FPJL1$C9 MNJ18@7-'\J!];(X\Q^0GK]8V+=$N121F&+:#]/JYN<%Z/?Y#[A#8(%U5V O@ M#RFWW?E*=Z/OB6*M-VG5@SQ?N*6\J*; THUY1+)71G+>CB77#F;1PRR])_4X MM^ ]3=WW&(%^M2<]IEXH5QB4F&H4A?G[N=PX]JL6S5'\:[B@7N(2!ZE)CS#9 MXY&^25 ;$EJ7V^Y"&$JWNPX'G5,+;'<[8B$A:._C'/;;(7VQNY3"%@*<*I-A,@L0IC4^%/\)79)VY8J((.N#;2_N"S55S3TQ M]!D$FY<]D-_#*&8:+:1,&]E?D2GFB6+1QDT-"L+MPF0;:R+@,CS#\?&,^[*_ M95S.5Z^9"I,ZE>DFS*@+ID6-0W4(;ZY:1JG:@@R+9:2GN&DN*:_1.V0XV5M9 M[+22=3RDDNEZB/2!0-TY:6*9#(AHO/*0H+=]_KB]>^ -X\4 GJ;.Z=Y*$FC'?QYWW\'E!LCWI[';%A@,9^'QO>OK;. MO?!7DP)]E"PG]^\GFK17J-/"^.!)UY\P*OF6K9C?H_0ND&SA_ZD 6#/NJ2Q8 M.4Y:V+@7FNADW]QQ;3PJHI@7E,+&9MI8_QMRWS(T$VZ@B;N)%\]O+//U8P,< M]6MJ11&WBXJN^QJZU.&^2RTZ,*^+VK1$["?3Q\VF2-A+.VGL@92#E7N,D^NG M&FEMVJZ<=OUS2JBH^DV-GCU(C\S=T:1#B/8 &VPV!VO#Y$$F*WKBY'7V:MNFD< MA.^Q4@7^3:9\*!T]JO2!&65FU(CR4H6W/(OVBH1SK6M'55%$$>$Z,GZY_#%X M(_!<:L$RRR\>RG^X[= M>$NW_Q9O=;[ZSV/G,B\--&\>NU%DG6*H.O\_.;.[,-Y#ID-%(W?&.4ZM"]G. M_F*^LQ? /%\L:K$%PN<)S^/Q:6H[5)C/!8]MM[/P5 !I4+=<>4VB[M'F\.U MV_[V+C+$0L1C$];BFC#9W#\IC:\ZZG0>AU'82)\5>03'W1^59GZTWL\]'?P4'J6 M 4?V*+Y;N.SC'/YW-?.*I6!Z76TG93YZ$Z?UQL&Y:C30PKE12!0:H1F./MT@ M'U:G];@MTK-% !^\D:*6%!FN?0NO^M)R\+YF_#.EBU(?EF=7^5%\7A4=W!G[ M5BL)1.$SZ[?Y0?%P]K3HADX?U3.63&5/3 BKW)FF<9(_%L4.Y_ Z'6YI"YY_ MRR@&H,&%)MET!S$QX5VWT?FBTYGN(L1YHJ*2J4ESKS)GU+4!B*:7I!/.I$'- M39P2 TA@%'R;,3PA_ZVD3K5<8*%@S2*:-+]SX:$WO'_/G^"VG%%3OQPIH D/ M$N*[M@'5=*6DEJ)E(L6+U98OY!2LP?/WE=]_' H.PJ^2[DLGP8BH? M9*&?9ZOGGS[[-UX^]$LFNDYF-[IZ5^V-YXB@11$&C<*RQ+(,7OH:*XU%A8*7 M78QY;146>^^72KG\(BP4>Y&7+U_H>_#SN6TO/<:TJ3LI:ILOB8Q#I)G :2^/ MUG;..M&3,R U?5CI*B>MRV0P!8]F<^8=J.UJW%O> _%/1W\,;_#'/WWV MQ?-/B72\%@Z;SWY/'TD*(&\:3ETB,"&B'CH1V5_ !:EPLJ4GE:NC,#5[:LM[ MIW;8QMC!ZL*?QQ[1Q0U\GD-X=*2WV=HD!B[X(2/0VU1JNN;\?#)W%VT(=H&I M77U"'\CDO;ZXZ-/9H[]P&+$F9)@S)>S^6'3H#2DS,Y6%D,;F(F,_I3<>FY0 MD@1X!'1$5P_G%(+U4Y'\R>JAA:76&_N[;@DYZX*+LQ^.[ BLU97/^J"MO-=ES46)A,>4(!?"%N*[5SH(H"D M-V\LLX=?.NJJ>J!T%].+Z0ON2CI;JSZ$ KOPJ" GI"S^WUG"*B>02%@EAS/Z M_]4Z)RJ/?_K?S_[TZ1>KU^.ZI] LW/!R#-N&K!2&Y.6/\1SN8>_A&E MRL/F(,2U9[4GV*@JC9D# [;LY=RB\L\.:2DR:1B2"K,E6#>.Q-:0(Q MFP@B:2?!\,Q3#O,!KBC91.Z1$C=X5DZ+4M$R/_>YR]*"UNI1NJ(C^;*B>7@M M >E-VED$/(M8-)'^9 Y/MVN37MUN-=.MC@P*QZ1%-CV$>#6K@XO%EJQR>)D3#R*XNW6 Z !Y. M&H/EPS M-8A5;7JA<.R"!^7B]#-*[,K)2MF;!'M(>]W=$TZ:W0UB\$1:QEO4?>\"J?1@ M<[[C9,_J19@R/3!R'?7(K.'/2)ME=XXI7@'OE$5\@6+HULD.:L M$F: ;90V-4.HQ]MB[C/\PCV[V<C;U[T!/W%5#I3@"99DK0"JO,ISQ:60(+VI&U",5GR M:'_,6*>UKF?W%:-Z8.I###HARG+&IMHAN6X+<=@7EJ;+I;V@-/ AQ!$XL7L& M67#=$RI?(9 @U(O)X^@TY,P1J 8A2RR">O-R)&,^XGKZGXH,'RGG7I!%RXO@ M@OTXY%=\CPLRPH0A'8<,')=&3:VV!XL&65^,O8VD\/!A_,)A(@_H9B##Z*O, MHY@6E-]E'D_V[&W ],1=3(7GT-YC8&W;U9JM]AKEL#T'YO*42ZH#&@&]2'9J0Z*X MX.S ^*-XT9GQHC[A/"MI\P_L+G+**JG*XCLJO:-$V)967 M*5OABXSNP7I[TV.OQ^+@J%-Q-+0&9)*^)V3( _/(!P-$1L8>7IB7Z3"'1QY^ M1!ND;6HP+_*-<&&?A*95#RM#*HC3#^V(I:2/,-.*+*68E> O ?1R%8QU. "Q M.9*Q]4ZGCD,CV?(XRC?ENJ\ +:MV3H)EX26?GBOW4^F2SUI&HQ&QD'BZ(_W: MB5F::#U][B[&7O9JA MXW-:J,P8:&VC1;'N92.2@O%Q'81*LRU23*%<819/K"RUS-ZB6D=I&M*._,*L M^ZQ)1Z[5M\84Y:-U=@Y;UK2A@:8,ZU);A5?>^1< Y"C BC@P:8DQBNEE$-01 M9:7$1$K)8IX](.?,4/A*^>>/!3:1774I&A_. 9GTPE"^)@PE<,X(Z!:"4 M+!4YFR1ZY"AQ0K:11U;+H[L%ZV.&=3M_6;[Z=E%RC1L M!973=BQ47U'8IW]T,-@)(4=1;FE.&N5EP.C*/ F+90%;T3J[<3=43X)%R$1% M7-P6%@R>^ %_$ '@!6!1EIK;^(2&LCN"Z,@6\1HI5,Y**W=Y+]PK05FD<(D$ MS^=4'G5]+D9=$;B4,52-]XN%86TW!S.YUJ7B)/%R4;($5>GC9!Q_HIRQ M/!)Q ,AP3[HQ"1ATXHYJ3N-#&5RF/]? MGH;/V"B84T%(E_-\I00K^FB/)@I$O 74X7KL M%#^L<.&X&24]K .GR]XZSYB&,E6]4F\GZRX/2(V#44I:3ZLK)6"D'5:*?SQ31?N6!X;C':2?;1WER== MF&@NT5"Y9&*ZTF'(+W-*]/N#]"_AE._&WG>*ZGWF22SV4 U_P';*1#'MA\N$ MA)0D9SQ8.)*YZ@!!95'%#$%R5504I]NMJ7)15W\;&9#(D6;'1/PB'L?=+ <] ML^QTPSJ/R4)THB>#E0P+5ICZ3)IIYC-/JHK:SH?"HP(.!$9=SLOXMTRFG1'D M_E/S?C=Y,IF_=-[H\H1U4'U+L2:>1<,?0?J$"RUUYZMOUPK;I!_'],AD0T4U M3:X!\?Y&Q2GWRMZ]BIXL]QFET1?=$6H.H.UO>]9-X1H;0%1C SO\!$\U37YZ M6+GY#T#J]#9+TH:<5B*XO)0Z'MF*+']<(=(3)@4O]^?C:4]66@2W!'!QR,M> MML@R7%?AW0T!8RZ%"!ORQU,D!*:PZE&<1;I:Q.#22N0$]<3K-!AW*;,(E@PNLR.:I&LX%3@8L M8/6*+WA,5]]9>?@%U[R?_?E?_S6!D'_EP#=9O%#1[F@S;58Z752.)]I&LBKD MBR'9_^S?\.V+\Q7AN__U"X+N+,*0_R)7H:<(WQ%HA\AF'G1Z?H7EL?)>MY?, MG#L;)E;DB:QB1$1XM_3V=F=]1MPPQCN2B0A?NKSLJ#X/?!H@B!LRT(:_6Y8C MRWN;:L\)73D8I=NN[:SGM2_IR#K_;5@RG]]I@ZT^'$4G=K?P0W/3$!UB2EH; MD1,QU(XXXR)-R;B52YA[:NTNRK P&;.?)4T57B@]6[$C/7.UYFL?B%KU]+FV M 2B!,)M( YX6;I^DI:5Q&W!-ZOP$$F."# ]C2W'@K(RWQ(\7HE[:ZH12RJ:^ MW-VW\KMVLN5A>6OZ;54JER2=@FS]5+WN#Q>8%$@B1#ZB8G*FYMJ72TH92.O]AFG"/C$9I5(DDL-C"C5; MV$HH11&J6.Q@R9ZB/Q8BP&RJ1"UPN/>?U]L?V)2>$=FZF-9<6WB]L01->!\: M;G/XM3.QYM[#\)Z8&8'(DX(U<@Z0C9=XOAVG:3../FF"4_(W9MMBO)7#AW!A M_SY$:H_*!/S@D"X4 "A"1NR]G5\]J&2=9[=?Z$_O;5(42YHG&)M+!DC,JODS[M45!RD7\6[GN8V MPH#W0UVNZ_:&ZY;[FM8Z^1 QU=*7PR"=A2Q?7FY&CI$7L0-"&V5<.!JU8;48 M/V26QON4T9'LF&2$R)^LB/(*3X!,KS%1$>2!/O5/B7)2+Q(@W#BUSEG#'9[Q MJ>S_5,O^SHO1G%@_P:Z;Q^12.W=!CBRF<#*UOHQ+.U]]#[-3"#0@G^>J-$/- M=I#Z;VJ?!(ZPEO!GS_YP=VTJR3>)/ :G4-QURBU2V*Z_3<#L3IML&TS^HR1" M?4\F>Y\WR8NP%X NI-&R\=M65+%@>-90X3\G;#$R3GHP'675_JBR@;?NMN\Y MV0&')2DV U1# X73GR.EBDF;M01(\T&=/S0IY/1PMQ-@H+7B9]+ZB(>*NJGQ M+(^Q5R/U8R,\@?^+G^V<%X3-*)>ZZ-1EDN"DK]&M)+X8A==RT'%MPQJ^A^#H M;+JT;&IJ!K7V3?Q=/8\%LSZ##D>:>BJRTMTFA$0AT(_; >=3CHM M]1T7ZM-^35Q<[B M\_HF(>U=:.5\F%<(8I(1-EOJDW\;VR$GYV5DGDL95Y#")UF7PS3VFR[S=Q)Q3NFU MI=Z.DXS1"?\.@1;6_E@NE%VZ T**"_54-X M;^,!]40*DYR=4%5!-&]@*L/[CMDMH\-O\8(>9\V,/PS#=.WFPNLP(Y;0H=%7 M2*AMI1@@-(#Q4=0[O&F[-]@$^KR+\WJ^^IK:Q_&@VG=,R1D5$82'@RW'M6X6K266:=4NLAQ[GDJT4)AYH@T/4S+"3DT6R+0NX MV0*73X_"ZK0HD M;1H[(VGS[1UB6)YI2O4'TI-*AJ"![(VE0J Y_4 $\Q@M.:M+A8,?2R[@:(3Z$/63'!%;6'(#=U)1L-(B'W?OX@-C:VH-/(N]+KF2:^%QP@&01Q+O%;?Z.]Q.)>JEQ8RP5N7!3C78$RNQYJP/;+U[,2YUI;@F(*\+A.1;PIL>Y1VZ3,/QO>:+]/^5'G# MLO=D<(!72ZN8Z;&%::5>CX/D[&4\Y+CZDG]!+OID=:?)R<*^1V^1Q\Q=ND7B MEJ#>^K(<%&Y3&'E3$C$D_&]MI_3O:FUFOP$G*V%8@M$6OI;DP,7#L<*O/6$> M3/26.ZF'V>)3S0Q?0I@1RXCB 5K?)Z?6'=[*/3)[@Y^)SX9>B",-"120%/FLPJ^]AC,QV58UO@'AW([ZP='3N0H+P,]LM3 M!_)'I*O\[>A:><1YNGCY4LVJ($I1&]#.'LFHT!*5C;!%4U!.Z*!FBN]0GYLS M9;[KZPDF5U)P)(U3]$>5, @0Q-K2%F DB^-[OKJ(_6O7(/]E(2P %PVQ1.2" M-T1E#5)NY&G(;4^F@*SD_&8\SHA]#[-IJICZ_QU3E;3F%2,B&B=AU)4^(P.H M G^G,C>;#_576[P!*_R9C*9'Y"_>\3:).?)1=N,N.+( "954?)DJ/HF8B:,7 MI<73IBTD,_LJG+KZ3U,6C M?+G[-^0O!/2*% R^BR)8"\V^*)1SGLE1MJ_E3SMF2O5W*X*]P*YJE=OBHUUL MQUOR1=Z#$^A$IHY6/#BONS(,?B$MT5G$P =GNS5Z!.,V!H1_J!(>R2,I-Y5< MZDL.,.""HR>#RV6LK:D=E;&G-$J/^#+L*J&; K0Y2J_@Z%A7C1FJAF92"61! M5[)5? :H3,)Y$)Y&B3@(XC25PO.<1GG7480K_>?1HG*)N2?IY6#Z]_D ]=)- MNS^P63? !O% \($]686WK6*C9Q[=X3DENV5Y!9/KVA, MT7\RN_IJ?H)]V5_7(0(L]DZYE^".[:EA:12F>U1;1Y!H*Z332:-.*FS:31) 5Q!+:B'JYK,3SUFZ:] M.2.]*2M''WLV\5B.Z"YR0I4^=Z!^-U:P)21V)'A;ZY+TL<4 MRX,9XF+[=T RA8V_="3 J3CV$E4_R>28!*;MHLGI P8A2^ +\(/2>FY-+*V# M+ &!R-!*?PW2S!0_;JZ8X_KHHH2E2R85O)''9Z@:?*U'2:%\Z!0#%$J4C=7!/WJ"1W22X^+TTO%UZ1GWF! 8 M/'0F_P7#]C;$13TT6=G^2V+OV%%=:A<6[]#(T$MA3:^1AO5STCPA,S=CCXD% ME1N+?RDJTL?OL%5-WI%**GP;/3.EU-J+"#;H="A8C*\O$61\.N%"B.6=/ER. MFM;F#_W_VKO2YK:1)/M7&-K8#7N"HD5=/GK&$6K+[M:NV^VQ[-CYM@$210EC M$. I"S.K]_*JRH+!$A*+9ED&Q^Z;4LDCCJR\GCY7E=,<%P?3Q++,X2Z[)13 MNMD]?(U*"T12Y6@>:',LY"^"$R-0-A&:36O.$98GE@X'H>>1?P/0UKWQS3S, M:Z(>%6'B3E(XX,O!#]O39I0@.!0^&'PFX%&-ABR!DZ9J]=2O'+]>!D3ZK1FP!N4.7-_O"F%-%A+32B> !R#$S+@A*M_(N[NQ !8NPP3N-AE\5D@*:N,N:D_T;DPJJ@]&YE 5A[6/N MF,.%0"US\ /0;USB8B/NJLG)]J9>F+4TQV?#$*FUR+F7 -6*->U0"T'TV#QJ M!+2BO?^LDT7-)Y7VW4Q'Z232&0XVZWY2,ASN>!$9Z8#80:]<"') :*F<(H0H MYY8NPVS9] M/R8714JG")6G[EX#)(WX6B)=@3F)H%*_G4%@LJ_ZP+?J_YM_ M&^P&1N!J%ED;,#7.CS2E3)T0]SE??V"\:X&=^$I$%'O3 ,YZ0Y1(B+Y7/FE( M:\T1!D:SM6$&A!2,8F/:JW#F1::_SWM_((9+ >B.G83(VG9#VS'&[-.8H6*":H1^":GI M-+Z$VT, V^E6A0[6'@/1 Y:*/;?1$2,19$:XW,!O@,7H&?C=]E1B5P)>!#>_ M$&#SS2M@@95I*&@40;09@=:"YCXJ0Q".[Y\S$2E'4$R2A67Y%7NP-ID"9PU; M&,RK:"P&0I%ASO6ZPSR+.KQ1PF'MYD5I,2!6/*;"*V1%5/S"4">1B6:I=8;& M(0H@&>Z3=/&P30TRH,0+S1\*U?[02TFF,U:)+\O]MDR_Q67ZI38SBF\B)-0! MB(DU$?N\B .B4\QZ!FU9>8'*C95^X0K:QK,3Z(!72"15P%N_!5GYM,) TT!> M'4J$-M,[?#,.KD./P5Y^[3F,'(QC:]RDW2X"31\,=$Q!Q57R '8PLCR?.:%2 M3[Y(;QCP8U2 ^=:LYU^%]"GY$M^&2I?;1 MIV82'("8OF%!Y1R%.%?N7U4/ZEH2Z*39308Z-';A3=Y(0& M_>L3W&7*"@K./=18:9< MV_?" @*^&DER(5C#53*C93"(AC?9P1S?[PKVK-J]*'5?E=&S8YZ!$*@42Z$_ M86*#HFLA:JO'=;C][,F0PY%?GAR6=E&>7NF+(J =*8[+HPGNGF9:B.25!:F^ MD5TFV,;GTN)P!A6D(ZL,E@X>H9Q^':4C<7!X,+KF<. M^UEJ/#H'R:%N4"#:PVPH&4PC5Z!.IT".564(1?^YB[8GD(OF38%:G\S')RW8 M13Z/4DK,2]I@9$C>QD%XYF.Q5MKND[T:H]1ME[_L,HA.L<@M(4Y&#/-BDA=\ M7,Q*JDCY,DI3Q!+>NC#[@N A!C@4YZ"<<55 E"8]I/O4X'EZR5GF SDT4A6! M6G5V:;EK^#QSV1.P.TC+8WYT6LV"?S7SFE[(QCPI4]MA-14L!6$ 7(;JWCVP MGRL0J:\4]RW&(V[O)U.%)!OA]%%0[]"#-8M)5;0]29\ SJ@Q*S4+1P9 _B=3 M/1MG:9GKDY95+I:X/4&I*B_"(EBUP.V;V*03_(H@0B7W.M;Z7.**2$+=F2^' M384(3J<;>5ABHA",L9_5(&$ BXS6B&E5'6Q!X1:%9R2L6#E^L(6D@9\",@35 MB$:@M+B:]8/OX/GX<;VEK9)P[-9HTRDNG/>EU%6(9E758P+L/H,>N8^QSITA M,ZE0A#[*PF[..N^OH1)V,>I6-72#X['Z[ET1X]'I:XEC <"B8U'_@&A+L8!+ M2)=H;+SKNN0H<,EU3SLESQ1#\=DMTKE2#EL6S"SP?M:G2A36]:./2=)J49-A MY%((TCG>.O(*<#6(H0(-'3/,D'/C([E")W!%2TU&0A-C-;BX]LA.4NV;.,&; MH @G1=7Z(%-[VF*FZG:"DA& SR %UVJ/1SDIG%!%%A?[GA$<7 8-55Z@O?\6 M$#E_HP9=4 -VI4!OD7SRB1W]'Z@[ZAZ=I[+.[%H7_B>WWE"YW$04DPI&6@L[ M"Q^*'U)%ZH= 4Q]-;^>(K>PU94X)[WJZT7''\<))27"^,M]GUE#F9E1C+.R, M$O=VE37"0K[L1I^,<(!3E7X-M:?1N]T"4@L8Y'0G2R MTHK#O='6]4HJ^50((B NOR)Q@3R#KF/\Q#(#BOT@#"SJV 5W7>V^AN?FFCF] MFZ+K7]Q*;%D=)17[^>(>LJ(G.XUP#7XCQZ;BA4[@9 8)H. !D#BP]K9H>"CR M,BQB(<)5OEEWX,67()KJAW,OZ MLO+IG >WU_DM+TR.,-%FX 7#1XB4!N_#RB"I3.N*!1;@3UQI6("5#O=!_$SH M DVIP8Q>VIOTQA4LP$Y\7CJ=I 3@"SK@]U?9#"H+VJTS]D1QTG7MB:\V0IS: M.N4)YE"C!B5.S:.9<44IK)_R=253)#$2R!<5H+/;.+SB]7IVQX5,5#)=A 'M MH*L3*DXC7+36$+#X7]AJ(KL%#:M/S/!WP5SC-(WSV!WJW+B(C(00'E%S$FP3 MN_X]-WX5J'@ V>DA=]UR&CNM*E M43,LW2J8"PQAY(R*'P8/,W2-@.[V^:('QXSSD2\0%Q>/8,.=D[)EX M,[B\G-8K4CITR!'/MX\V*BMB>6I#85TJWB5O!\K-44^%PIC7N5VTATGFG>Y= M&%#O$=BIHEHGZ58+ M)=WJ\>YMPSGM/'%@0FOG;R+Y,^!9JO'/ @+27 X&T4U0+@^*3GX+Z>S%Z4;/ M$WH-L"_;YY"J[01115I]%(YMI5T@&2G[*(Z-I'GUQ-)[(I%C?:E?CW(0PZ,/ M!&6Z*JT>9=:\+N*-FOMJSD556H(5GS5DS"0-\<."]-:@%_KD13(@?_8F']MH ML',YS8=?M_*5[I$3',P1]RI)&H>1?8-4:'8:04!IR%KV\ OL)(-_ (,B+M\G M>>&VR>+7XMR4GGI !XM@RLDMHVL2^YK=H.[*O,N$4)L<&M2JA4_*)CR7'ZN' M>MHIK]&2";Y[9@^4O5,(R$>#%$WI13+%)-;!(J(<'74UY1Z:$QAH@RC2&&-Q+_^NS MX50&Z.TMV1W\&56;YE+7(4YG1!,_#?>\9^O4CUH3,@N,)P0QD[Z('QTW%LR& M+4<6(::P=1W%9YG'U+$1;+5U:,;QM1MG_8U#'1:B^_7$?L1,IHXY#_=#AVB. M!7Q(B[28>L^J=$/,;FV&:#S4<,0E2;%(!> '=P[ _)YW$*[^1,@&ZR[E)@!! M@)F['H$R[+ NN3!3:?0/[.$[UZ)G[-W12^'Q^%0I=(!.H(_)_%!6[R14E904 ML:.LS(MZ"LZ9+ YJL+1DN,81<@KI>SU]M<[F/(5D//@NV=5^:D;35T>GM;N5 M?I0@Z]&K_?Z+R71#^Q=+,J<_;:ZK/!RN_G'O!,8":21]GH25NG).&AH\! 9( M>^H],L2+_M3.TO>=)9X:X$0MB'>/K9C=FSY#:0_,Q 8N"01#\0QRF-_0<%:2 M,=^*/+N*L\@4]Q3?G\ES?ON9C\E+'1L/HPD<4 MZ'Z M>BX^2KL*-K,*, O%U;,N9D_FW9 ;B%V;D!= L/_KS2WX7.W\?M_Y9;7UIC- ML.'$E"V@$>JO*,!OC$:C*+&F/,Z'UO_.EB2:6\3#ED>"CAS(>M/@\T-^P 7K MU5#(<]"3^>80TMQ.4(01Y+ZG5&RF0&>NQ"RM$8$\ -F*49)RI48 O.P5!NW< M"=D@Y!>L%>*4Q"[&C\'HV!?C66K.64F1)), =PGCJRAX(@ M]IJ1UE-)_8S6)]*MR5(".-B/(,+LA[_CQW^&=/\HGG=(RI*PI1,8T#TDC,-Q5"!&< M[TM,B03#G?O.>6%9N8X*0X67: )I3?)N_:!X&DQ!K5 _DC :E\2J12];&K4# M=W#54G]ELU$A#"$9_2&Q1Z=6!RKY+2HU-L"IG^N%29OWND^BKQ MB@9 >F$_M#S$E^3:)%PNM>["OH'-IQ(KE6I)DPB'D/>WHNER"PWG]RQS]$RL M#2G7$[$&&)M5U\FTJ6IX]1E M*U MG0Q>TC*TG5OECK6.SRAYQM8!_6LJYI!!X5K=#7:DIVM6_K?-.*QXOU$Z M@XJZ70\LS!:A6)NAD&,D]++NZ/^CJ;\VAFB*(2K-5)H945IJ,2^N&:R). CH M.<7#C,U@JH5J_FB8W\Y7TWPA^"'+\EG&RH+3JNYPA2T.\5V,)NZ2%X15'8'0 M836NRZU\@C[P$(AV)A]K)A5JQ.ELK^(Q:F?CL69#J9XBWWM75$JAF;ZJYCDJ M;,1&T%%JA5&0(]QT[3P]UCPI35=V9\4O5T9+< .U"*!V;A[U;.*P@)+*4+R> M4<=[0"'0SL'CY82];U VGNJ8EH!T!R5DT=6&>K^C\4<6 G,%?4TIM5:T^^;Q MYHS.^AREF83$?6(KIYJ_4P:'J%7QG@_>G@ M#/W#C<^D?83F'3R&3!5@F+BZE$;6V;FFNO:G65E:5X6Z''"'?OE: *LQMXQP M(Y&G<\&F8B_R,! FZ,'<\16Q%HVN0D)R!=FSL& &C7P1*QO0&2"WP4MARR(P M'A$G$S6SR>>]OK2T-DAW19 ;J#0\-/YC1;@')9@8-!R>E^0A M\"_M#"P[O[G#CJ$)7*-6IRD)$.C->A.E,^Y#C<',>A$];-V"CXRA/6N2[B3X MG\JPK+N PJ+L1TH-A8DG'!>1=4IF0RK@\[<:"S557END1B1; \5[+UR_G>-V MQYK<&;[C?\\R\U__T3\]^.GHH-LY/#@\ZI)0P:TT\!V>]HXI3"." !P550D) M/(MO(.9G4E3S&-BU.TJ8*Q H )S(HKFU*QB!&4$]6=>9"W0;=1./L#4LO4RN MJM5"#IG!DQ>NW5BQ$3#(A+MA*5?#9?50" _OW %$&3K&BWT\\TI5*HI//>%7C$] M!U-V30K$.^J\.>A4A[PX6"YWB3@;);*>+3XS)W%9W[.&9\S=?W\@7UR M-(P*6N-19W;)E%WI^8(U&M&JXD\0"0+3\(CY0^H@_*'=?$!I;D!@#/\F^[#Y M8M *(!?BM)5>GSMH"9D37QL5]48 F4Q90L/13]<=#-P1A_WV?(I@USR<)3?D M)63F*I\2%BH\WJ9D9%R;>VA$>)9D;A@"1 E@FJW&TPI% *9HI)(14JEG7+G1T#I+X&HA1=*4=(*GE1O5 M/YZLV6&*1&3!&_-;0BJ[- 00)5^<)#W5YI#O^^\RJE&8GK@-Q5&S8<*5)H5H MD)\YK*YB8T?:=B+J%%(Q MZ)0#U.IB+Q1)(5B/#<#Z ;T_D?9EAEB@QCB'V)LYM[-+=8(K*AV9XL8(*3O1 M)P%I'XPFS&&:?#4I\YYCJ; R1V*%P@RWZWNOSIS+0(J"%'4+*!L&Y.+:":E$ MN,K"X9[#B>1+5\P=X*DA'V/ 9]>FE>XFV8K,L*8*2KF24@+@"/PHPGF-^Z'N MB=#/9+.JGT CO3/HD^GD0WLX=)D]T0XL#!08C>C?$*CNJ80)XK>(D%3@^2C6$',N:'I+MOYT%RQP/= M-:?:/SSB9UE;(FUYW-I"'NC$ZE7OD\HWV(AM'T)&#'+U9W J*;.!A01%\JKG M (P-ZLWP;2)5%=#*P=2T(*T&[HX048\G0FNX$ J*?(=O?]C.B5TM.K;>K/GB M"/0:=]TDJAX31C-%\5\O8[+.PM.+F](M@-3V!_UU M[DZ5+$<&$'\P"]Y[;,8#%FMJ>'$X6DBMPFE\!.F8\#$(7@YY4H^WS ,5[E[G MS([,E6,1 4._1H>YVNYTNV \'=WS6HT$N&=VI6*[S34;[.DJ2SMIL++J?$UD MZ[7^W3ZZ0>4TNKI"#X]%UW1JF8SG"@/,V39,\-+299Y=X)/[9UZHIO;%YUFK MFM\NCH=$B_J9;# O4#TH2^L6>5?*FE;0,@%V5*I3>?O";:&#-,J^VK5@AE^E M$W3A2\QH'A(?L)OENOD41SHRNN(S!+*E>%G(C=,1<),31H3Y04543:>9)+\= MKNX!D@F3XZL+#G8H(!-++JHFCHZL&UQ"@QCWK9JB7;[?>_FB3QBI$$]WN8^\ M!U-5*:U2ZM"*XZI=.XW?>QI]QRSNV^76"#TIN_ODA]1["[&Y5KHL0=2T',WU?,!_NO97@48@ID8-"K9:4P M?$AZ1-1BS]I3<$O6GTI+44SCUP5$?IB90'IENPP APQSV[! 4<@!:MSM+'Y? M1]>>Z=?)(!&EZ.# I[*TM0; T0&Z3LP&(5N8 8LUWZ$>?:IC0TDN$X@YA("@ M&&#_"N!4XR.^K&@'3$OZ?X2=0H[0%C?5S:KM2S; M8UFBE[K@7I.C&C1:32/0*]QN7:+M'= M6:):XD&\":G9*9#I(W@G ?%C&DE946 $,+>HNH$?)0493'+?&VR (CJ M\R7JFYS[X'\)Y(\HM0!VDAK*V"'E-K*2=8DYK.MP;*C;8( YL$HBN@Y3I.2IEG_;@VW!JB6Q M=%&0J?\NN1X>R^?1VB\.#(_$)"5?ASS-)83D<08@P(M!5IW_RGSC8>>' #$'_4T".BCO-9%?1 M%3%;N4L[Z"*I9C)X42@\27R2)3%!+@X((7'"$9>Y>[-[=E=?N2O'N1V) /O$ MW8XBP3W;8%;)G&&L+%QXF7TDF**L8MF'^?@T0K3?I_ MJM)*4">"0PH&D&12.2E 8&VGBK<<'YW$?]M+^F8X.!R8X<'PY=%Q='@R.(V/ M#I_')]%P^/RH__+E__6/3O>V<^W40]\N[ %"/8F'/?KS2U:8JZ0D+.RE-,&] MM:>3G<)+32X1=[X0^\A'4FWY0V# P+4#]V]#F^E#OHRF?H= C1\9KUD_?7_> MF5IWG[[&.SN\QS^]O !NZC$9 M6\S:LQ#)M1-[LL;$;GP63W@6?\<4Z$6&= ;@>VWET=(T70?/ 1T_*X2!-(7, M\<@N1NN#,3E9MZ)YZ(INUHN,S0B5HJU_^&EF@['^:;3??S)ZVNV(*B!DC;[E M@JRC#QT,3O;[#M@<%07XF&,140:X7>721*4*ON_E_O]T8 XZQP/1B MKY-%8_N 9AB_^ES$9T5QD<4?[(_V<&^-]E\<'.V]OK3!5.=_K(=N9^JOSX)+ MOB8H-*Q5NVCO=;O/R315]SO>>_T&J[*71/DX[_Q.ZV/QSG>Y'2P46"=]>]// MQ3B;QN_2Z&JO0[O,FI';Z:M1Y,"/CHU<^L?'7;NJ MY:WE&5\OZS6"_\Z#==;B.#[[3<#W?>_W\L'OP MXOA!1LLN5*C*T5#U.M@=6K,@D?6%FHT9SVLM7SF:+]3^K(%$&7=G>W&-/QD^ MM==^"ZV!>N5/4COJ<&7H+W3=<;K#L.Z1^2VQT="^(#"Y3"-2X[%?NKOY.(OS M"=SOW,Z\'^87UF29R13Q]IWG: L/J[N2FFGC61' 9>N&;^W%"J-A_TS2SMGL M"J;FJ"]V&'KHHB)-[/,D5";5;?BJ];/N 2CG-IZDQIJ@/_[4+EV+)WHE6M]4'RZX)$WCZ3*R-D8MU9=WN=.];],_^ ,OM/RTK-RH#[XZ M-RO4TCZM\/(B>BU,V/MC-UK3W;NCMQ>3FTHMUPMN:J]J,E;_>^M!/7<)FEZX MH&FS4""[@X?[=JG"4?FJG(VMR9C_M 5VHSF>ZYSV.F]OL7;QITAP?L:F 7H? MI)WU,NQPC&"Q$#82O[.-76-SBT? *$EI,_MB@F'F VY3@KWJN^F3LO-WQV#] MR8 W 8[!.VMV[+;?__N]1G.(- W??S#K%\C;?_QZ\?/%Y\[%A_.W_UCG=;!, M_]S>O^T= M[?GS$2$VKPXGMYU^:(4 =5/=>+3G-F6(V%I;]V4 V16V1#P"2U[N %YM;ZV/ MWG4_>\&QHNV_A0$&RB$HM[\ ]#89BA7UGQPO<,NMD(DPO[L@3W]'HV8ML MR)\_ZO?Z#[L 'GY<7(Q8,SBCT>.!9/'A8C-DW-,K3'/!I^PS1;4A*4=&/VW\ M 3O7!61SKN)YM@\IO(/3HX-;S>TZ-#8=H&0"6.$&]M\= M#/E]/[K*?$;#KU=%;I?L/H_Z<&B,W2V[9#H/UYBZE2^ZSIP^Z&"U]O3A[.GA M2GOZSO&Y?B=[NJD%M_-&]KL,W%9>XV%3&1LTR8>]_E\VFKYH+>P#6]C#A_)8 M7QZ<;L!CW25[.2NRI+Q^-,>T]3T?U- =KF/H6N?SSVP:'\KY?$#3V#J??\"8 M[J;SV#J@?MK[!_W>Q8?++7!!-_'V__CYT_O.108-MT/3.<^',P0 [C/1*/\\ MEI_'N2'QCV@R 8IEQI%A@L=.Q0)MU[=QJS'Y9M?M^6DV/KQPNW].;K-LWP\MV'@ MU!"7[>7PVHPC9X"V>#QWWE+LIKO1NBRAT7ES]OY'=EEJ3,B;*!T*4OQ]DGT= M@/CE'0Q*ZTBTCL1F]_3YVW?;8K^W?KR:K, Y=(XD]S8"K5?1>A4_KE?1?7_V M<^M5!/;D?30P:>M/M/[$CIV/X$]\_/1V6RSWUH]7T_[_2,+*]P\K6H^B]2A^ M6(_B^ ?U)MX@+?9'( ^NKXV0& 5* T=(J.D_%,.'DG+M(@DWZ *%= M(^]/KW,):A"5(:AY'*)B;V[7MW8F)QWZ!!AQ-0^,>AS_%$?Z*;JB*WB')^^" M'**9(':%U NG3CV*%$V >A9$[H6@&:2BYOH52M"KUF_13".PDU0=)_V]UUM! MU;&2A&%#'7^7%[]\./O\Y=/;R\:)WQTVCH\*S%61]"G7M@R5G0,$WO',[AK$ M6\1DTPJR9&010 <4]=<0C#$PUU$Z$D%1- '\ =2B M[M@$U\7+E[T7)T?WH;HX>=X[NB?7Q;++'O7LOG[XJY[T3D_6N^R:T4.C_W&Z MDWP(OQ1)W#F?9_;:P[+S*\D+E%WK,0]#%!$/3^7(Z!_3VMT*[V[7&"KJ+1TT M:K]R9'K$2W<'KWL77O'G^:L_V1L]*Y]UWIL\ T64]\E-.;Q.IO^^2X_]X^R5 MA^Q0W^CX;N'8[M+P-74/071VSB2%Z.H^^5C8$"*91.GBIY^VYT%['K3GP=KG MP5F6I)US&XO':;1Y<_6G.0JV:UAW:>0:&J6JAM]_ (Z',Z),MN^XY!Q8R*LV MIT^V,NWT;)#'<_O']72EAU^F'-)9U+CK?D71T)-N? M?GQ>N. 141\3[ZK6/#JN >19Q,;>[*KV,+FM?ZS]^/G=NT]_J]=_O1[=@1MB M!0OD,="A"#)D@R?,YH#-$?B%T&_X$8*A"YE#Z*)>_RS).F2YHG@V9Z!UW#J) MJ\5WZ:75:AZCU@=4;[7.[/II\\*J7UR@\[IS?MHZ<\XO3IIGIS_,+C^TSN&T M>792M\_A:?UT^@'6IV<7L(Y:'T^MUL?6A3.U)--G_]*WYF@! 6^:YU\^^U>U M.6/+RT;CZ>GIZ.GDB-!9HW5\W&S\>G\WEE5K45T7>]]RM9^GU(WKGS3$[2GT M45Q]9J^\7'51<&2114,T]?C\Y#BN*?C@+9RQYS/H60EGF]$Z6RV17TS#;S?$ M;2&G53\^J9\T%^R]5(^GKI=6(*$NI(1GYR#J:D<>&C;!)=UBO+GZ4Z0 Y M)LBRR\B,JXL?!3*AYQ$FZ45)5+9<8L\A80$O$JYS&?O/"#GQ\*U,# 6=5/YW M":E%B:OIT8TE)4M$&49^=E*1#.84.5= ;]FVY_+'^,!W>]FS8OO&[?M?N=[OAKMSL9FUB_ M##LM/BT.RI@;%D4 )1F^X'U.WC_?\([L-)[PO_?=_F0\N+T;C,?M/K]]/QQUO_*JO9^[HNSER!M) MT?K :5D?2,6"P2T00@"7#'*B97%%W4'%9W [G@PZ/WT=W-UT1^/NOQ]ZD_^4 MA=^0JQ;NLVUP%X L,,[*^+< 6@H"45"%P^Y %%!%'A.-2%1]ZMA\L%I"NB./CF8<=/L7Q]ED6 M"3R&O=F2N-CBD;L)RB]AKX7[@PBBL6^YQ.="^$4H#1 'I/( %P@BB>).1B9( MA8)8:H6@;UM_!-B7W(RPS-77@O-Q'9PL>86L? LQ_1FZ@=$*,JVLM>_%NGT% M+9#$%;+ND*(EQ#9Z7B+/1V)P(3PHIU9 17@.?1\Q(]\VXJ/#I'F\CDG$%L1\ MY6 D.8.(-0AY5PHRF?I9<5,@/B(LQ5SM(6:&4C&I%IBF"DS(20*2\/H!<&X5 M@J+'-?=F>.JBT L-82@BTT+06H<@Y1+U@:I9OVU9-$";QAP7PREV,3,,M,R9 M:9$Z46=NR7O;*)814"$$;]#4J,/(>EJ[GZ[;79!5R)HC](@\LS@IKJJUZ=FZ M32/*"IGUCH_29F-(5%-KU/-UHX:$%;)IS^-&0PP^FQDV6UUK7655&U(#25XA M&X\9L>2^GJ8^)N3=0:BVO+%DEH[KD!+*L*H1"%U(/>S.?1\O^'%*C MT5FAT5I>6N0:"E+V PW M&??E^%4(E'$P]?E"D3= 1!!F606%1FM^9:&:L@ ACPJ9_ 7)X^'WR5$G8K8 M>W%Q=OKA6 %V#[EJ\#Z67Z4-Z&P>>0*GKNGZ6*'28J:D++),P/N0395,GZ2G MS>V^3J(UNI)]2//:532Y26+:'(T2W+1 *>D*XV1W-7$L3%V7@6X; RU:2B)D M2P:\BO@4Y+3-L=E,K,5%R:44I\6K"(EQ2KM,%%".I18^)5E3+E=>15BC#*PY M:'D"+21*%B>BKZ*MP\2LN:ES];665K(V(7D5#5V<C30'90.E%@YEK:]F,ZL(1';UW(=4Y#P>T0UB$+NEE_ *O1:4[8MYD8^) M.(+W$<^J8M.682<4)139/'[)!"P\) T6R-X1M1*O' #BB>9^7^B;$<4 MMW#2 JAD&M8 Y+R!Y HRW"N)79(;37X,G$Z\O<;X+Q_;T=; $*Y$O% "SMV9 M:Q%6A:$; M12N>?9>W"[OG,%HCPA24DQ(,C)-([W-.OH8_]G?KI'N5J/4%)DF0](=$D M":)X[)11!G!M0*P.@"Q+S'LV!(E20&I527\RV6HIX29EV&G15Q(W);9N*@EE MLO72S6R]E$)O*P<=8.JIG-SN37=M]Z:"$!7LP(SC$QSIO7;97K<+6RV82GIH MPY:/./R3' 7)U&E7MR<6X'$;B',T[06A#/\IU>M&@UAHGQUAUK+5PFSXP(N8 M>Z4LD!4&8FDQS%5"V7B7KD,62^*)4W'$B8BZ*=% $'5"HDST4FI)_#T4T7K2 M"Q_("0]Q1OJ)L20F[V;)I9(@TC(7[55QH#%&?H1<\?K3(:2OY5O%$K1.4Y!' M*^DTD6 02:ZD'XA'L'99I!?2:3%34F>"3>57YM'^_2XP;"+5(J&DN.)#!&]@ M2#MPV\#9C**95(!9O1)B$'6'_ M6WG(-K+0@K7Q:(Z(4#),@>!:991VCBJVTFOQ4?)"*3YOP4!\FFJ7>6@#I0Z0 M$R7O$YVPJOHL%)I!_NT0OTPF;@.E%@DE:9,@(7\ P:S"4(C/)]B!BX@S#I;+ M\!,!T)7W>COM1N_"5@NBDI))0(P%B2@A*RI"MU?QG>K03H/P035O)B_OQ0-L M93,J9HRT0"H9D03(A'6$7,K\#;A-]OZMN3?H.*LW\/:7[4Y>&U%JST*ATD*B M)(NR[YRHI.V+#V2G\Q%:+%VR0L@OK$>1168>_K/4,;I]B]2BKJ2;-AX;ST^0 ML2+ WU0_5>;->1*K[+)P,.2DA5K)9VV!NMI+"UTO)$MQ#2UN(,Q6>^S>Q8RU MR"H),,-.'(H#L;PWK L@X8UC%%L,V7*D"[A@Z-D\2)&K <]":?'^_6%WX5J? M,7[1T9K/I"J%0S\0TN4^4D:MW*TJ>]?ZXT,IM&([-F!1QEL"JH1'[5>@UHL,7MJTYC\9-<2E5$2Z3Z1*RH$K \;A@U)OGI,!LNTQ M; MC\>EY+$Y9RM51]]ER QO9#B6+'-2OXDQ[TD'G7Z=*\E/K7UG-0*H:B'4# M0KEU+ZR>SWUJY+]X%U[GOHHGOHD7?>E3>J3PC=_N Q9 ]YY,L8O:GMU'SVR\ MG".*[M%BBF@-P"F?'_B8?U5C5+S(4WS6[ZJF)?.PZXIG 6(R^9'42PXR)O9$ M?JG+#L*-H1KP RX#LT!FD3\1!+C]\3C-)O M "IMBP]4#EWHL7;FF&;H.]Q!.G#)IUI7+&K&Q&%/W%%$TM??WOB7\WT]ZS3- MS=,)^*R^0'3@:< NJ'@0#0A?MS5PK@,?>\@/W]RU"O].N$=>NSQHR3;*@:Z? MM,J0^C5;RF(Q)HTEG@7]><^SJ,BCW:#P_YZ7S][%A[Q6F]M=FE$9$X3WIM 5 M8>-5C?.V,3.T3%BR(!X?J>G*P";1\:<1FD(F'O_>T.+U:OKVA%^Z9=^Y.5W. M(^0'+A.3+5PKOA=!L-\'+&>^\%84E,9.+_R10S M0=;<(RZ9\3" >_'VL4M+=A@C6; 0D!!Z2ZB,H-M)*']'_"3,:D=-W-C8LFQ> M"5:QHO1F!NV6ZER+)6HGLT)M4PJ]F:QZO4JK#.%*%+7Y;&H/T[7I%R(^/+C! M\_$,>94"@BC4Q3>(G' V?M=%Z2R2%$[:V-K=SC6C=N=4:T^';.RY?[E>AQKX\D&@^5'FJXT&C(*Z!^%W/T,JX4M.HHFC MEM3?$IYLH7C!HLM&T]?#ZL'C#N>*U92%\*-\X=5VP+80' 1J<:_,K'GB*;8; M[\['75';M.@_I "]WU.>?DJ'*DPU_J%$/N)-_6[3+M:'7:?8E]UU#9, M^HWP;,X&SH,?VN*E.42%W:%.:O)!V>C!B.W]K*CF(70TDT6]-J OR>00VBWQ M^(+(C,+E'%LC-,/B59*$]3P;/V*;C^SN*MIQ1+8!MJ5Y'<0\$:6N^HAWMR$E M%D*V/X'/OV VGQ-7(*FFN5)H-_;SE[(]V)V#.SXC#)R.E'$++;G1D;[6[!X^ MXT6PN":4DJ=P.X_7V;*GLBN[0UV0B>!N0-OV[WR%SQ>0#Z/>]6 T@DR76=21 M?=^^(O? ?3YF+>#G=_\%4$L#!!0 ( -R$ U?O?JG0(1X /4L 0 5 M9V1Y;BTR,#(S,#8S,%]C86PN>&ULY5U;#;]Y3'_B3U^A-,TR^/IQU\>__[A!;C'?_[3'_[PQ_\"^,>O M[UX]>CY+1XPQ/SHZWCYZ='R$S[Z^VS^S_&7\.CM)"S+;'X(\*?N M?WLV^WP\'W_\M'PDF)#KCZW_.O\Y"G3M)^IO ML/X8U+> "Y#\IV^+_/A/?WCTZ&0XYK,)OL/RJ/[[^[N7YQ[Y,1]/?TJSPR?U MCT]^?_WT]^O35T]?/SMX_]>#@P_O M29CNRY?'G_&7QXOQX><)KM_[-,?RR^/ZU5"USHQD%=)_W^7KGYSB3V&2CB;= M<+VBWUC4.<3P9+\>X>'8TG].D&7$3I0^)2)P"<3VE "Y8(GP),G"FO$SY_!!6Z18D M7J?V$A:QT_WJ$4_JV#[!R7*Q?J<;[6ZDKT=Q,K#;R_4TI?D1YC-?_'2:W] 2 M,#_SUHACU)GS ++P""HX!T%; Y:F,Y?>,NU:B[H1L//2GR'6TWEZ-)MGG-,R M^/C15ZQ+UFI%/$$9YND2X\[/QM4GGBR.#@^[[X3Q$@_7_W^9SPZ;,F0YZULQ M)Y0@L7;ES $M#K-CI$5H4JW&%8(KY*'DPB!X1NL[RPJ\\@Z*$S(KP4/BJC%? M;@6U"5?$P^1*6X4TXPE1>'8T72[>AN,0)[C&8J0.L7 &JLA"G#4DI)06G/8T MEEDR;;']8G(%DDT8(1\F(QH,?3,:O/F,S:5H-L$W9>:,C)%-H@+.+X#PMS_0> M"\&A%-B:X;>"&JA/?2 <210 M0CJ(R4H0Z"PO7DDTH3$];H$T4"=Z)W*TU$(?J^!Z-[);XO>6?+A"4(( MW(!S,DDA!1GNN.=\PV!\YIT(L.-8]Z%SBO7?+V?IGY]F$QK2Q<&_CFBY&KD2 M@Y,9H3!CR"M+!5RT%CCG,1FF>98]9IRNQ-32V@M#LXPE"^BJ^\DXAQ@I1,F2 M7(]<(E7 M&(6D149:;"WYG=[X!,(7QPOWRF??F ,WP!FHN6O/B58J:<:1*^1+(LED2*J0 MJGR>++(W*D+0$LE?4\8*TY@:MZUW@[%_[1FQHP+:I0<6"UPN1L&C5)'\KZ*# M %4BHZ#4DR>6728IC%.A>=*P>W(;_&N_PD56F'">5MF:5]&<_ J1'$CK5,R& M((C6'OTY $,RMX,AEE$3V!S3396*8($A&"E1F0 M.>&4%"RIUKF*];.'9*8::'6K(>TI7?VN#MF;\OL".\%&(N0DHU @$ZMI]!+! M6T:V47 M6)%2A=;^R8V AF2/&JB^W>"WXT/=W0ED"%M5K30_\Z#W4SO+\93$O?5^$O-#"W#].,X3G % MC;B(W%F3.$5.6G(R-IJ#JVD"5%98*Q,M3ZT)<#.B(>U0-&!"P^%O1HFW\QFM M3\OCMY,P79++7?WBSS5HJHBLM:[4"U*Z"E%P*-2XFUCE2O1[,)$>S# M(4*C8>\S46%MRDQJ#W7K%92A!2IX@9"=3T&40%:L=9#7/C%;,T*S:?>]?PN3 M(QQ)G86D^00IUM+>X 0X3?)I;ZUWLAA56N]57L0PI.AU1[U?E8#;>KC;)5MR M'E?9P^1M&-,4>Q8^CY=A,M*:Y')% ;.*9A8S&0+/"9CSNJAL<@_UGU=#&5*H MVY@"+0:_&1/>X3*,IY@/PGQ*X=CB:4I'AT==>2&MP.,T7HZ $C,C="<6Y8Z^V:VU$-*1YNS(_&*FE9P+7&T85OM)1]GN,GG"[(>3\Q MTZ]FBVJAWQ2RUR.>?3#%6@@6NS0R!U\,,=MZ&U-RRK1/Y=X-XI""ZM:+3(_* M:ISS7Z=UZ7DNJ91!LEC/% 4.T1B2WC&/*07N='/C3">931*>;7IP>S(L#ARG0LDQVWQE!R*0- M17%Z'71C1ER/9DC>5SL^-!K]AFE(_$P10E>J/3(N)*^R!C+%9):U*1"M59", M=O'KS_OW3U_3GW]Z^._@K??3EWP[J>^'EH@D;?ZT,_Q"TYF MW5[,ZMM'6>A"ZV*=8YDD3(P"5$0^6RQ>#N?E?%R)$,M,U<"9!"1%BY%WC;3 M!C 6\MJB5-ZU;AUQYO&[V\4O.#W"%Z3%6D0_#VGY]_'RT[.CQ7)VB/.#;VER M5-LQ5<>1_JL1QLBF$'4T'+AWW9#'>LP(P6:9K6.&YFOK[>(M8 [)AF[+E\O6 MLU]M-3PQLUB^*2NX(UJDI5910;%)T?PO"6**M:-'9EH&)IAN39AS .YH.>%! M<&'[(6ZFY=>X/-V!&15#0:,6!73N=EZT!,^2!.:2S*9DX7SK;;)S ':5YGN! MSLJT_$J6IRJI!):$9AFP1%N+?R+XK@N<-$PSDX)VK>M(KH%RQR6M7QYOK_R+ M3&XQ\,TX?2K3>I4=3X]H25UY-;/IXEZ3YQ\(U68AK^\33,CU_2H'6E MP'5]GG5^[X6([J@29+'@^@K(<7LZ^'=$NM_9/1)>53"JX7)O4BSI#B MD=9DO'_]MS\>\PH8+;UPKP4F MEQ/)00.J="8O1RD*&XO5R7M4B;?>9[S6"Q](OF9+?5\*P+8\,U=[Y,"S'K-1$Q%JM8AURT)R7OV*5OK?+I@N* M].OX3W/WVTH;^?\H\%^=*>E&Y.ULWOUAN9R/X]&R[OQ_F+T-)SO_R9.O(1R( MQ HH96HFE04HBIOB0G84/;9>-/>?A^\Z+-=*X8*&PR,CB%P]>\@ V$DL] MTIIH>EDOKD4T)*LT%)9>N4"TT6FO 6@V!H4M%FJ;9W).E0/GR*<,UI$9]EXA M:ST3;PU []=D#)91.VKOONN&WKQX]O3]7U^\>O/W/NN$SCYE3W5!UPK6J ZH MEA"'Q2>*_+^,Z=M^/?Y]40^QOIQ^(4K5/2;R+[Z<-&7SM1UW, &TKKT,L]$4 M' :$Z(I'C+6TM'5>+ )DPI)-^_7< =\@TJ(W1>_6NFO M/X:=#$'WWDC[&L:1-T"1'MGQ9$EJSC/H(@LFM-KZU@UZ;\)SQR*F'Y-!V^JG MY:;^58*_("]SFLX+[I**V2+A$YZ#XCQ!B-U6;1T$8W/F/>0I-T37:N:L[JCY M,".?NQ;;U*.M]* 7L_G[3X%F?" -25# 5;'JU%2.=E:IF]T(#K4ILS>\@+D M,66'9P28NZ"PE>SZ<E+\7UT,;I9E!#"JSW1:NFBFK8%N/S MBN]ORM6P2BI),<= YEQO8A$:8B#K95D*G"16AK7>.;\5U$/P!%H3J*VF=B90 MS4FLU\K.EUT3_/QR>;I6KC[[=#X/TX_8Q512"$/A$X-<@JX741APA;RC*)-( MT6C)S(6EZ7("I@&..Q[Y?-!LVK?:6@/GM^4YQB7 M+Q>+HWJ/4.)2/AN K&U.KN(DCS*4+DQH"@<;'",9=MZVYLF^!Z""'QKH2Z MHN:YK;Y:5H-<0':NTX5D*3);FWUQI-7#4UP5!"KPTJ50(BKI6\^BFQ$]A"1X M_^S96D<]\N:J\W(G3?J-$N3GL@SR:N6CS[5%_2XGI8UU8*ZV]Q@_E(,19C M$ Z"T1X4BZ+>DIM!1UF<\IY+T3J5O"?1AM2&:4^L'B)I>EQP5[]QPS:*ZI$_!X>?)[-C MQ-6>W]D+13.6Y*(S(#FCU9+83:Y#R)!D,!3I:.::7])X%WQ#N@SCWEC52'W] MW:32W6=)_YYLU"Q&05BA<]'$^%IP:SC%RJD8T#Q(M)J"Y^8=H&_#M F1W(]% MI*9J:DB>SW-,X[ ZG4-^W7PY_O=)B8',04;KZMGP4G?X+ ,?7:+E,H>@$T_D MUS7GS;5P-J&,_]$HTT8Y[9K375V+8F(*Q%!3K]B@J)=["02M^OB)*>D$^6VM M-^UWJ"!B/Q9)&NBD_P3I>O&[L@'LR/*4G$<.MM0+R(RI!_EC(CO1/V>F!B%D&Q(2,B$IT54QN[4D( @K3*>> M4;"0-,_2J5#(SC=FUDUX-F+1#Y8\;Z:?EI797\8+@O-B-G\^.XK+NUZ"8\&S'F!TMP-]-/_WLD9Q)::Y?N M=-4\D^R2#AV3)H ,1':5Z@7C17(H*0<,3&81^]^IOAOFC9CWGY 6[TO//35S M9=ZXZ#!0'.L$*.4L0:@W^#&C2N11AM"ZZ>G=6U#]8(GO[370KN,:B7GACKEW MN%C.QVF)>74'W?DWSGSR+<['LWR9_:NFU ??4K>7_2XL\: 43$L:+64="@16 MNN(-P<%)BEW) ZP3 *-+K1VK_4JXQXI26?M)H4[ *%@#56I?4:X4(#?H]L M=93]?F]W>?CTW%7]S>AY(N*;G,Q(AQ&=?* MOA.0Z]Y&Q*"SN8T3D.<_\IWS?YG-\M?Q9#+2"B/S18(3!D$Y++CT).E51I<D508L]DG"OM]/307/ 2>#,@B MI? 43[#[H!BXE=(&N:2NV_6G%+=^OB>/61UETA*BQ7M1:R,G5 M,@!*X[0E/92+E\;L(:>SA2!#R$ ,:6% M3"#(,H!24H!SVM<[O$N6M!XG;'T4N7^IAI"-&.),&BBO[GN^K'VG*^5[C'C_'S[/%>#F2-NHHLH9@C*98G3D(MN[J<,)B M7+:E^>TB%R ,R?+U381=1K\9!?X6)D?X-.BS.DC,'IC984MYYPL$X M9.MLXB;:]A>IWF8?[[<(N6]>[*B#'AW5DW*:<*:29HK+G7S3&[]Q=W=T<\#- M/-!K2HYJ3&1"9LY1N%&,<60!-*_'PCPI59J"3A>>6Z^V-^%IT'3AZN_^R[R> MF8U"))Z-!6YK(E:K""YH!19CL5Z+6LFX+VD[1,/R0AOQY(I."ZV4TJZ?2TI' MAT==N]"S/?WH]02O:.YW?=F>S8G6/Z\AJMK5S8H"+M+H&!ULEL8GW]Q=:85] M4)=1],:^>]%T;P;OM"+N)'5!MN-]'>'Y\:R<_NWIKAF:;1ZSJVG<6;1&]O+% M>$I4?37^F"14KG2.H%Q,Z)=E\(; MOOW,W#G7ZM3J()*HE708.2A11T,)!]ZE(+/GVK+6A[7OCG)0NSL-275Q@>M9 M?\U,[@TX3QP!9U&HZ.J%I=* 8HF!5[3HTQH?D_.&F;S'F;6Q?[:OY-#]4.CN MJMFG[7MQM#R:XQ5= E<6HI'MN_4Q/=B^NXFV']O'5?;:D,]C*[W(5>?$L=I7 M3PG%."_)R-;.[OW9OLLC_YI&^<-7G'S!WV;3Y:?%"(L(H5XLX 36'DP\@Y,B M@S7 7F_\4P__!U-O(4!U$\(B"% M6DGA(@4ES%OPU@?MF2X86W?(V@KH S*D^R/>-DJ\3[X1@7"$*3 9?8!L2[U1 M127P0D>PPK,LDBR>M\Z];PEU2!LWP^+E=>)V.Z1#VA0:%.?NK,;[I!Q]=N2R]#%D0TMQK18S.8"O MA[,(:;;!>VF;7_NZ'=(A')T;)N7NJL9[HMS3LL3Y=\ L&U9H0,!P5IT!'@EZ M*F"D,TYDP9EL71&S ]PAW6HX&/)MK] >.V1U9Z2N*8,\TT&J7EDTF];67K-R MX6!56)457#Z3M5-#K7T V[W_UMZ'KU%&Y_K6XN>. +F@1/"<=",K1Y'7_)Z! MY S99R&$"ZW]JXV [53SOWK".XQA23(6R[7(J@#C40*)*R&4F(&L@7%!:%H, MTFULO>)[AY12::_L6'":=T ??TGA1KP)=G2Y>@Q(E M"9.EJ4:;8F5=+/D.+H.P3(I@5#07UX[=RY1OAC2DY$;__&FIG[:%J>^)P_/C M,W*N(86BM4PJ ]:NZZIV"W:8:VT3-RH$GWAJW6GW1D!#RDST3YAVNFE9 M?B1(]&HQSMW-#C5TN6 V,6J&K#85\-[0"ICK1>>E@%3*.LEI16Q^KFI[M$/* M&O1/LCUIM;?<07_3VR'8O^:;=HW.-P'8*)S^_I"1\#(;BG\@UA[L MJG@/T1D)S$LA>9(YZ=AXPGU_>-N[4SMQ9"J)LT N$QE&4!P#!.=3O2BQ=HUG MB7'5VEVYA&)(L?1VFK[Y=M,[CW2;Y@=_"_/N>/IW#._P"\X783(J.@>E10"N M&05;!4G(P#0HQIPQ.D>]8:N":Q\QI#AW-Y4V',IV<>NGV7SY >>'IZ)QTHP1 MRM'3521Z!0->6 W(9+8N9DRB>:AZ"<60HM,V$WG'D>[9.)]?9GX+RWK,=[?$ M_&9?W,9TWPE^,TN^6"!><:0*E6%^1%RQETIB0E]"Z]=,= M(0[+@^B!81?7I3Y5V,Q,;03R'1Z&,4WL>;V_>T&JJY!'F1=G=)3@LZU->P2# M8#7]JJ1F@JG@T[U0[DJTPW)VAL*^W16[7R*N9TM7)5>$MM$CUMQ@O0F<' =/ MB %C]([<"2-$ZW*,.X,%XNV,QE"\+"AR-B&"M,XK$V7)S>_0 MW1;KD#8H!D6]G91ZOTF0T86RD89I$/KJO21"+HJP_U2(*9'S!"BR *7)<8_U MR'&*+@:N5%:B];5>^TJ%7/.$D>%*%NL=(0NU2R(9\LB1XF5NF$M:I91:5T9> M ^6!IC8V9\S->R?;J60_5N_W::; MEY+4E=M*Z /-'&Q/;?Z5^>&QF[U?OT1"<.?_O#_4$L#!!0 M ( -R$ U?CZZ[9VT< +$^ P 5 9V1Y;BTR,#(S,#8S,%]D968N>&UL M[;W9&7L2UE7CS%3RFK9*$7]DK)JY@H6BX>$2A!08U%* M_?3C 1#<06*) X 4T\I4)$B>\[G[%Q'N'AX>__Z_OIX-?OB"XTE_-/S;C_PO M[,T@3,MH? ;P'_,_^V7T^=NX__'3] ?! MA%S^VO*GX[\FP1D*BR"$SJ"X3^ ]&BA&"5V,EURK__GQKU:8$+F6D$U0H*(- M$+4/@,*I))SP):;Y0P?]X1]_K?_$,,$?2+SA9/[MWW[\-)U^_NM//_WYYY]_ M^1K'@[^,QA]_$HS)GY:__>/YKW^]]?M_ROEO<^_]3_.?7OSJI'_7+])C^4__ MY[?7[],G/ O0'TZF89@N7T"OS].+/[R*1O^T^"']ZJ3_U\G\[U^/4IC.#?2@ M"#^L_(WZ'2Q_#>I'P 5(_I>OD_SC?_S;#S\L-!?&:3P:X#LL/YQ_^?N[5[>1 M]H?3GW+_[*?SW_DI# :$>/Z$Z;?/^+)9D+&$V6#:$/'M9S?%.SH+_98* MOO7H!FCG#X(S/(LX;@GUVG.OX%R"O(FP/O)C_C;\2QJ=_32']ON;D]]?O/KP M\L4OIV_>G[Y^]>*$OG[_@?[][>6;#Z>_OO]P^LO__L_3UR]>OGO_\O___=6' M__LP_OH&J+,N,Y+-@6[QEBO2$&WZPWZ=B5[3M^>OJN@[E N_3G&8,?_X0S__ M[<>^BP5]*;%PZ90S/@1-7"[)!"VX*;&WQ?NJ@$L1!Z-T[?6#.O6.+K@R"!$' M\T][LPE\#.%S[_V4UL&Z))).\!5].>DIGIV1N0"S18(J--4&A0*8YRD*J=$5 M?IMIDR5S2YC$.=?.7_%3->%/.)A.EI_,C3HWZ&H4"\-M+]>K8:(E?H(OCP>#7T?C/,,Z]A$DH;C-@2AQ4)O&#DHKF M&BZ34=EG81H+O2'$ZQJY)//)>*F;\WEBRXFDC$=G3;DQ'>W/) M:D'P__C : MT^/^]B/;E4'O/X4Q3DYGT^K\5(^REZ+7$JT'YVT$Q8($KR2#$ /7(C-&^F@] M,&Z"V#\+.C7;J*7.;Y. [TR"6Z+VJLL>G>(@9$F@ F?@F>" JFB:RZ/4I32? M'F^B>.(TV$WKMWD@=N7!&YR2 D9G^'HTF?0J];3)"E+D2+.@BQ L)RDYFLB= M-8GEQA2X!N!I6W][7=\VO-S5\"?Y7[/)M"Z"DP^CDYSG>@Z#MZ&?7PU_"9_[ MTS"8SUHU+LV_C,X^D]<_#W??(6EETI_B>QQ_Z2=\B^/^*+_#-/JXL-8_PF"& M/=1%BU *<5HK4#XE"$E&*)HE[A*JJ%M/)UW+]+3I>52,N,UXU63)>S69S#"_ MF(UI#5[ 7"S-\Q^>?JY@)R^_XCCU2<:>\$5C9)96Y9Q!T60,P1<#*2D9#:I$ MZ8YX-A\#=P,NGC-)_X$3@7S!Y#1XK2*X(IPWVF89 M[7YHMAKD=\FR1C:[33*S*\G>X60Z[JBD'YU-.P(,T- EK"CFL%1"**.@,>BM:+\O;8GW:E-N+!6\SSS9F MWF*(W 1_$[.0K(A8+#!K25$8/ 1'H8XQR5AR!!!%ZX5T&YS?%>/:6^XVV]RN M;#N=?L)Q]37'^*EN.WS!10A%^L#^Q^$OL_$8A^G;AW$@7S3-;37,\^\&<]?T MTJE=2O=V-)[_8$JZB+-IB /\,'I+6AA.>^BX1$["JEPG=4T^1+2"07);J!GRTM"Y$0X"\2N!\+JI8YC6V3MX\ MD,5MDI84)7%MHR)&> H=(V:(S BPP:(E@6.(S9/3#Z0E=]B-^E YU-/)!69* M!&V3 V4%!YX;^*H.%$<*7$H/.=EAW4>%<._8?%AO%?TV!$ M+OW??IR.9WCYX6@XQ:_3EX/Y"__VXP0_GMV:0G=@PH)8=;H:#6O.Y>1K?]+3 MKL2D:HJD, ^*"PV._#W@)B:CG7,8[M@,;T.,NP UY,D]91_W\&8+0Z_BS,X* M[V ;Y@:F%_-%=2U0O1N%*(W8<">@EF[#JD*:>SBPN^%&76E];Y3@PJ"3- )X MC 1.D"_N9;"@51:V%&$RAL=+A6LU2H=GPB;*[H !!.=LM/"3?YN[UST6I,=L M*/2RY- ISN?;QH[P9:F"+9X)U]CZMT#L/W9H8)Q12\UV4(NQ8IOE'%Q!XYC- M#$K)==D+% QA(/_7^:A2P9*B:KZ%=@^@IT"!=AKO8.2_PRG)A_EE& ]K]N4< ME8Y,&L,%E$!QD-(^0I N@S:"@KJ8N'*MTQ)W(WD*!&B@XP[J,$Y2FIW-!K5V M?U4:XQPH8G31)$91L-2TYG$+@='"%XQ@+EB#7K0.$=8&]Q3XT8TE5E9P_/M/ M-W1%D?(?VU0JGZ3%)GS=IGH3QN,P);PO*MD'DVUJDN]]WH[5Q^MCO5%G3--R M\EEC0J&5Q1Q-S04Q;D3P1J78N_?)NPW1GV<3FCAE! M22O!,V^@Q&@4!:_6R=89G?OP[#H=W?'LMQ2]TP@+'_&T_&,TI:GSU7"*8YQ, M%[\UQMR3C ?RH2)$BX(FT6# *U?W2!E]KCV-O3UH80VD^Y^HFK'GYGRU!U,U M='SK/' 7Y#>SJK[3\I*FIM$WQ$N@GL?$O,U N&AAK@F@R)P!+-;[''*ME7UH M+MOXK4^ ']UJN@/G=XF5%MS8'\YW9'ZA6;Q/3Y]_,]^I*3@FJ+P7'4LA:U*& MD@$4RPDB*0-X42('5:23K3>4-\'W!/C3N5DZ\*+?AF_+^L4%J9?@[6>BN1?F$R)1UT;JH+)X M?<@G%)'0I_-1\JY^=5I.9],:4T[FY3C_V?_XJ1=\8$J%"$D5&B4V9PHI;0%G MK8S&NVRL/!CEUI'@NV1C<],V+$V>^X(O)]/^64UK_#J;SL9X^GD.?/CQ'4YF M1([SNNI9G.!_S>K.Z^B*,E_0W_7( 42;ZBBKYY44"P1>1 W1<616*AEO'A-< MX8GOBN0)\&O_%NF@"+FVTAF 29%7(KOJ]A50#E8YTZGY'\X];6R&#C,)5V$M A(\WR!8!V!'%38/ M@CM,M4T34ZY!C]WM6! M6IS#\&03]3?DQ]Q+>T/KU_O/GW",'S!]&HX&HX]]G+P:IO-M0"-]BX"^( ,HE(E%"&+S'PMM_B!%QV%U[N+748=*;7U]L1OY(V'P6^CV!_@):* M1&I1V[,54[/CB. "!DC!"V:C,$Z*MH7VE_N[)T,\^M+[9\LM+\X#C5=_&8OE\"BCS35^LAHOM4. MO%$*0@[>:RNS=*T/#W4FS%',I=MQ<(WTXP$,WD'A:TO!WHY'%"!/O[T=!!)O MF&M-V.>:9>AEZ:TW,8&D4)96L,+!)9%!!H7.ALQX;-W\;B^"/3.\0R+LI[1A M:R%?#:=A^+%/OSSIU2Y1.DD:M:6>E@TA4]#%:21SR0NY9]I'<<3\OB+*,Z.; M&KN#VHJ_CT;YS_Y@T$O:SYN<@(U*@D(;R(^/-5+3TF945HG6VY/+=S\AEFRE MSOW41&S-UGF]])O1,%WS--![Z4I2D(VGN"]E!U$X"89">Y84TUQTY8-W)M03 M(N)Q$:!A=<:U L@6TEW_E5?#-)C5G@<7(]D7GR)3M0&#E[6_'8)3GD%14B:+ MS-*4O5&EZAY /P$B'[6=6Q=Q=! 07OU!2J/9<#IY&[[-GS',],EXAOGEU]KL MD9P070IF0V%C-IQD#TAC&8L#47QF"J7 W!\"T&>>;]_/G10@=)2_!>XJ&+^ M$+Y>^6$O>D<+%7I:N'QMMQ8*1)D5V"1<*M$IPXXYAW"W5$^ _D=*@0XZ[K64 M\*I8/%/@44\M%H;UR*OB$$26D*0NR:4D0VI=C=61*,]T;FKL#OKX;2G6TN>Z M4[PW..UE[@K7 B$9.T]C@E"RMJTF+\K7NT$*8]D@&8-4?AQ47E.B9T9W8?H[ MMB=VOQ)HTZ)1P3+WB70I7#UP(V@0^DS0.6E2>\9EP=8-B1YE(? MR"V%M3[Q @SKO:(B!XC69$ E;,)2@F5=G8%ZK(7<&YE_S4+N3:)6UA7Q(G2F6+]Q Y!9-LDK$W-66^>,HY.Z6 M)YNH?]^%W"BEB(:"BF*8)6R"8+%0*]H-4P$]8_Y&C\VG4\B]D5TV*>3>1*G[ M*>2.D3MN!$&@D!&42;E>VN)!NVRUCTEB4FN9^=$4[+1^%C41QBBJ2F8BP$'CD@ MMY'%0'9-K6/M[Z/(;Q/^[:O(;Q-C=U"6_6NU"+[N?[F*:B["[Q,LL\'K?L&> MRN@+"[2DJUJQQ@722E*7$_(/D^0%36@=FZ^#ZPFQJ[D9NKA!>M/\!$.;7-0, MK"QU*U4PB+4S*Y?.<%-,\:[Y99J/,6>X"W$Z-8,-S+_FCG#3ME MK A>1 ,)E3>"O##!U^N)]@ASAAO999.W2^0%0R M043/?$)2 'MB.<.MC;N[ CN8XU<'5.05_1;^-1K_,@B3Q7U21G,6""9H[7/= MLZ=@7)H (:K@)(\,5>O9?@-XWX5KV96Y.C@6>0_42Z!OPMER7*T#MR/G4]C(#AWL$-3KL&93'+\?E>F?88PW=+%LWV9\ M(@>>QHP4FH0G3\_EG( E+B)32:%LO;6W%K G3IOFMNE@CODPICBB"GQQ\YXV M#&M+"\F=JT>L$@1,!A@C1S%SB8*W/F!W$\/3IL5.&N_ 9:X- HBI.,63CQ1P MSCOFGR-+CAM5O"=&&@8*>)S%8$2(:Y"/1HFU]0OH]BGAN*_;5J]!U^P>$,>\K6 MNXRR!!M9KO=_.B#3"-#1JTQ#*-#TVKW(-V$=13)Q.UZLL36PDQ$Z[&-X%\0W M.%W<%_NZWGV%CARKZ&TMPJQN5XT@L=Y)RU,J6I08]LJ6:^"^$\YL;Y#];#LN M<2ZOIGY+KOPG\N-?] ?DUN>>]#$HSFA==@EK)D* 3TG7R\JM,\:J>',7HI/K M5>]'^;2YU-)$';C6&V?I53;:::Q]7YD )7F&8(4"1YXE6A&JQ_%V<;63^-8NR-C'#06IL MU@'X7)2UL2DW+K;9Q@X'(0SC"441\XLI:$:F+R$F9\!:*9U(0A;\O@]R=LN3 M3=3?NBCK:HG)R3!?EA,M\YN(P2M6VXQZK*0+M94O#7T!_/KU6]^.*TK+B8];QYX0YYPNU?MF/J ML)&4-[*)R?AL1=(Y2T7N+$;%399!FYQ4SL'TMG_MCL4-R]==.2/U&X;);(SY MM)ZOFHW'A.'G,.E/?A^.X@3'7^K;7PT_SZ;U^-4PT5^%ZYY[#E*'H".8& *H MHNM^*9=0-[LB6NM+:+T5V84<.Q>.M,/T2QBDV6)C^MUH,*!X^,\PSCV3F"LZ M) A,%G);G:W;$AIR8AB99#HUW[OI7*@#; $=>@S<*F$Y*N)T<>9Q*>"Y5#4: M_F=_^NF6,)/KTDRNRWYQ&_W\6;U0PS26/5A=+]FI+;T<8P:T*2YY)[)RG4T[ M+05YU".@!>%6#8>#L:6+JL(MA5HATZO)9(:3GD'-DT #:) \1A<5^!0B!"UJ M@B,+PUJG?CH1Y'D('!M;NJCC;BO4W\G,=9=I<7M +>=8[ACTHDPDC^. I5ZK MF4H SPVMS49IKKA%X9L?G]^7<,]#Y3&PJH-KA"X$W=!#O2'8^VF8SI5T6A8[ MM2]KZ#JI95"O^Y-I3Q@GHE:U?U&M3"KTE4\2(>44DA#1A^Z"N4XE.^# .2YJ MKAI Q\.K(_*_[G1(-NL/2X\U-_,W,=-!]F;7 ?B\F;^Q M*3?>I-W&#@K"0?$8B>!>@90B!2DQR?S$.JQL;=S=%=A]5^8+/^I-&-=*@2]-ZB]N M/:Q5?<7]*&_43Z!E,B#C+#JAZG&XXHI%I;/P]7)CWUO]V*,)9"^#*9T)N-0" MR%,54/M%@^?:@U/2,73:.=?ZX-8QUD?*']D[-ZN6^]H4''E#((7@\1ITSKD,RUL"]) M5[367K1F[=9@G[FZ)T-WF>1NE5K1L1Y^%QE8-/5@CD)P)G.P*3&5C"C)MFX< M\9R&;<3B@Y+AV-.PI?B46::E)"MRY2E0JSI-D)02&'6,:/=PSO-)I6$WHL>: M:=A-S'20K-HZ )_3L!N;;*)^O>=AC6H(O=>@T)9>T9A!.>SAU*<+0&]$NGI-KK>Q"Z; MI&$W4>I^TK#980J6(&"J77NS"N"C5R RMS8S[UQ<+]O^:-*P6QMW=P5V,,?? M3$M\H+^;SUPNN'D/;DB9IB^E)3E L2)4*$)DS!O3.LVW"LNS4]G*4!W40=^% MZWRDK(.L(W=R-:K#^)%MK+<&)790_9YFEXL+H /SZ!'0UCJ7H@4$03"E4,5D M1D!-ZV3,ODGQ@,^X;TYLHO$]<.%%?Y)JFO%=F"Z/C-=;(JQG#G2(-#]JQB'F M4CL7.V1>6ZMYZ^9"#Z/:OP_2RH8/4&-' W1YLO+G;Q=?_FXQ<< M+!JL9RVX$@*,3M4#4Q%B"0R9G#&F"[NH1C$Z 'NH*C XNO<2ZJK;GV=$IC-6@A34Z"(41D$E2(M1&+U*"3 MX@R942*V7OR.@%L/W;MQ;-3:Q$I=4FIQ*&:N 7F^>!?F@C2F@//T#TW3"H+% M!(7IG J/2^\R(F]-IX3(&E MTNL$4:,)Y_Q>^FM([O Q:R>PT7!\XW3>L@* X@C#D489,AMK?%' NV# I>@- MDR5@:%VVWU2 G2_#"9-/](+Z?[4LYTL87)NC:D0V&%5$/9XQ8N(%&$I!FK(2 M8M >/&,LRD"SB&R]I;\VN -.[7MGX:TKQ] XJ.[^8T=5+Y)T"60]. MSH^E.2X#Y,A=4(F[;%L?\FL&?N_U4@X*]C_*\9#M.W MQ>73 NN!%0^,'#[R_$0 CTI"LI$+)W4QIK- :S6L@^>.]LN7U4FC)G;;4S1_ M 7!Y0_T:$/>8)[H![^#9H3:F72-^;V&7 U'(HL\&,0,&S4&1G<%;'L QK[S, M4:%N[?@=C#KK)W\.QIQ-S+&O%.+5^7=Y77K0R#T*B%HJFGN#@X#%@-%HE<(D ML.RC==X=T(XC#[236==)&.YHD\-MICF=BC/.@?2Y-ELR-(!R*O4LDF7!UF8I MG87DQ[V9=BP.42OK[:D)XNJ4ZSI@GW?16EI\IZV.;9EZ&S0X*WX1R']]3(D&OLHFUCA2Y]IRO0Q 4TZ[(N 9A/&A2+ M$F(R"$YQ%[-R(K-];+.*[Y,@VUAAS_OPF)@IJ"@DQ5H\A=92;"%)>,ZE,RI' M)W /!'DD^_"M";*-%3KPC._>)YHOLT(4:W.]Z%/1C*:2)8FCXA0^P\ETW$]3S'=CO/O391GO&M@["K1VP7V8N*L5!T8' M-F 'J]Q.,J"+,:C, ;UBH S-Z;5#&7V%0H;HF6I>S']\Y'L@,#M&[FUBMRZ. MB8R&^.VW,/X#I[_.AGF)2C-C'$,%MEA/6!*'Z)@ /'V]NYE'^[51 MEPF"2X"UMFO166VR[/.BM6(4BX*(M09=10O.1 _6>)93R9A59Y5U]^ Z=(ZZ M.7^:&Z,#PFS"<:^4E49Z$$'1"LR"@B"U!\W0<"ZS3;ZU,W2@^6?#C%,S^^XP M 6UBG [/R-5N]W^)E 8UXH835+.-&2FZ UYN\E D!HL;: M_HKB#LLE#\UO=]X$W],E56=66IDE;W9:[>UX1.'-]%L8YAK)?JX>P!"G.YP[ M>^").YX@VP3OC;-@GFL1L\G6\JAXXM$6KT4PWEMFA(R]!YZ]H[-Q_O"W@S"< MGEQYP^N+,PA1<"6U+B",**!LO<42ZT4!4G'K,\]1-__CT632RSD6[9V [+@&1>("K;_D54H>LT;$T#PE>3^B[X$T*GB @B<5*+U0Q"80&, MTU;GQ )%Q/N:N0C/DR-1,^5W4%CP/GW"/!M0>+ 2Y2+G[RG*H F4@[0F@TH> MP5/X"467@D8Y9K'U0:1UL>WK5&_'-.G$%,=R$G>E2#]_NVATR+7AZ$H![A)2 M]$EQ:.04APHT0LE"L:]KO?"M >M0VW7=T&'=J6E+LW21"5\I_64?Q'4@=K43 M]S"\P^S -3?MNM39T2X'HE"RKC#F+6AC2W70,L04"P03R4.3*G%L72=P,.H\ ML/=V#,S9Q!RM[S)8B>_EUS28Y?[PXR_AGM#K$WB7 @00HR@,_?:%\UB;%X"?C>4_1'F :]N=W6 MP!I=E(K,QJ3SV1A)'[_VO]:O+JOW6"@./06'V8.J[:.BYPJ8UC:ED)+FK7/1 MJ]%\3U1I9),.$CNO,4SPTVB07YU]'H^^+$[7++<-O<[$5PU1Q-IRS'D(+A30 MGEGC2C!*B,9TN0?.]\275E;I(N%S+BJI9/GEBWI0:C17SE4%(!;#$ 70/PZ4 MH,DPJ-JP(L24LZ[9S-85^VN#^Y[(U(W%.JB=/9E-1V?S^XPN 5%LEV(&&RPC M0$1XHC^'0F,@TYHJ;6S=A^86B.^)*KM9X#8E=*O9Y@IAEUZ6#9P7\JV,, E4 M9!&"E+60G$4NLS*%MZ;&2C!/)TQJJ_>&WNUD/.V]"\./B^P!2SH5H2PPYQ 4 MD[7;=B87&]$B>5,LNK4\$WKJ%<6?(E@JJW:[%6 M7XM#&W!%KK.]_3916&.[_4::.IN=+8D4G2RZUD5%4WMA! 07C(=BK$W*.UKY MU]I&>\!RUUZZOQ5T)[6/6NBL86)P#B1\O0+$)2&+,I'>3&@4UB.^Y+^!E2P9 MI+4@EA;#[MI+'Z'QMM;9RI'7K&KYU7!*$O9I50_S[*T>&.R=>J M%'S=_X+YY@M>7Q1YR.1#L!1)21DEN= Z0(CDK$F=.4HO>&B>5UL'U\Z)YY7O MN%*#ZUV*(O),CJHP];2W@5AOMC'.U=*7&*)JWEEV#5P'.&36FBFW+I!U66A=BK(]N;Y<7=4V7C@QR+*7.]PCU M\[??PK]&XU\&%,_,$T\V9&%KZQQM6;VIU NH=SV1D(+^QW708H_^T4UXAT^; MMR7(^M/63H;:KP=U"?1-.%ON':T#MZO>^IM!/5![HJY,OS[%FMGM".A6DG,V M>P^"6P2%PD-@O-:T1)&1?NB:[_,?!:F)TI"S;Q%P=L.N7V60Z.L/Q.QS, M(XC)I_[G9;V"45$B.8S 6"V^Y%9 J+O5FML8$WUE7/-2V-5PCLI7W]V4-PM@ M&]FA@\32AW'(>!;&?]0VA?-OJLQ+<-(R5I2U\UNT:_,O"[YD"CLC2B2!F;6M M27(OH*=-DW:VZ&(N.2_B7A:\W-#&.*R-@2HEZ>J6@H5-2A#;A6R5H+^VVBL$Y+U@QW2DL6H<1ZFKA>;. R?85HLF"!L\S7 M33]5IV$\)D=L<'E+P#Q3@/EM&-?O M=JA>V_&-.Q:RM93W1DV;X3)FED5@)BKM@G/(>&+>.ZVSCJJWX[MWO<'GXIG? M*)(?3D(ZU]SYMIZ(7,E<& CE- 5C*1 O0P(;I2VN1!E]Z_VHAS#M&N"=5O5> MN>FB%[0O*<< F(H#1:,-/#<.M,P\T"CTNGD)VTT,A[@UIJ'E;T9O.ZFX@^SA M912S0NS)S]^N_601T"C.1,@)?+T=4"6M('))JZJO1W-\+MDT/Y&V#=!]U0%T M2IGN370LY0#G4BQOT[D4Z?TT3&>+S9^<7'*Q2%!2\-HBDIQY00Z=RC*Y0EJ6 MI76F:0U8AT]"=,:-6S>DM;51)Y?OW0OQ/ >W#LC.KGI< ^!A=ON;FW9ZY8YQQCE$A MT[T[G[ACWR;RHD_++V/,_>FO(=7 Z=NE9UVTL"S["*4HFE%(91 0/6!,A3EN M@VQ^$]R]@';N4G7'P\\38C^/QN/1GXNV*/23Z;>>DBA2X0ZX, &4,^3#I7KI M+2N%?N"LB*VO"MH$W_[GFW9JY_H@*N)2<>Y H4ZM4<7/16O:* G=3W6%@(P7B\:9;* #Y7(*A6-UH?,6O>%OOK^IV3_ MK?7:P:&PNZ1V2X-? [.O5.]^/8S- M]7PLN=SK47<1>#,*,F=DJ2DUJ6EMU <*E/;R+HW MZT9WTW(75<;7$)T'^.M@ZBC7>A>>PZ16=[75O:;?0='[(H&3'!-7KE9N>,+F M$GAK%5 XY+1POK3O<+H_XS^0%MV'[3?1;R=)SR^CP9<:TUR/D9=G'S067\N M,ON M8\[SF*4%QWP!A9%6.A_"\01LO[-Z.Y@ K@:FBU:1V0F6 MD?#$1!3DO H83;UE-#MOM K-CQ+=Q/"TO+V=--Q!]'\5SSFIUT'4D:=W&\UA M_+S=K'2/R7=0<ITM>J< G_ZZ[O3\4G^UVPRQ?SR]W>O?CY]=P5;B;Q(3 H"\MIOW1B(!14Q M.0HA;(CNYBJ^8F/H@1<]6ILVUV+K2_I>A/[@V_MYD4&%^?[TS:N3T_'[DW>G M;Y;! CI35)*@8[U(@^>*,R4004;/A&$RN;5L_."K'K>5VVJRBX.:BP(K:XA. M];A-C &4U!&<2P*TPNQ9-!G3D[@SHJV7O;T.NSA+O3SROP:,IW?B=B/EKSBQ MN8WF.CQQZZU$+5@ 29X?,=)QB#9Q(BCJDHNQ.J]5MWYH ZYUXK:%_3916*@_>L<)V"_0WKWYP+"K-O0BAJ!RU"X)$",ZK;"PJT5OO%3O6 MAUU[^.GRX:\O"A]2XL2\XD"78D"AK'ZOX:"\23K5NG[6>G_G(4P--K3J\WZE MT58+^,8A3?_9GWY:MH*[N*2P=GJA_^4/X6M/4I"GG>6UM0NCV8X'B!@LR))L MX$%RQE)C-6P!<_]!6%/^W+$1UJFA.M@>6Z&/1? B2N(BZ (43-+\JPQADZP0 M5&^3]4H4W3J->A^>?556=^- I:YG%.FN)L% A>07'\K,@0;F/0V9!U: M)!GV;/I[4@[[M/PFRFUL\3>C\?33"?DR!.<\2+.2H-"KP4I%#HRMO1[GA<=9 MZ\!R5G*]@JH'3'W[S?N-;AN98]1,EXVS%2]G];;CY0WD1G".6 "C0,(1"T2# M 31#'F.R+L;0P*97W_G8K;FU_EIOLLT;^UP*]@X_UNX;;T;35\/<_]+/,_)] MOY&;LO 1EW>I&I%)M@#9R@R*"0X>HP0M$PM6"2&"66O?;9NW/V;3[T?EC3?H MWHY'>9:FI^/W./[23XM4N27&YKHUQ56AN<>@JEUB.6@5F&/O!+)_/WUW&]TV>",%-W;85H.+/&;OE:.5 MR8D*+H"W1'*7#<=D2O!RK;:!QV7U>UST/1E]$[UV D^E M5A]$ 8%3 "(Q)TQ9163G=+?;8NC_N Z=-P-!A]_/8; MYGZH]WK@ --HN5FF4XE*1 8BY%JZQR(Y+IX!TUDEI123KJSEPCWPHL=LU.:* M[& _Q:&LQ+2=#;&O)RRJG^Y1!>"RU'.#_8F0I2I\" !CKNH./!N:R7HEYE94F$3L8$(=E0KW.5X'6.P(3QFG,3F6V].WCYMU<';5&F%-C =JE]"!G3>FT@Y& MZN0&OS7QBABEMEF0YZ0MJ)(1O$KD2UONE4Q9,]ZZ#.FP9'JH_<(1<6D3VW3 MH0^D-%IH?PM3')/?-5GB7E:0JH!)"P?)SOO0%0_>%MC-#!^5IO_:_UHB,/+$;N!33RA;K:%S48VS>2X@L:& 8 M$%TPG'<0_-R-Y8D2HXGJ.]GLAOEE4 MSYU*VD<=,E.TO'O+DU;!94ZS:RRL]]##.RZGE]Q:6^PMO54 M)2)GV/R6DZ[+Z6^I\BT%D_1!^(B\YUU.DM.00F,]5"\,(M9[ ;24IE@N6?/+ MM.[#<8M+J H7%6KMG.;B0 M-4A#(F=A_^_E/Q+JM--A%.^G[DC_))"X=@A56#+#8@UH'672%T%ZV"YTS8F M?(@:.^I_SQ31VE'LYB042T-#H40(3BA:%85@RJ8^H(),JN)%:R;EDQGB%[5EDTBB-0ZY?D I(,D0-J8[R8M M&NJ^@SSG':/A9QRF3V=A_,=\2)AD@F>)@^?>U'P/AY S X')>YM4#9"Z=S6N M8?H>_(WMC=!!'=!M?$MTYP-D'7S[\CQN8#L:]V,'BSY(EP;FV(V3+)E;H@"7OPP GYU/I&USN]401 MLE)1DXA>U>ZQ"KR+#C 7[VKWEZ!:WY1R)Y C<$1VLM?-F]1W5G8'/LA)2J/9 M<$JX$O:_U-5T6?5>,BLH$A1'9%?2U Y,TH,)0LD0K9.Z-0E687EB/&BB\M9[ MK+\/8W\PP'P):K*L@.3D@*NB '6]'A1U0#0]]K@2R_T.?NUIHU)5Z6_?H6 E.2*T*33T04B1N M$\]K9T4$HR,/):/-?JV%_+AL?L^1S[V8?!.MMEZKEU!.ATO/P.=2M1^_W@$ M+I6:3'D2D=P-:W52HA29;W9F?L!T%X]^,J;;3EE[ZPW[#@=ABOEM&$_[.-F] M8NWNY[4I5UL#ZXU:-1F4=MY:H9E3 8OW3"9C&;G#UN;H>O<^>==C[1?/_/9A M'(:3D,ZE7EYX6SL.QU1WBNJ=8[DV>J8X&C1Z)STS]&.SSMJVT5'W^S$=HN]K MHF$12W(THVE=:S=$/?VFZ!_'F3-*:=NZ+OI1]'UMRI\6?5\W,=1>DCUOE90.B6S:WVMTGUXGAA;FJF^BRQP^H1Y M-L :%-^I@LG/WZ[]9!XS9\=<=EF0$QUJY:8@&J,KM90\6DANH:Z>]>MJ;=)JE M8 YU-AA:4V\-6(?*;.V!&[>6OK8VZJ0CTKT0ST.3=4!VM'>^%L##;* W-^]F M]-G!-@LX[_W)H01E6!'.!M9ZM^R !'I@2_TX^+.)2;KC MS1S7.ZX_AEEVN#5CQIQ^S0.OANY(5\9N@-8A0Q*Y--]6&3R4&I MS$H2H;?BF;N-JMT5,5Z6_/2=VU_:A(_#KEV@JF6R23H)$HT E52#0] Z& M1:]I?I?>KM7$Y^AO\6UEO3OO\=U$BXTK J[>S+@.C*=WC^]&RE]Q#^PVFNO0 MD/742U*!0=*>DUM;;Y;FP0!/607EHN9BK<.GAS;@6O?XMK#?)@IK;+?K=](B M4X1%&Y"&_E'14< ;D %Z9R1YT$Z&)E?!'L<]OANI?>4]OIOHK/'-.-?OI(WU M+EH9-,60G(+36"MSF36@E&Z4E6\MI>ASW^&YMO*UUUGVMQOOI*/T1:9'/ M]-%GFH;F9:#+U/FH( 7?HV^(DSM_;XQI]''8_V_,.X3NK2'L&/-WJI&;R0)& M5,C)8)%112Q.LIBXSSRAEC+)7FLPN\5/+\_?=MX/^/VG,,:?ZTM_N?+2D\'\ M0>?%Q$L ;W'<']'O3::3R^B"J\"3CQQ,4KSVT^,0K+)@A6,B\21R:IT=;BS" MSI4'BS=AOAO(RZ_U2^SYE(I#;FRN@+8_ KP&NHZJ*>X$=IIJBF1G7 MH\<.-M@[4="BXCX(X!1Q@E(I0PQ>@TQ*R12XU+%U^?8!"/) M<1A^+&)ZCMI M3S&9GI;YB?CS= &/&$60M:-T+8VNVS ^L@)&!,VY4"A2ZPW,6R#V[^4W--*M MUA.[:+@#]_P=3I >^.ED2%'Z%QR,/E>)SV.'Y0GX%#)+)0%2)%$;AWJ(4B;0 M7+I@8X@%6S?B70/64Z)%:RMT48Z.@T$]-U'O)QC_@76?_3H^(U%C309S@36S MZ#0$@P9$1N50>\+>>MEX"--3HDA3_7?0$>OO.,1Q&!"^DWQ&>IY,%Q5&-T * MKZ,4""$+ BFD@F@"AYJ)C"YZ8VWKJ&8M8$^)*>TML;(C0L<; 2U*\]9\AY8M@88 M=Z1?5Q@XG11DKY*P7@9I6M\XNQ?!]C_][IGG-^?HXZ-+![%%9T(N$GJ_CL;G M']7?XST;$CH*S<&&S,DH24+ Y$$EQC$$;5/SH[+[E?!YE!P/@;J(L+95]O*^ MC_E/)R=?R VH:6X2[^_TM].>K5>GUJLC2K;D3#JLUV7K#"2M(3>#D=64,XZKIEN?97N#G"_.SKNR[2W6;GSS?+=Q0473UK\ MT?SNR0^?PO R5F#9)N,IETIY(,235:)M"A@LI+7RLT"3MIZ*U.Q$ HR",&@+-YA M:+XCVPS\ODH>#^T3'\38QU+9^'80AK7WZ*+/KPU8N%=0A'%U9S)!P&@A>R^] MMYZGYI<67'W_X6L7]\J 42-+=)#A6F*YV.1\&$U'%8G7D1RF!'%[RZPP\0YJ M[=[8D5XNI5"0$J,)5:< 7HKZ54Q,\&"8;+WSOP\C/U!&V)6--]%FZT;G)X)Q M-]]GJJ#.RPF$8JQ$@Q!HJ@)EDP2G7 3O,W)F-.,W#]*N<)'O>OK^W=U=U#UJ MJ:O6KM4%;Z:^#.7?A,RSO;E5.\2 %!Y-K2WW))$1&B'+.17NO#8NM4SK7 M 'S?CM?VMNAJNV4K15R*,I%OOZS& M.G<0F P^QL"@J(2@"FH(JM;Y\JR"<1G;-WI;">8(L\B=VWK5QLA.ANKF7,YT MW$_3\XJ^W\DRDW?O?S\'EWP*Z&L?U:A%O2PI0711@-:&)M=V07*O]U29)F;NA M/#.HB9%6A@Y[:]DTFD^B]8J#+Q0C=]B8Z>X7==Q^:0WI;ASK,(71LN$<=P45 M3RQRXT3TC@OFDF/EP29+=[_RX*<\'+K"T$8@OR^#2L1Y9W@@5G*I7=:Y??>D MPY_RV!K!>3G$Z6PZF89A+4%Z-QH,?AV-ZP][DEMC2[&@F:II!F=HK L%B-8) M87PJZFA.S-PKR1'.XFV9W*P\MQTANNC9U$ZJ11ERKV!$+"6!*Z[VC/0"HF ! MF"S:I!B1'S/#%T(\(G(W9%=WA-^"&L=TZN)35<'&DY._CT6320Q:C M9B8!LXQB1XX* I7"*BZ-9&U>+\%\-9G,,+^8C4E7 M"VR+F./J^<&77W&<^B17CR$%J?4V9NEYQ>DYA!1"W;E6AF,TDHC!ZM2 E67(MEBI)6I0#$A@F)<@7>L@#*)Q*N70*G6 MF;P.Q'AF_!'0H^$QC ZCAB*9-Y&#X,J3@E4"+XT'PW+F,HEL6>LC>!T'E/O7 MZC\6IWV&N78&2O-CV#)H^8?&$H4DE=D*ED]NZDM1/O>43M.J(.1+6C*F:_D?M<3UH7+-.1 M7 869;T#/7 (FJ)HESB+P0<,^Z]T:"KA\]CJ>FQU1[A#).0?DO:.E.N]\G*M M-"/] U.>Y"TTD_@D:#I)0AC%!"K>^GZQ?P /3RFWLKSW MRRN]*N.=,>][7"OF$)9 MS5F1P(WQH 1B]8<1"DK%T'GK7//RB$,D,HYQB^)>P^CL,JI8R'^JX7^.&IQV M$HIG*0IO,WE31V:8W21^1%/@<61G]TBP(ZR=.-&?U/Y0U7TZB?7& MD#3M>0KEO8D(H?!4[<+KC3(((N884S1%X['E9^\5Z'EP'(P>1UA%A]-@8U]7>0WQ8\+AQW/4.*R?H\U]&P[F!9F'P <=GHE>D$CJJ #)1 MM*]H.J'91;#:L8KBS> 58YU$,?L5\WEX/1Z6=17*["#RQH'<*DWPGF!198T. M7/;UIE4FR(8Q Z++UI4D4NRDCNLHI'\>AH^>DUT$6\U:ZA7&BBI>0#(JGG=" M2;'>54NK=PC%.];\,JKOL'7Y3FF#@QC[*%N7ER)S=)C!1DEJ]!(A6AW 8G(6 MI689N^I:_#0Z:&[$@/M:EV]BB>Z[6:^#YGMI7;Z19>YO:[V-6KLWMDB*AV0R MN<*Y'A<,-)=FE+4\ASLG$M.N>9>LPW=X[,K&FVAS+ZW+K<\UC5"Q\"H;YQ - MVY=;F(2(&K92!5"*#JI8+!, 1. M#I *@DO)V+IF/.;6Y;L8M)7^.F]=7HJ1Q69+Q)(*") $A\I"C$RC2,F4W'K* M?6*MRW=QO+:WQ5%5>]_7IW$-F9Y;EV_4NGPCFNRE!_06-CZJ,T#WR.:_!>&$@RY*2B5M$<3\GT4;%8?Y\ M*=OEQ]VW$]X>3,'M8 M!V]=+ HR;:($JZ.CD5=G>U:/+P9KM0Y1>FR^!;$SZH/5""TC1C+W;#[7W;SC M^>+>Z*L-D)06L=3IC/E:JU%X@&@5AZ D#T4&)E3KQ/E^)3S"5:@M\YN5_'1/ MH&-J@;R^M.=]<@*7*A?FH62I0?&(X!C78%VD&3E+(_31S$:;"O>(!LD>6+K_ M ;4%Q8ZI//5!0:_W+.B%R'UBQ8%(EN3,6D'0WD*)R7GNI3%Y[Q=Z-9+M>20= M9"3M0+!C:LSTH)R+2J4+.:-PQDJIZI6T'A33-&'XHD%JZYGEP7!U- W,-Y3M M>2 =9"#M0+!C.C?WH)SG;0BNB&IE\H%G!XR<[GJ'K *G,( TOLBH$V9\/(O2 M+?&>A]-!AM-N-#NFTW@;.[.9%1-T2O5.M=I75,TO3A= \X;62EKGL74B^D#Q MTE%:X4;%\MQ!>A&F^&OHC^.>"1O(OGS,#[.8=P9>Q]GSO!A'6@2F]=S+FY^G(;' LYG!R%+;2P:ELWC MV>K:-C8^9$. ($G+LK9E2)Q"//H&7*803S$>G#"9.R:?&P(<-J=W$&,?2T. MZ^<%(I>)9\X!73T&Z3TG/5K28S%&QZA8PM;-89[8R;2-.'#OR;1-;/%83O:L M(]/SR;2-3J9M1)-]'/'9QL:/A;^"9Y:<9\"5K6-:,7 :=;WVT04:W^1K[3TB M.AK>;G0R[>AHNXEI.Z#KNXL3)_.S*;^302;OWO]^?O1)9Q91*PE2YKI3(#V$ M(E(MS;,A,'\L35>#: MVSW+*% 7U?RNXZ=]SG$7!K4PTLJ9J-DYQY=A7'OV3AZ5Y8-([+FX.QQW[!S3CJ<>]ZNS M&XQ='$BTS,CN(LTC&HK>=* M,Y \1EI!&0<7>0#+DM(V&TU38V?YUQ82["L)>Q0,/J#QCR8?NYO@/W^[^P'S MF%O$(#1W'G0.EH:VD!"EXI"311694LZT'@P=BG/X7/'^2=IVQF]&EBXZYMV) M[&KDM0:^CE+)#V$[4%KX6,BP%DEWM.0A&*=%SHQ6-T C:&5SG(,WF BGR#7# M8Z1LOCEV$*8]E,A]K$3;Q( =$.SEV>?!Z!OB/%^XJ&DXS_A0;"VTX!*XD+[6 MCFH(/&L:\\R*Q#()WKI,8R688PF>MK7;J NE=Q#HW)\_-M&SR)!\ 6\.^4%>V4O\UCL9#.YXU6_7*+:Q6AY\ M\"[=W]]/P_!_#_IGHU)NOX ^&5+,>3K$&U!O#=J;#U/0WK(/WPYVCIIJ!!FPT#FZ*J1Q$\ M.#>_B3L:+-9+$6TS8U^\]@D8>SL5=CZ/7VPF-Y^XKS]YM_GZ'I0[3M"=UC4] MMM*K9L[A4_7[NF3)FFY@AV=$[@^YGG1XMT_#KJ7FV^;5'3CPKX:Y_Z6?9V'0 MWG&_^>P&'ON]<-MXZE=>T<9#O_W 1L[:N32^!8CML^UOYK_E?J MV!9W @X=QV,0V1&%4<1]&/O(\6(_OX/MWK:CJ+HQ^I?MX\6R:D'1;/VC__[EX]?Z2-_ MPC!)BQ*G5'90)'\MJE]^S"@N*]0'Y0)GGY!_@^UC4/X*V@YT[;]\*]AW__$O M -1PY-F:?^$QD'_^^N7#V2ZC'^43/Z;\08[M9YXG&?M:XKS\B E?"^FKULK7 M9_[OWQ7)T_.:M[][S'E\NMEUGN^U*J6,I)2V+Z7\UW.=_7B!^(;D+8]E-2!< MI>XG4S+V8?K)F+CW@B'X] )WNKE8Y/J#>I>RN;[=;5<7BSZ]Q*8^BZS$ZQD^ MBUTW'9'7\A:!@G[]^_$3ZM- 1\P M?EZ]Y3'/<\X^B 7RB=_C;[RX39GX4ZR%+"F+56A3RXNB&#I(Z((8QQ#;U(/, MX9Q1LDTJMIZT>YH?N1 MK\NB_0V4OZEFKG)W/QY]$[=YJQ/.Z< -4_\2#.QNWHNX=Y8Q7GV-$[Y,AOW M.=6#((3Z#F0YX[G849]0\.BC_UIF]/?;Y^>S#T'08C"W-?;$JH&]DZ!'/"9F"DUD MM&GAO/*&>.!$![-._/,*'L[TGB?'3>WW.,G_AM<;_@O'Q2;GT@SW]Z1\_#7- M2,'S%]G9A_1Y4Q9?N-0F63<,P^DFSY/TX2=<),5'(93XE_+U9R'1QZPHQ)YF MO6%R;_,.YZEXK%C%EN5X)+*@Y[H4(A0@B*7!+0YM%H6![48>UV&,V21?&A&] M>11_X^(X!&(! 7B1&( L!D+)4L@K[:CBQR(1'T&];#_CUVIZ)HUJ\M6[\I'G MS9'JQ^_YMV>>%EQS5S3?MZ-&DHO\(B;F7JDSJ)2^ 1VU:PMZ5W%0:P[V5;\! M6^5!I?T-V.I_ R0"X'N)P0_@0^?C:7$P1_&S#YVAE6,^N6==D&8?CL-U;GX! M])9/3MGJ,W[]6_&9Y_)>2M[#O$T*NLZDM!^3E'\H^=,0<2FVLB"Z$=*"EP)T MY 4[@<%O4F10R6Q@^Z>)SHD977#ZEX?LY4?14C.9*=O-8=7V9YEYFLJV\T7W MM7&;Q%M*\PUG[71*>/%&S#(Q)5>N[6/7%B= QZ(8(H(<&'(+0VR%<8!MS_(" MK6/@V9Z6M@EK! 7-SDG3('T>4+6=CA&8)J:*%J&.D#>@$=/_J>RU%H<\@98M(.%,*(")85+.#'U \) M"Y4(X*#=I4WWKZ787A1E0O%Z;YNM9P8Z!*]_LE\ R>2FX9%H*$_O,[KW36;Q M2F1!%+@8$H<1&-/ LWQF(R_R=!9MGWLP!C-#.P:MKF?=1(P!Y7!?,:J-<=SVA1=YV+RK M-]XKUZ/<#Y$-N4<$F9&8B[V'C2"+ A>%D;R4\G7(K+>WI;'7N_1!C .7!H\; MD#>2WU1^'FPGO!YS]<.M1E7&0)R8FUHY*\0ZDH)&5'-$I(2((>;I[VM6JE%2 M^Y!;U%Y:Q'W7AZ+8\&)E*&T,;4CH@?1Q;1VE%-(N72 MR.N6_NRG]T?PSWT%);:55<[F73?OCLZY(K-H:)R5>WY*BS#$M M5Z'+O,BR/$@8%[M8VZ80\XA#G^#0]S@6^,,^.BX&7M MM;S>V2__JD?\&H.@QN;30#LQ1;="@^];L7^HO$!:R4$C.OBM%=Z@_Y8^8H9( M5*/C69E1'Y!#NAO1@OX%]Z\IR]>O#U\E1_EYSRA_,UC^O!93!<%.AIN M96GT(Z3E0EPY)5J)P2\X_YV7H!(;U/RDQD$*( X[")C#;V*.483N1GH/4".7 M@.KPC'(.&&AZ-K\ -16[+@&*;XRUQZVK^$20%E<"@([&:@\PXT%4- M<^:@G-PV=Q&*(RQT:M 8,](-=#>SG4Y-^6-3G>)[XZCFITTA6BJ*-]D32=+V MP)8]I,D_.?O Q"*2Q)4__&UU5*@L2CEGMVG7X4'\V^:)LS>XD!;%=^*1%[P6 MKQ8KAY'0IS2&;LQD$ MG$(>A3 1!7.2S*'(0TB&J:<5=&LU)":O#&94_\)V@ M>LPV\1BK\>)R1FYB5FT5!1U-*P-A5R/-93,I/8IHV08 .#F7*H1A:(8H@XBR6 M"Y$%(QP0ZA,'$\?1"M>>0,BE+3^5I$"*.C(84/0)03Z*7I^R+WVK9]7HSZ+S\JTXVFSOE53-G6=>7QI[[NYL M 2[D=7LE,I RJ]LVST$U;-0T@-(L'+9#!>P0,V.X'(!@E,7R7)NSF2H'E.K: M*(<>G6A[=HY+Y ZQ?/V0%F5>Y:(LJ@CI^T>6 M[P2VV*2%H6=!Q!"!$;(XY'%,F>MPWW+LU?-! L++=P:FY->9:H=:3#?K[C:E M3&K)*H=&PA^25$9I H+75:SA]TD*"JF^=@*?V3X+0B.74.3"T, MR!V(HHC#*/8X]!S'BD3#C%!+*U1,J=NE'99V;E)K*:(,M6A$!J+[)\W(,#7D MU=8-\WA.3/JUP#<=S[./-:1;J>M?@/L^8/7CP+1P,A4!IM;IO+%?6D <17WI MO:U'30_L-5W]LBDW>/U+1A+IKTN;0&D66WW-"=?E9#H,0$V<\KF*#2W?M2I&['ES%O8;EKQE.H4GQVVXWG)2[C+S MW/-OY4]"LM]7W*468LR'/D=$[+ \Z2P7N-#R[;C*_$YQH)?>_60_2^,W*:9N M$O?3 *IME S ,C'!20GWDFE)(4$EI<';LP$U4]3L?>__C8 M+.RXK,Y]=W&5I?DQ6XN7B_JTMXT\B6W?MXB/(1,3'B)L!S ,20B](/)<%KH. MFHL4,5]UGA1M;Y7O/@YSXIB%?"0<\80#,7Y"R+' MHY @S*#GR'L.Y,2.$^DPTU"'2R.E5EY09@#7$@/2B*Q'0H-0J_&/20 GIIXN M=HVP8"?M#:CD-<_B8P].SA3\ M-^^EG^=NL^_8L1_' 8*4QC9$,69'E:<=*&Y5L:>[7JR;6_ M9:V:QNJ\&S?;&.NNAW-05=V;7&\NI]W"=83SAJB]^5'34 M%X?*RJ]_DJ/E1/B;VAT:EF[>?>0TT![M."?J9FREL;K6V$/LRKJ!I7V(:S&NL9P MFYA#ST(V01TS)4R,Q9'V]35S$*F"VL<1I"HOC6.0=W',J3@^O_M&J]0#LFK2 M72I#@N3_.S%!7[@X32>TW,8+[?^B&T\8.MRRXR"&E"-Q(+;]&$8AMZ M#LHD M1'[H1UHQHQ/(N#2VJE64FQ?>* ERZ5%-FU0_65J'D%X>2SK%@*O1X)6'<6+R MW(U@JU]=ZTV,G!2ZB?_LR"[].5JUFD?DZ![\@W*^G>WQ)UZN$./(I=B!V(T]B%S'A9A3 M'UHX"#UJ8QYX6HF*!_I;VB*PK4A=XF]="\.%E;P/0%:]##8&W>27PD=UO/<+ MJ@AQ)RSC?1J7J:IX'_1VW2+>IU4?K.%]YC7],,1?TN=$7D??)^)<_3[+I3OQ MW_#Z_1H_J(8B]C2Q-';XY=/G#UWGATID$&?Y?F1 ?_B=%H;]3&$0OHD90@T.[JNE5Q T5CG,$>I9[E4AB2 M$$.$_ AB.PBA1SS/(PX.8XMIW[F=I/-$M/%A4!>HW::)[2CR'J>(%[.5( M37WOV@&I%G$"&]< #*8N6<_T,N_=:K^J1U>J X^/KL&8;<0IY7.=_;ZM%TA] MRXYC&T/"(A:W8M9IX7DKK!X!G,-4 MC0$,(#4Q!;02@JV($VP !F PQ +G>IF5!@94/>2!H<=-59-H:KO>XV^\Y9P5 M\H+(1F$$N1N&$$4D@L0*8^BZE-H^M3B-M#+)*?6Z-))H2P\GM=&LE*)>6C7B M%-AJ?&$E":K#W&JSRN7ANB!8;@J1-_+^C9) M>772^*3+G$VWWY)"U19YXM6EL49'1/"6R\#^)OEHE?]+L>S,.9B&S8T7(C0Q M*?2# WZ3XAHR+/8 ,*J]V0R)/ZM +?<0D4 MAP@"D>W8,,16 (EO^3A^34FR7G/VA5.>5-7S6BLYXAYS'1K!.(@#B"P20QR1 'HVM4,/^Q@A M5SD7Q]ENEK8Y: 4%^592C;03Y]'LIP=S&$U,#%MX.D*.R<]Q'BB-'!U& )LI M3\K +7 MIF[D(T=/7TMCQ(ZHM>=N5UCP_:=,' ML MI)F7LP]K9>NL"02GM]#N@;^W@*_K&D@]U MS?+[',N4M9^S=2(;_)QG]*-BT3;%5A;T63?2@D9-2:,XVE3O"1Y,5 MW#1Q&F5$4&E_-J."AK)=(X/.:R.,@YLUMRWBV;>YZ.(I+9F.K^+IMY>VYDDI M@103VGM9BN\;>YAJH'0/7@J&PHNAFMI6.(B244?$?CS&F0Q/-SF?U;!7I3W# M8?^3(T[^C47A$R_OXHJR.2ON\;>_)^6CS$ CF.,X@?%ND%=NX+@\B!!TW4 F MC+$"&/G8@G9('-_UB17R2,.T:$"DI5H>6UM:%EIR M4X5C=-2Y.9VK?J?3?,.C82Z9;YAFLJG'SM-.[.P\J%OYMEV"C*PD57.ZZ(3D%3C_-R,,^XL=>;OCN(!G:3AS@D$*,L2=675E ,G "Z-IQ["&'1,312B YU.'2-N;[\M9Y MR-6(9TH@)R:BLU5"MO+?R.T[J]>140%')5Z(DKM7):BH:',-O#'"GD8^+8'+11(;RAJB6V42Z#G M1Y;G.S'R++9ZX3G)=',S['>D,\&ZW4UY#956680O3\AP *GBUNABF*;>$+7I M%QH))XBEZL? <*J%@TZNDF'AM*+G$BN<>?HRW^6,%Y^R\@NO'*9DJD,QVUYW MZ49'N#3WM[BT+4K7F9<)T4&:E2"OA0>M]./\G0>@5;C=F 35J6\\NM[1$E A M-OAR *CABA[CP+K8@WJ@FZLX5JNI?L[?6O%M/S9,:2>+!P=AG;L*D5M]_:R--;IRC<4,*"!93^E M&$-H8@;1 4>9(I24[]MBB 8ZVPOQMQTO]+<]"PTHJ=?.>K6'1]I,DI3?Q?L) M3'=FPD@<*VPO$O/<]FR(F&/#R(U]&"'7YSRP;1S:6@:2OMZ6-NDKNV$6'R?= M'6V6[0=;T31B"L*I[2"7H*=O\E!!Q91]H[>O>8T9*FH?62Z47AH=Z5TGDSM5 M[B[$+'!M.X(^"RV(*.80$^S#(+(B;F,[=!RE\ N5SI9&)A\NB><^#ZD:9Y@" M:F+*Z"2*G+R8H HDYD*USW-#9H4IH&;F#SZ,+NTW/+)[W-4+0;Q*">8#, 4?$+%=..\O/+XJU--6S5AW-<(D>&G"D4R?F<9\\\+U\_BZ^E M%$]LTP2M6.C9-/0%2?M!!!%R+4BPS:%/.(TL8H5^3'3V=K-(O33>;P6] <]2 MU$ORA,TSZFK;S\6-Y<1+4:LOZ"A\#GX?V MUGC6X3*TQYY'YEDWZ[,.P^&N?][.]>\G?L'_-\O?;(I2G$WRHC*F$QR%V'(Q MQ-C"$,4!A9%,,DD"8L7,Q3Z/E)RY3C>_M*6B%4[[-N($I!5?46P016DU\A=*K%M)C]U@IJ M]/9@" UC5P=G.YKYWF!(X>-+@\$W+BVS_3Y)DY)_3%YD39I2? C)\?ZB^(SS M\BX^L3W9V<0#SZ?8]GWH<2)YQ75@2&D,.69^[-J!&UI:1U'C$BZ-CH9+;<>5 MXG M-0?)5G5-UC(_U&ID=]4!G)@CNV-7:PQ?:>.JC-5 MVC8\%L9K;9N2[TK5M@W#>[[>MNF.+K-RWNYH:WNGO2(>YQ9U(L@\!T'D1TP< M$I$+F<\"$@8V]6*MG69?9TLC]^T,[PA[@0M++\YZYL!+T9O+BJ<-W&B+6Q\B MA@UE)[NZBGVK3^ES9JG>=T;N0[CZ.D_\!Y9>XP?^LXSDERF3W^,DKXK< M?$A2E_[I2Q4#'';3&V M33:GH[W+LE\XEKYU[$Y>M&WR/$D?I"](EN;M7X6225$=S5V!X,@I!#%-H.ACS ,H]!Q8]=B%//Q MM6O&":5$!E=+,5GEG]LJ)7_<:05ROJXRLI89>,[Y2Y)MBO5K?7$AS=SM58;N M-<5E8ZS&Y=,/V;SI)67"P9TF8$^5;N:;K39@IX[QTCN7H6JV-L](6:Y1O. < F)K16 M0B!$K TY-Z"1TAQ/#L@:0X_K)\_YS+/[K,1K:4"X?2I5 M,^0]73WQR"TS^++\1EZJW(*$BTY]P,]]N,\QMFJE,= UZ/*'+)3T\-%H%[@YZ2&D''WI8%NK^25 MI ;&>6@ZJ9]5\1C6YI_LZI^<&UD_Y)G+@R!?*^;Q4QJ^ MT/9(B"(?,IN%$''/AYC'!-H.\EU*L>,S2R]1JJD!G"==ZHDA-(BNVJIA"K&) M5XHM5%\Z7SN.Q40#M]N/O3)XU:F-/F9%,4%V516T#*T:O5W-NE*H*'VX.BB] MHW]P;&K-W>;Y3Z\?4E9OCQ1/CZ?>71JIMX4..[?IXC,FTCF%)2\)V^"U^D'R M)%C#I\E+<9J8"10@,K=S',)CU"GS9(.S'37[U.F>-WN?N]#7XD/ZO"F+CUSL M)]PF=8O'(JLR_L8($8CBR(.$TQA2FUHQL\+ GH< )+ MM97?$$(33_>N,T(MZ UH !O.(#3>!>$\)J:="D[T=!TW@?,JG[WX[WEE9H?O MQH/L3HA3BI.,(*Y/FVHNN);K>R3@,/#M0!P1JVPX&$,WL'QQV/"B@(:E[] MN<1Q5C2)7G/D)EX8#3B^;UW;[[J#7FNZ (_UH4&XML_Y6?G^'%[C0_ :\_L> M[&CD7D%6+OY0%!O.WFZD0^'GBBJKC4GU;TV_[]I:JZN(VY8X2;C0#J(((BL6 MBP.C(8RM((A\U^>N'VK=9>E*L+231RO842%H37K7'@E%^IX2WZGIN8*S%A[4 MTH-:_)OV.%,_TBZ\6R4,,N]8_$PQJW;_\S+G6'B.F'%T0WK,QWC2FF6^OCZ1 M;+V*,8XM'C#H,!I#Y$081BB*86A%W&/8\B-;Z0+LJ.6E,55K]:NE4Z.G8[CZ M:>@[HKTP19W7ML6B*=^I9+W[83?;CEF:9Q&<5:"?G^0?TKQT^9>EG MGGWBV>W+0^5_0V5RX/6KK!:JX;\VT,S2YIP0%TH'KD_B_VV@Z_Y)HY&_JIJJ M[>>OF:AU+J^4 1IU$W&4-NS76HH*MF]WU!]9=SA1+1.Y?B6 M_/8AY_4M56.=#ZR A=R)8."B "(>1A C+X">2RP+,UO\H52L;;BK)1)*(RK M6UGUSAH]P*H=*LS -3U?M$#MI)S@OF,8#$-'@9Z.9MWS#RM\N+E7>&.BNXYB MP*!2A<47']+ZM'$0,]^>-3[G">4K-Q2G ED$ $>N!Y'G(8@=RX:Q'W,/.0@C M<4[0\K2:4?KE.6ZU9_8'J8.A()XY/P=#UO/K#/$"[.J%JF&]1@"(SZ.U_1RE MCMG:X"H@9C2[FQ^]N0SR!B5?EJG>_)!H&_$G$&'D#IJ7=9DSZ!YQR MZ'"'0.3X(<2>A2"CL44CSW4B6VR:97R,XJ:YV[K6/GG;QX2[/UX*RI#2_?C] M6LBGN9+L(R<-@:&%*0S#R(5X8(,M'E$=ZFZ;1V,VSK9'H2=0N 4WQ$#86B*G/ M70*!IN+E]Q][OQ_]H]8IE4V=KO;:GO= =4JMHS/4R8=&.I'VI#9^RO(R^6>U MI+W[)EO+ *48BYY0?0MAB%R'48C)PHA@YV+4(ICG@0:#F9 MCI=E:WK&Z2MH106-K$ *JS&[3P*E,*\OQ6CJ&3T*'KU9 MW ?!N/E[LL7Y9FZ?0GMSMO?!D6=)F<^7WSU7.433AX^B85[L5AHW\J+8PP$, M7%DT!W,"21!;,.(LL **?=O3NH#H[VYID[T63_- V0^HXN'2&$Q3'S0K0>6E M>2,JJ&4UO'KKX6+J%-K?V;PG4B7%CTZG:F]=;(6Z35D5*O&8K<7[15TK9'MJ M195UW@ZA3:5M*D9$UM8(8$BB(.24NA;2JJVAVO'BV&0G=Y6PBU?2CC97]8.N M;<0R!N5\IJUMRL'R=>HJUDKHF+=^]7=[+9N8$A@]EC*U]XW?,'[LUK M0D5(35X&'F$T_:W?Q^N4/M4!0>,>[_C=<:34==?[4M=8>9,5I:YA?ZB9!4V% M/>?;1E90"3O)2JV*C*$),-C=K!^_JO*''[[R>^,^^B]<-)-(:\4;7#R*-5_^ M(=?Z%[R6OJJG?]N$ V$7AX[C^=!CS(*(64B<&0B#F%@T=JCK(9_HK-"7"+.T ME5L*66U]JQ\ZXH+?WF9/.$DU%^R+!DJ-N>:"?VI6&X^\-J69@,P0W5TDRJQ4 M: *T0YHTTN;(XG@Y?\8)N\??>+%RJ6=YE,70CQT;HLCC@@V1#VV*'!P$CNTS MK4-+M_&E45PC6^,.#DHIHV;-N2YT:B0U%I")2:?%XKX7!/W2;B>T-56IK=OT MO(773BAU5$?MU#,79+$Z;7^S>2PF+ JAY]IB V/C .*0!-#B-K()(;ZL3*F; MKNI/8>;L2OK?_C5T[.!_C#)U7FS<_%.8,VO!;L!M*189LBEEIF99?_,SKOP: M)ZE"/Y_U!G)EQ8X?\-B' M5N3%$"';AF$ MD;I %IC$P?)"/(T77=63XDHU6$=!=;XDZ[CF](,U!#O3C:P+^D;LU1ZR_/7V M6U*H!FNM4?%9YQ MNL79PC-Z%>J&9_0_.'--K=IJ^2$MRGQ3I0:[*Q]Y?O^(TV9O]BE+7W@A^.1+ MMEZ_SW+YTDH6]&7(\J%/8U]LF/P0DM#C,+8YI[TUGJGNTKBA5]QO+79 EW\.;CS5.QB "@10"A1VI^0M$&TUI]T'!'Z3X( & M'9/;OJL,Z[5K0(T3?EE9)R<9&&/5HRZ3XDJIF;=F*J5TO#&V/8M:+@RHS2"R MD0.)Q<5/'(DU$S/B.I;1)=.H^$M;,D_;GEGODS"TE%YMH!>PE"HG:3YA M4_XSY6D>-89+2=6L)_RRULU)!L9XPN9Q4I@K\&XW7MZ,$,<)PUA\1)8LQ$Q] M&#+'AQ%&//08\1RBE0:@IZ^EK4AUO7+[\@+O]L4%WD<@-#&5GR_P;L]4X-V> MK<"[O90"[[9^@??#5_2-Q2/R^2PXBX]>LAZ]%#W+3,QC/@^/J>P[5\FY,Y!I MY_+\.K(5<9Y]R%+^A=-,+-?B&,QTIL_IM__<,^D,(L.3ZG(PIEX):P%!*Z%< M#UGRDK -7AN<=/TXC)I_9YJ<;2KVJ]2=E0-/CO3(QGG^FJ0/7_ASELN==56^ M\40BS&;[YM*0((]3Z-J1"Q%A%$8A$OOAV'-<9B$/,ZSEH*W7_]+F?RMVD\FU M(11$*B6]Y:B7&#QM>&@NU^\&5G@8T*I#?V A! Q+X81"2,8<>ZZ<>@S1K7"NH:[7-H4[?HY/C?2 M;]/@/>MO&!1 5YO69J&<>,*WPMZ 2MQM!KSG>FH.DS&HL@'.YPYMEP5 M@..(<^4WQP9[X;+:&];W[?*R09R3TK*H7!:IXW+FN 2Z?B1KPX0!)#R*H651 M3YQ7 L\-F5Y<5T]O2Z.=QNEF)^20L^,(@!7O>TW!-C'%:",V(E1' 0EC43E] M?<6(U\AR7G;G#^W"'(,-+8T1=@(#(?'W+S]T MRL^H6S*'\1LV:AJ%;F)6Z$-M@E(=RM",,GD.MSZ;]5-9T:XA5/VEF;W.:X?5 MN[AV5[U]PGH583>R(]^& 97'("MD,,0!A\CA7FCY,8\C+>/I M5((NC;.^<)D20*;7KT.; 6XE!G&6@P/_(% MO]W[!"J-%^ 0KC@FUW;]'A)S6\H+F2>4#5YDT M5G& ?$PQA1[R?(BHXT#B< (#[L5!3&T_8)%^'9J3?2V-^]L2*Y6P-Z C;F/O MT3S+]L&L1MB&P)N8Y'+NV&V@E@ACH;VD4TKT]KH0< M900; EF-/ Q"-S&!:*,VWJ&U'PO33JUG>KN.8VN_ZF>=6P=>F_G'XMJGV!X)_QP'V&&(C9U= M%;H:<8LB6_XU9?GZ]>$KIYN\KF_V5"K?GIQK8&F<+&3D0DAI@MS)J7%=Y$A+,;=AYQM=;Y[D"'%]NX_!A_6F\J,)ZMW M:9F4KU^?\'K]TZ9(4G%67>&84<>."&2!+?9NW'/% =*Q( TXPQQYS&5*X1QG MVE_:'*]%!)6,H!52;8Z?0[!_=AO 9>)YK0>)\E0>4+QG$HLWZTDL?MA-XG/M MS3)]!Y1I)^[08^..; R, A#[FA5YQ@EQ=*F_S9K FZR)C1WC=E.?KWCU[BQ43M@38[XQ,1R ME*+BZ'ZOHT2;!72*:B 7 6GH #1.AEF/.!?!='B(N:PQXX61Q08U+Y-_5B>I M=]_DH8K_@^/\O?C85V*L(N+$'D3($EN@ (4PXK$-?4ILA]B!%41:%V_CQ%@: M50I4?&-5D?O@5[2I3P[JQ&S86SE9)OEYYK0BRXXV-T J J0FLU135D!R^OK* M?4(LI>*R E :-9A56M-CQ ?VFDJ_VO3_72=/61S?YUB2;<>&)'Z3TD=^EZI% MF^HWN*"I)^4&C>"@D;QKQ[T!C?! 2#\<>WHITBRC5:; :KROA/B># M!_G** M&X]936OR_8JK+-^U*KX:T>(L'#5>TY:7+FA!W_+T40S9^O-CEC8;P17RG=BG MD0NYX[D0.8C!$'D8NKY#7>Q8/B=*Q:]/-;ZTG50E'Z@$;(Y Z@:G(^"&K4V7 MP#$Q$6L@H65G.J?R*"/346.S69C.J=$U+YU]9MR1Z4-*\]I9J?[S0WI+J;3E M%U\XYAZW LTRAK&D H@G'6#5'E7WZVES;!V%[_+<^EGL^OF8Y)67:E40E)I9D&? M?RMN58DMS\4N,ML4Z]?:8^W0TZT;_2J5 94VAJ)?=8 ;Y?"AU,%LOA\ZZG;= M0+3>&QN35);R:N9-SEE2-C:JP&-69(4(DC#"$'$[AK(L.[2X;U$<4]<)-(.1 MCCM9VA);RUA5C*RDU(TY.@&CVAIZ*3A3G]H/<)D@.U\? L:BBDYT,7,XT7DE MC^.(>IX=-\^/]^[-1TH\RXTBWX(V)BY$-J$P0CB&U/)='(4X<"VMN7ZNHZ7- M]XN/\V<159OV)G":>.J?.)]/,/N'@##$ &>[F94%AI0]9(+!YTV&$[[/^7]N M>$KK0J"4$-]!%H/4M6V(PDAL!V)!$=B/[,BS(MMSM;)J*?2Y-([H'A*W@AH, M+=P'7//(;0;&B2ED%(*&P@Q/8C)IJ.%^CPL(-SP)@5K(X>E7Q]'-W3//Q:DR M?:A"HS\FF"3KI'S])%3;Y+GH;.4&F'ENX$";N96_J@])8'$8HS# W*>AV)?H MD,U@CTNCFJW 8%U9RM>-R DO;D"Z%5N/=89Q5^,RS^.!: M]Y>[^'V2XI0F>+U-15CL["SBZ:_)0YK$"96Y3>OMF)#ZLVB/BLFY2X<7D#!P MB4^A'>% IB(/(+$\&W*$;=LF"!.BY7(_MP)+8\1/N)3&QRP&6?VIR(AIF0ZX MV#P]X=J*6>PT WBK&GAN=--DR[F_&$7R7?!W,#67=U2_ 7O*5U]"5WWY.6P! M #L$NH9L^4X'!+!# ;0P&$[U>.U!-+7HS"W^O&O8E0;G:$F\EASC5M@OO"CS M1+JM?RU%:[^F25E\^?IK>X= D,_\.((X]+@L&XTA\; +PX 1EZ'(=B.MY;"W MMZ6M73MA02&E!1LIKMYRU ^OVMIA#+3);R:W>%6"@DI2\+V0M?AA INC$BZ& MN+._KUF)3DGM0U92>^GBXH%O-_P^^UN2K1N*^U_9$W\CF2M__8C_T,@XH=ON MTKCCL- >8!L.R@QL=9 [':D%:-0 0H^;H20,E\,_[ XQ)?(3$] TH%]2^5 9 M/1,U$8<[NU:U1&48>NHHJK]2:5;M>T[?ST!K4DZ0-((" M*B35+(?4 [+:9NA2S&8J@-1(*0FGPJP5%%22&JQW- R'J4)'/3W-6^%H6.6C MTD8*KUQX!_MQ9^IO[E_87?I%9OW)FQ#YXM MW%9LZR^\NT:0-J)]7^/9"189:5SU+U[R 6BST[!"Z(:80^22$(:<1#$)*HLCGCHM#'<;JZ6MI M#%6+NKM0!:VPH_P@^T!6(R1#T$U,0*-1&Q/G/(2'N?#FLSW-'=4\I/*)8.;! M5T8&4"4I;R,UWF-:.3'5M8:HYUL>H0RZ$0\A\L1>)V(6A9Y-<6"A6/Q?+XKJ M7$]+HPPI:"=@J)5U9#6GL_BJ\841U"9FB[& Z4=:#8%A*MSJ;#_SQEP-J7L4 M>#7XPLCH*_9_-T59&1*_\'5E_)^7C8[:6F9?$*>QTYO^5%2+?(5$ M8V(QB*@;B[T'"Z ;>P@YTFT::9V6+I!E:40CQ 9_[.0&&5DG#Y6DFJ%<%PR/ M&@O-!/K$/'6RW$DWGUN;*Z2JV"E'IZ,@N!L>'?W@L[U*6!%[EQ MK%]J4TN&I1'I5_K(V69=;4(. BA HX&V._68H5'"Q"VO-!1(;_#AI?&:+5L:HQU!%(_#5VB M^L3<4HMET+A]3M>^22_>Z4QX\;?=9#]J;I89?$Z)=EJ>_?=Q>Y(]U_V_X3RI M[^'$5\^+LBX04[GBOZYYY M:;/U\\KMB7;5N $OC2(@:30!7*JBO2%1'Q>U;<@D:$],$&_VH6VE M!JW8H);[IHZ'$GN.YL])-AW: !K::JCW.^L&0QN.PVV%?@.C_5UER\5MRFXI MS3=X76@6-^II84&3I96RBAMLY9RD1I$"'N9\,<_V-+VI9D>ZW1/ M2UN2&T'%HEO=9)925.T$66= 5;29FH!J8HIH46KN>RLI;\ ;TTDF!J$PER3K M3#]S9\GJ5_=$FJR!%_2/S9_SC&UH*=GF*\]?$LK;W,A6R%PW"N3Q6?JO.=2! MV*,AC&W&@@AA%(:NZAGZ;"]+XX-&T#J&OI94,_]T/ZC#9VXC4$V]91B#DM9I M?!"%"X[FY]N>[9P^J%[WT#[\\+CM0&L.OXMOQ:Z9)>M-F;SP72'F=]_H>L,X M>R]$EY<9FS8N_QW.TR1]*#[S^KIC9]GV+2OT7.)!)V"",W@0PS#B$438P2&C MF/LQUME'F!=Q:833O9/HZMBM/-YJ">1'!#IZ5BFN&TV!4+6N.:JW?YG@*U#; M^%QW;*>^0S8_K)/>C$PW&(;V;!,(..MF;SJ #W>)$_:DG_[@KGSDN6@P;KS2 M-3(1=B2AG:)SE3U7T:B.K?J*"4T#U\Z@!C"8FP?'P:*44Z %A5-: M4^W-EAB@1YEN['_?8_JS]#YGMWF^HXC;AX?;%YRL-69K3Q-+F[5"M+S*" J M"=5SH@]!-3Q?#:$T\;P]6<2TLW$Y :#1":V TJB)W=?N;!-<0;GN1%=Y?*Q3 M&2ZJ$/\#[Z0P0BB,? [CD"-Q<@L]B#V70FR%V,.V98=7J1<*8 MN];I7F9VR>I5]=CMJO_QT6D0N7CI\39E;_D+7V?/2!_36UHF+_4^J775L(+(YC:UH(=< M)#.TLNRYRG?8'BX4;3C*#2Z-T1K!06NX MV*:YK]/G9U2<[$1_0*@"&EW4+3[J, _;?R9!>&(:&P&NX?("HY ;92%2[V4V M>Y&VXEWKD?[+(ST++[MIJHV'JYC'%F6>)7N;_"PFO2:1+&(_=/HXV/)'J91/%>O%OELG(= M;-DD<"&S: A1[,8P\FPF_FI[,:)QC(A6C/E>ZXLC7BDY/K[M'FBPG5?_O M_G.3E*]BXUCFFSHGN'0UN'_$Z=US59WN9]%$67Q(!:\D&5L1BBWL8@*)0SR( M@CB$F+L,QCZWB^A< M8L_K-#KS8!RYDL[=_\A(73$+/XEYV<38\#!T0L=S("..6)$X%1GM0* M /3<((BWZTDM?MC-Y;XV9YG0"DJULUKET7&K\;NGYW7VRGD3JWAZ#_$IJZY$ M.:NV"\5]5N)U]]^E_]JGK/P'KZIZ/*3)/SG;M52_=+BG6-F68R,>!=!R;0Y1 MS%T8VD2P2,2017SB$DMM9! M;Q=RO8]&;GLR+N]5_>YK=?A2U-HU?L+PI?N5U9:D:!?,7&EL6].K#=;C;O;Y %]9;[)0!*K:__%\)SZ6'YFMSVO-\')/(MV'D M.98X*CM,_!0[,*!^*%9+#T>^UE%9J_>EK7*=&DI;22LGET^W?QMYN-8;#;6E M:#*,)UX^+H-W? E!'9A,EP-4ZOLZI?UT8#E;ID^KD7&$]C-/17-KF0V-/25I M(MTFY0WX?OR#:_D(QQZ&+/0(1-C",+(8A[X3AS%G;AP1K: UI5Z71F"-T-6D MPGMBZ[&6&N1J;&4-,CL MR7GY*DVAI>A)7G-4,2X_YUE1K&+;BV+?@,J42O\WNWP^[D7 M/_U;#"583-UJ]''N5)]$6PX /_PN762_S^3996<28;O+[G^9.SXBAD<2BK(F"+0A1X(23, M=R$/DB;7X=EL9\C28@VZER _YHE &XUD;F>V^U $*JI\K3YY7C M?)2CS\Q?C8;/SW*_A>6[_VP=?.ZZGU*+!6C %LT0 <.(/$P[ ATG;$TZ1,T MLP;SNP==9XA.>@I=2921"2UD+W?QKP6_+0I>WI%2=".#-=]]HX]2ZO=9?J9V MTJ%(535PWXFM'FE\R:FIKV$QC,?%:5&D!LQ@*/4"E"+CK#,:[[F NQ&GOL>AC5D($?)BB#UB0SO$@>4?UY'XDTY<:F*/X*$AE@6:VA=;TI@\5BSPZ.VKYE.JR74S"V MJP:H]3#N.'01CG-4B3TKPW+JQ [!I%4I=K"Q<43YTZ80FY^B$.=5DJ2-NTXJ MNQ>+F*PQ)Q-G5+_>U:S=W79_2 4/K+#EH,BR;>ASA\I4J3:,9#BTPSGW',E8EYMM4&=-2Y M 9UA>K,_3!WZ[6@%/O2.F#;K&L38$ >;D&A61C8(X2$_FVQZ'%N+,^M=_*XH MDR>QWRM65N1C[#,?1K;-(/(\!X8AMP0/4S\F/@D<)](AWOWFE\:ATH8CD_BT M\ND1Y0%T:IPW'I")Z:O!8BO:/#5\3\-AB&D.&I^5-$XK=CC_SSRE;POZS+/; MRH*_?OV,D^JN0*/&Q.FWES9;/[^[ ZV80,IY]CXTJ9W+1^0 H):0O58W2/@^F?QI7!,/'\U MD- *RSVG\JAXW*/&9@O$/:=&-P+W[#/7KN@I2T>L[,@+;0>);X-7.=R+].-4\IWM*(8;J2CYI!1X:_ K4#P_7&=F*6N\:P7K%\9Q?] MQ97NK(3[DY;M[ ([7*]:" MR,!(R%)YSJ8^:HA!XUCX,1^AX>-]T/#;5OF\NV+[CSLHLZ (=4H_'FI6?5T[DUOO"BS!-:XTT-G=># IH$!<2W?1C%A,H,<$=T6,1X1I;5 ,R[ M:_*M*J"0NH"-4*8M!G;>"WB68=4]?2+NU4 Y5N0"IWT]84>YVT M".M$L!L_=YJ1[DH'3Z/0GC]YFNUFW)IPQ@.L/3KYV+("S+&@>.2(,VB(81@% M(0PI"4,:H #KW?KW=[JL)@FA-7 MS+S0]AT"6>C'$ 4.@J$3N- -K877Z@FR M%&PU!96J,NYDIVQMNP+[ZH+?I,*@TGALBDB37X8:Q5Y[O"=FY&L.]?ATE1., MA>FLEB9%O$[RRPE /ILC-Q&]J^Q2!R/ ;# MP YA[,8A]5P7$4^I>N/IYI=&_(VW6B4B:&34]=S;@Z^?8R\'96)VU,)CA/_> M*;4O\.#;:VYF'[Y3JAQ[\9U\:H(@[L8*7+S=\']PG-\+4/DJL!ERJ#B]RC2X M$-DVAMAV7.B$,0YBUW)CK)5Z4EN"I4UW\0GY!H.S3X*NMLN:%,J)24(E*+O, M .&5__X-D#J 2HF9 K+[\)LC&/MD_\L)Q.Z#1RL(N[>ARP*P*YM3D53YPFKS M4UN+CI#(]ECH0XM8(42AV*6$LC08"2EEV ]]Q]&ZTAWL<6DDMHW5[4A\ UJ9 M1]8D&,9=C=>,HCDQCUT*Y.AXYD%P#$?M%P!N^=[<3F M%HL8QI!2&D#DV1;$6'JZ>@XA)/9B.]2RJ@UWN33:Z4U(?8&I2P%\->HQ"^G$ MW&, 37-)OJ>R#2ETN(QDWX-V&XTWQU'0)_['+:U\Z<0N2_26BA]I74*E#F&O M_[MS@7)L8C/!.]"SD0>1ZS"(0Q1 FQ!QT',I(=S6(21= 99&3U\X%;*N7P%F MV7.587NK#7C>4Z>::WG[>%(4F[ZG]QC5J&W*P9F8Z(3H8"<[V!=^GCP- M8]$SQ(+:W<_*B6/!.63(T>V,O#I-TJ04)]$7F:ET[V:V^,3+5< 0MFG$H(]= M6?35HC"RJ0_%X=#R XLB[C*M2]#>[I;&A1T7@SKG\@U(N:8;V # KA5$Q+=B MB*SJ;AE9,$)!!&D0NC1",KA?+#^R].'L &\[_5,#K'A9:PRVJ:]=*T%A)>F1 M"XR [U,/?/K7IDJHF+H [>]LWJM,)<6/+B75WM)/["/]A'%9+0)ON:QNTJ0) M>RM^J9K>IZ^-I?%N1U:P)RQXJQP.-HA;/S&8A&QB2AB)EE:*'Q4H1B7ZZ6UX MMG0_*NIUD_XH/3\R%U]*DO6:,WD.2RJ?A:)U&<><<3]F8G- ,(&(VR$,'<>% M'K(=%O@.=T*M>L+GNUH:(;225L?-1E3-/'WG857;(9@!:V(JV.+4D7("__MA M+$PE[SO?T;R)_ 85/DKJ-_S&B'W 9LUMBWBVS&9?FV?>K_&#\A;@].M+F^Q2 M3"#EA/9>Z8-&9(WE_PQ<"BO_Y4A-O>CW@P1^D_(:JA,Q@,:X=?],F_,M^?U* M[:WV X^.#)S!Q:/\OS2!O^"U-/#LX@'E/]RF;/\7G2=7U(J)'U@(VE;((;)L M"Q+B^)#:#+G4C5T[]E;//$\R]K7$>:FV([A()IW9<2C9=!-%"EE9JJG\@>_$ MO0&$/R1I5>@OBT$MD69$SD5#B'T:A!$-(?-1#!$-"0RE$R10Y@*]=5AH^+WUYEX-0VC+,-Q<0KC91,["$E_.^Z\'="X^M'Y"@=_++[ MAL&P+!/(F@K7NDB6><.X3,!V%-YEI%'C=Q>WE&Z>-FM9ONCV*O#V/$"B# .(*:(PMA"EA52C],X'%&*25\2I0E^K3I,'9D![@AMS#!_ M;G@N-M9?@O8R#/A=[&]5L#=IU1^ ;WI+_SD!EF+]'P!(XT9@J*498AO^R%8H M"I@O\\XYQ',A8K8/(S_B,/)B\3^?"8+42D*LV?_23 _B4_4FC&L0@*LQW(0P M3DQOXV(:_LBN%-&PP^X:\0RB]^5&,^R@N2B6H=/,R%+B^TF2JJC/*IU2\:%R M.?O$R[OX'G_[>U(^/F9K6>RS6'D\M) 3!9!9LG9<@ (8$9]"WT64>L0BCD-6 M+SPGF7(5\1%BZ,S+KC 3.EP(6;'X5N3!N:BDKXYMS\V@R5^7^!O(R#IYJ-:C M0N:OVZS+-OUVRLOZ12 6L7)=&QW%6R\"GFV&.RQS6.G6'A\SS&IL.O70S7"_ MV\U!=].&W=U]+0I"N.&<2BJ L$P<=<0Z49_QIP-FKY]Y M +J<7?O5KGE3/E.1H>6[5D6(9]Z:A>KZ)6Y);. I_5,L M3XSR+[Q\S-@N#$#Q)EREK:6Q4YU_]K-8$,3N37Q\7[^ G>R@%E[];EP)S>&+ M,QU@IQ..YB:4QRF.N6"ADOR6U;P:AV%+L,G(G9 MX_>$M'*9QSDG M$?2]B,C);<'(IQ;T+.Q%#B.Q8VG9M\_TL[097HM96V-N6D-/$Z'Y?9(VO_E! M.__L28S59KX!Y*8^^-2@-3:66LB;QKIB-*=L'P[FLLB>[&7NO+%]JI[(%-O[ M^,A**"O=<64;_ M5ID\/Z2?*P>D5< \AS+'@V' (HBH%\#(\ZGX#Q,;#!XYG,0C7 OFDG^A#@FU MD$VH>;5=N8#!9OL6U"AQ44,[?\&5_7KD'1]F\@I.%F:1JM^ 6GG0T1Y4ZH-2 MZ \: &Y \^&(3^5SOX.@?EV6F8?-5,&6N<2>MY++S(-Q5.)E[OXO2P8N8YSEG]BI ./2L@$,G=,1*9L<<1MBWH8\LSZ((A32T MQF2&4^E\>3OICJ"@W$DZ+BV<$OYJJ\=4J$Z\ FR3Q77DEB?M+LSW"C"/3AJG M@Y?A_'%*75\EE9P.*.>RRFFU,8[&?LZSHOB<9W%2KEP_Q-CB(0R0+$EH4PJ) M&ULPIJ[EH-!GKAWJ9,[HM*U%0C.DR:A$D_F4A&QZO-,%3(U61L(P,6O4"'SN M1T";$D[H:FC&=UN>=4*?4.EPOIYZ1#_E?5,__?7=-_HH]SJ?Q.BM_ ['%&Y M:; X1%% (/%"#JW(I;X;4H?'2K;TI"6BF M/N3IH:*5_KY/]5$)\$\V.%L*_#YUNDGP>Y\;MY9V'-"KHX<\O^3\41QADA?^ M(:79$_\HB*)U,EHQ:O&J-&3((R0F.(IAQ.1/%G+LR'>"B&HE2M3L?VE3OQNG MD57V!]I5 "25!C]^OQ8Z:)JI=$=&;6&?$.^)^:0+=6WJV9,=U,*#[Z7X/]QT M'"'-[11&@F=H-Z';^ZP[CI'0'.Y*QC8SCOS>/3VOLU?.J]N&VN#2.*L1%L6Q M'7D0A8$/D1?+C(><0"9^#+$;8#_V]#S'S_:E,\7F<0^O_6.RV@"E1UKG$:4T MCN(P)C".; P1CFP8,NQ"B\:6%5L\\"VJLW 8P7,^CZT&31GU\BQ:?JP]+G;W MLZ9@5EL%C( W,=^W,C8EUVLI)RCO.8B%(?H^W\^L1#VH[B$E#[]P(?GR_"6A M_+0)_5.6UC$EE;6\N)=FENZ_2Z>13UGY#UZ53X 369">[O6O=76")#76K='L%*[44ORW!*Z\+>-:*WH#.Q_%%X>,8 MS]BSCI'I96 >X:^SMLPZ,&<7K'FET%L%B[Q<_8*_)4^;IV;GANS C6TWAG88 M!1 A6Y:@X!2BR/+LP'9<:BM938]:7MK:T0BGME@ MU;:/K,1+':(2?]N1U'%[L_#'637:J7W^@=&.PH=FA:T=S64 MD$U9E3PO,['#,IN+5P$N6U;C1/:3KJ)G.OH=EN,$^)W[VY//GO^M&_]YALUCC_F!3EO:12[9#? MLPTL;7XU@@(IZ0VH9%4/ZST/4_^4,X;0Q/.O"P[XK1+3;*TS)2!&Q>B>;W6V MP-Q!Q;K1N,,/&ZM,_3G/Q-GZ";_#N4S'7(CC=G5V?YNL-^*@O@J1RQGG,0QQ M[$#D>AQ&ON-"&_N61[PPLF*EI76\"$LCB48LL*X< WG>Y&22D3&;@NU^H[E[ M'S$V:IOZ:1&?F'1.U[<6\H-* =!J(,V?=>3*#6BTF+3FM2*"TQ7!'A+@VE6Q M%0%2*).MVM+8&,4L+^]Y_K0+IP^83]R06="GCCA-Q A#@L3AP@I<[ED^OGN(NE45HE(93%E$:G)3B!HQH]78;.Y/UA!'GD8H@<:D%L603: M'G5P$#E6["J;"L[VLK3Y70L*&A%OVA^ %!;NVDU?;R]_JHG?ET-/ ]CQ$U\+KFM.?"/9!I60,#KQG>M/?$=GXCLC)_Y> MOD-!TLV==>QQS^:$0B>F#D2^$T.,/"QO^7$L"T#YEE+4Q.GFES;5MZDQ[1$) M0W>@]<_FRZ&8^FZP14$(=TD&U1T@(S*HC@)F[@RJ1C8S_6HK95#=O35_!M4C MB4]F4#U^:G345[[AK$W7G_#B-JT#+CJ_6L4HPMCE%HR83)\?!2$D08RA$W 6 M!R2.O4 I[[-6KTLCLT9HP+])W[ F4WX3ZE67<@7KG?3:(5X*P\")[_F<.&*[ M:(G% UL(8B;.B3$*O,".W3@*;!V'%//#,(-K2N6@!_#5!T/-DF0X.?JN%5MSX*8.N2$,&H9R:@2Y#49]^%*$QQ3Q#W7\U&IVZ41925U551>M-K:P31= MJ-3P5B-#\RA.S'E; ''E"F7*+5.YW6#T@+BR/5)[^V9 M4[(WF7'O-F51XE36N_L[3QX>92SG"\_Q W_WC>=+ME['62Y?7,5! MR(*81Y 0&@AZ"Q#$-@\@M7",0O%+'&K5@9A?A:5192LV:.0&K>!U>:69$K./ M_R+4"'C9XSSC!G9DLO9M.O8.$#=@X-L!O]V2HLPQ+0TN$-<;R6OG;Q^OP)\C MD_O% V0LI_OEDA@+J;C]EA2K@/HQM6P$0S^V( H8A<1R L@0X@P1GWM$ZQKO M3#]+6YI.^>L+3A&2:AICS^&JN'F_'*VI=^LC@#(1N-"%8;KHA*J7:X<@=%55 MB#/8>WP<&;S'25Z5BN[YH*9JIW^KVE&"IZ_R/BN#^GS MIDIYDE+Q5IVY7?Y^Y7 7(\>*(4=>#!&E#(:1Y4/;LPB5CHL>U0I%,"W@TNA' MZM>6:.]>J[8Z C')MEJ"2LT;T%445)J"?56;:$=-!C/^,:A1WS6'>&+.O-+H M:M/N5$-@B*^-BSI_E;[,-*>/-NC$5%:(W MGE2=OZG]<59^X.* ^Q%D-!2[3Q:YD'#F0H?$EL4@T<"@ M/\$8X$PY%VCU/:^GP1A8CMP.1C4RCMSN<\SX$\Y_EZY4U5^D>T/1>&"'F"&/ MX B&EKP?U##E%[:60VP<8[_XV4/RWK>F=? MDN+WMI@ 1YS&O@M#SCA$R ]@A"B'XE>A':'0HD2O_'A_?TOCC6VB^/63\]8D04+YBGQ7GJ&^(.Q+7\L%*@ MBW>MPB3)V@R :.IR=H0$\]ZNCH?HZ'KT@J;&$>+?<)[(]K[@DE<7<&%HVQ8. M..06"L1I+)+[*DNP7>"3./2)%5BN#ML==K T*FOE U+ 45>91Q"JT=,EP$S, M/5J8:%/*.<4-\<51\[.2P3GE#F?ZV>?&3>,Z[_+74K16N4PT3CZKF'(_P-2% MOIS(R/(1C"P<0M^AU"6^1:G,NZX^F\_TL[1)W20-W\JIXO:DA:O:%#> UL0S M?0Q0VA-^ 9#\_Y<+[-._P%5#UE@Z/&QA1C2JIF_)^5C>YQJO(^E=U22/M0K MO1?Z/N(4^I2Y@AMB!K$5>M"B41"%H?AMI'6)I-;MTJBBE1K\(<0&K=PW8.MN MW\@^:FN@.!**-A;C^$YM:C$$[8C"#3I(&:OAH-3IS.4<=( XKNR@]?;HG4LN M,T*^Y?6?'])3W58GGY6-;$Q\!T-L5]4?/!N*,TD(OPZ$F2ZF?9K2I+UFC-9-["YN=,TP^@,@_+FQRBJLVV(*FG! M]ZW>HK!+?Z$Y)%S-SNR?EGN?>4>E"ZHW*8YT/4YB V'8O4U]588_QZPV\9$YM&_.W8VY BUZ+$]J$340X116(C MS) -F>_YMA\Y%-FAGFF^K[NE'=0K:0&6XMZ ARQCM3=041>D!27^)B;];O^K M:\/O15[5HF\*S\GM^Q+*2E)927'/O].X$Z<:*L:,_[V=S7P5H*+X\<6 TENF M#MN?<_Z,$]D7+U9NB#P7>P[T$8DA"C"!./(9M$)FV=SW&0ZVY^NQ1^MNAR.V MC!.33"-=4Z:U)I5+#])[$(\].VO#=M7C<@OC?2]^!H['IV"9[$2\U]F5#\&G M%!\^]YY\2[\*0Y.F[M5VR'U2KOG*1TQ0!G6@0UQ/EF6-8!@R#&,?V2@F-H^H MTC7CJ<:7M@^IA)+6:]OYGOS0IE5\52^U<(1>/R=W6CE5_::3S "X>;U,F_WCWGQMQ^%C+E(G;:-E= MQL45LRSJ<^)"YMGBM. &TB^:(NC&'G<90S[E6IZ"RCTOC76DQ(#O1-;T$5 & M7-%-8 H8I_84D A*:JE^Z(A] W9) +^H%+"=SA,Y=I7"L>R3\KCW/LN?\"=>UN[C,OG**@P\'SO$AHA0\9\X]F!(D TI MBK%/'0O36"_)O&K/2V,E(1P0'#]RGS,,M-Y6QRA\<^UV.D+?2&,/J,0&$MDF M7N1[*?IY_RD3B2S[X9HNM>69?J^=[+(?#H7TEP,-7)@04RM?6IMQ[?5GG*12 MBFT S%U+KS8B,BC= (M"0P$TG>*S*!E 1A$P-)M;%G#]*0%YX^_O? M=A"!_Y^\-V^.&\?R1;\*(^;%/%>$<(<+N$W_I?+2UW-=EL*EZHYY]4<&-LJ< M29%J,E-E]:>_ )=,YD8"2(!BS9N8=MD2"9SS W%P<-:/Q?:)M?4==$MOVOWL MY$3]\CXFR^?$G_([TB_R.FS!9CD9E.U'!(&LJLO>807MB^*#M!V:/>5$( MX8O1NJG.*?(<:+E>HZIV.%%MSL-<*0]&OZL0QEZ*4WZ?37T HX3?;!'S^'=% M8QHRG"0)Z[ZKCX5D6.(2&%/_JGKV9OJF6//?_WD?E)Q:MP12%Z3T&"VO^U@E!)EGZNZBW$7@"FD)U2J!> 92N3/J.J LGQ@M1BUU%M**+O-N2'*>F6!6.7:9 MP6.I,O+D-=7$'M"/O<-\5_G*]UWBAT$$2!1X %(W CC)(N"*;9X%<4)U)9,P-@T"N*BUV'F2Y[6\(.LMR0!LUS3ICHW@8K35V?J8WJ#7C(\^692[% MX##E7.X%/=WKBR@X(63/"B$<9&&, 8,1 3!$"*19$'(URHU3KD_Y4)29+C=H M+:=&[496VOB[\>U]Q@]B#F?=E$,AG#XUO6"$G>/S_/0!M1U85YO5-Z$ -J7%O2B+/3]C("&NJ,P2\@/9 MCP*0QC!.$Q;$@5P"Y,&H2SMR17157F^X_%KWS<([[5>^9/LA;.-[4!L,V[V(W]AL!7YO_;;\'"L6;;@6?+[[7?^E[I:\>>"?_=T M0;U;CP8TPBZ%@&*1CLP/0)"Z'@$!2J(XP=@/,JBF%)^?:&D;M-/P!L2*( XT MZ1540U=6([X>LWD48F6X-/3A<2RN4(X(J:BPQ 1F*04H8 =?GQ[&(_C".EX(FQR98F%@YI M%1;[CMJNI:&ZZ? RSM*&02/H6180^L#I6/LF$3%GR[L\U=R6NDFFS]CAIM\Q M5NQ$N$\>B_R?C/:7=[1K$-ED_56,WA:T3T3(6FY&B]-,EO'KC/DM^^XVW/'8ZIF^ZR.8]W]V;5JO$V%DC M>P5F#-/[UK5I[, O4=;&TL3J04"-!;3Q-7TOU_R5;YM"(=[G_-M+$_2ME7= M)I<5FVU5*,?P7 !K7$*;P%D ('$I2-S8!0GQ4!*C+* H4[-= MC4VWM&W?F61:DIV&YIOV$Z^= =FJEJQ1Q&7M6:9PG,>JI0VAAG5+!IDK;%RC MP\]LZ9)A]=3>)?661FD\^E\/Y3TK13S*IT*]&M[YUY%@>2N?^ MX]U!9J3H1E9NBG(CV8IH#+=II< 9):WORQ:-@K:C8.C5\/NPICSE:T;9^J@ M4MW$HVH;_)&^%JN_H:JY9>R\U<+<5=5HO7+]*/'B% $OB"( PX@ %'HA<'&$ M*:$();Y4);KQ:98F"WI"E>,_)M 3(#9 ?S+0\Z:0DIAT@K),6SC1QTH\!M9.'$V[.(0SD.>HDH^;2>J;Z+ MNKTMZ->RJ-I_W*-J\RIB,[9U$UQ"$8,0^C[P:)P B%T1!8!CD 1^#".,4D*P MBK%=8LZEBS@1L&U;)\-8"GL@5: 2%#-F29 M&6>U BM <&S'57EUYJI@7_*"?=ZPIWJ5T(A"%#/ M3C,=3GF TY&OK+/\\^ONK_\[9Q4?Z/OK%ZZY MKEO%,B8Q]KDZZ?D! M"/N+A.XA1@B),HC0+?Q52K3O+HM$L3R8..43MB6\7H M]F]:2J4D^G*RU#RFEN7E-7#J5]V50L=TU=SQ2=^FZJT4$!>KULJ]K7O5W2#1 M[.(CJD3ET?J6D.W3ME%D/[ L)_EFQ5B*N/[H 9]@"" )(Y @0D!*TLC/_"A" MKE)PZ_242Q-& PH=VI*H>J.=1%GV0FL2.^OWV998IZ?6>3=$LB/88 <*>72, MW64G)YSY*BL+P.E-5OI-=4]BE\;4'+"2WL/!*TN3!AUI_R[O$1SR/^T%U&3= M\F;NJ#*F+%S@5,N--QQG-M?=&>*'[KISO]9LYEL^/>6;MN!#P2\OQ89O4%:( MKL%GJLZE2> &-* @3J,8P"#T00)#!K(0NRGR8)Q"J>PTK=F7ME4'Q+>=:8?D MFZC_I[8V\-<0M2PB38*NW -8!S50;8*6YYVT%K /+23M@K4'4U81!V%)? M6.QS0;_R3TY6:[@\PM(DDZ!)7H$8069:GS #BF7A,2!R5PSPQN%TYB\YW:*U M,PJ8DM8QC8>6$C(R[&PZR31K0Q5%XFF-H*('1KX7Y;I\?/V%T1QQB?' UGSX MIU]84_*(TB"";LP \ED$8.1CD'A! !AB:1;Y7#V)8NG0HHG)EK;K]^3>. W! MS4'9D:P0/S.%\;A0,(V<9=%P MJ-<[M'S?F])5A2<9/[1.6#D S".%,HTCB< MAB*1)&$9C4>:&F.^J"1);@YBDV3?T2].0LKJN6Q;YC6=R=Z+O)SJ]7U)VMF0,]W'!:P%-R[+7!)!:!4TDX+FJKLG8^+.7-Y%@]ER5$YG7]$Q.!WTH M=N:+$*>)%_L)B'S*A4H&?9 D80(2/XWBP/>2(%&JI7QVEJ6)DO=7E (X#Z.< M%>AJ<"Q+AJ.>,%:,.J,8&#+>G)]C5B/-*)O'QICQAZ^H\ZE:?OOPI05]F2UA M5C[(\SR;K&7Y1E6MSS-VMJKEM56G=_%8HARSC>K(.)'2TA<$'I) M J G:O93Z(+413%#/DQB*F4'O##^TLZ5OVZ1Z.K&F$-; FOG>=Y-A5G>33ZO$&3YUD[B8"\\)CN%?264K[T;5OL MN^J^*E]R3NXJ8%PIS$@*"$YC /TP JF7AB!CJ1=CQI),KEKMU$1+V]'=7:DC M=G!+Z@E6O6I>P%?VCGD]:O-<+C4 T[A2CJ-QQ5WRPL S7R+'V3N]/4X\K^Z\ M$T'5MV2S1>OUZSW*Z=_J,_5-E(L(J(VZ-(EPF)G0L>$(/IR7^G\YETKLR/L% M%4&?]A7:P]NR+-&$VD*= CT(M5R.BE/-YH;4@V#HFM0<0>\F\I5MWJ/Z>R,$ M*:,_O_Y6,_JYN'MFPKA6/-Z*4L)MR;5=6S$:QMA/*:"A"P&,W PD%#'@ILP+ M80)Q2)1*;:J3L#A9Q\EWLG7Y1^V(C\$I>](=M*-=[6JCL2QRMQ^[8%L6=)QX MI\&Z)U^DN;T3'#AY\9.S8\+9[2R ?_^(.LMWS^3YQ5(9^WFZY(FL:H?58% M9Z]5;:Y(0S:VY)+>C3=82-L.D3G74-V58AAP4]X74V3-Z[ Q#.:)C\?T^)H6 M>O*=T>V:B3+X^](6#Q7B]RPBIJY_?CWX3=L+PTTS'Y($9%F" SY'TF29"!R M"22AG_ENI%9N0H>*I0GXGHFVR\.PKLN0D1NARQW^6JN'AM["2;H.;"^';0># MK950=TA<@Z0IMX46#?,Z-ZZ!Z<0%R MVN3_;.1XUS[]*_NQ>?B#K5_8+V6Q^5ZO8ABY:>A[((-4-/]C$4"9CT&4!8AD M88 #I!1UV<<>,(!HB0J4.N;IS_9*AR[@H# M#A^S@)JJ37$=,?/6K# "W$DM"S.CZ@G@G:&DB5_IFZ>OPM@+F$\H0(BKI]!/ M8H!@YH,()4DV;VPM(U_ M__%./LADS_9T_(@6QY9WJ.A2,9DDJA3B<<*E5O3&?I39 C-."!_&7)S^\HJ2 MQ8=G;, @SL($^'[,#UI&(X"#C :L]"+$N93&J[XR9^7]-<-JC:2AN%K3H7C MV>Q]?C^SQ[P0]GD'(_X+PO1/U5-D,4JQ&R(7D E ,8T G!*?\G3AD)4\+< MM$/V8T%GP[6?RQZJ'UL%Q0*DDF;P!:LD5I40VYK'&ZL;TCJ&*<6B2187[3M1 M_?US02IQ[_G VO\.8CR:^]"W_/'[YB[[K6Y-)URN8I:1@ (/I2F A!" XL@' MS( TW/@O.MY^(G_S#FQKC2<@#(#G)?6 M4&Q_'11*?-A?CYDJ?UA<%[7J(-ZVIAVCZJ[ MJLD@H4UQZC[^9(59Z >A[P)?E(V&$:, D\ %'E\LG_ _42AU+BG,N;1SZ-"T M]HPJYZ6IOBX455JNUZBJ';Y*K=*J;UR[N 3*-C83P,YJ:N,$BURQEN2NMOTN MBLZ*T6T*(O.VMXLSOI4);@J"$4O^"/Y+S:;*L?;C8@ >2@Y M]?R1%13%ZVB"04BY4(,L=$$2P@C )(UQ$N'(AX&2SW!.ZI.0]'XN=T'T6,P#,EK*R4./I ]#C?.U_;[X%CPK%P_]3S?#0#&+!71/3Y .,/ A8S$GNNF 96*[AF= M96EZ=4^=\WM+GV3VR#B2XS+'&#ZV30C2T$@+#RG6Q^0$'V @(_B_]O)A?.Q9 M1($4>_VNEWMXYD[(=\^-;V=8[;YYZ+:.QE2*F2@QTRER9BOFY%H(BX'PM%5SW;[I"<_C_KVF.?-.O MZD$,@?.[8-?I^%U"TV2I!7GK1LKC1/XYFBM+ 6VLX;+<;%?U%[I]?-Q\K)HK M^NW31J.]T.$ 2Q//PUW+*:W8HZBLQ^DM"U9NZR.I\"3JAFLU(SJ"<5S^&D/0 MMJ'2('BZC8G.@W-M7Z*C4=^B+=%YQBYT);KPL)[^^#'+F+AL=J:X!_3C6U,S M7W0SV_+).J^%X<3R6Z$VYJ(8)5'R8*F&@L@I\C9@=6R=-DCVCD_.-F.H+MI>U:0?)UW M2;'W+<[F]"QUO SI3@H3SZH/J0-RK.-HC* GO7[>UGG!ZIK+0IP7S9#B>WDL M\G\R^IGR[R3/HKR8'6]?>+J6-<\H'ER1<,(^C ) M (M1!"!-$X"(QX4=IF$6493%KI*PLT;ITF3C-9U!["VGG.AF8W3<\N1U?=F7I;'U)# ES>W3.*ONMPWU\ M5-B?T$1UA'ZNUQ6)_,"'L0]"%,(V.SKE"C ($D1"E$8!]I+5"ZMPJ5<@83>3 MBL@8SF=/:JE:74#2IV&5$?0JNA*E4!83C"8PWM;ZN=A4>5'G MI(D37S$W(BSQ&0B35!3 \T. 4)B)MI.^GV+/A9Y4+]LWYV1IHJ[CQWEI&&IN M/&S/Q(V#=L;OO.>CS6*9U]FK_^7,XP^>Y7OX$[F,_[;_G';E_C9E\V-1 '#P M@>V]*SM@VD2>Y?B6KU[7,B+S)XD@)Y^4G-;LU[<^ J M)9[O$1B <0P)1E ,$P!"ZDKA>E"60(JF1D#,96VLPSI%RT+=S6>P+5]O$0 M-;D-K(F%Y9W[10( ];[6IZR::FH]&'G>CM:G+)VTLS[SB'I4V9G&='^K[QFK M_EJ5VV?ECI>2PRWMJ+W88/%OHK<-_V=#OGR0F2RJXUO9$J"6M[@OC/W*JI>^K#?UEUV'+L)GB5T: XQ3*GI71B#)PA@DB?#WA6Y"F%(- \/T+4VRM28/ M?&CRV-__VIX&1=U9/-ZCYYQ_%(*YFRXX](JN;*:77D[Q><,%G=',97$MU2/S M["!N*GS/,'7SQOC9@?8D$-#2-$MUUOR=B:IB_)D75J%'UOV&W5><^56 /41% ME5^*?0(@A!0D-/6![T$W\F"8NA ORV,SQL[2#J1QMXV1"F-O_/TLQ6]CZJOX M'^F\Z<%Q.G3ZWS*GP>?/Y,*16><_C1]GE)G_8P?Z!9:RJ M6*LM#/33^XH]HUQ0U90>:@-#/^0U69?$:5BY.53I M.W9N&FG7EB?KHL#W/#F_]UP95/<-X6M()%U+S:PRQ1!TQT+!U+!ZN_JT@F\W M;T]6=RT])&,5I5[ 6)P"Z/D>@!1[ %/18,,/TY 1Y/D9716-;UFR]8,>(5+[ M/6WW^Y <>]N^HYKKQ0VY=;/#RV:'DRNR=C3724[H6L1^'EE[KJPXOXOT:]&1 M?R)LS8G5ZQ T)$TUB9A5B%X'U+'LO'(T/9%Y2\CV:=LT:KY4;+%K6D4@IHBA M$.# QUQ*1BG (8F!%]'(3RCR6*1D[I:>>6EV@P'AO2P\*,::-[3_V[NU*,:J M)ACE5T-.%EK!V++XN[U[__E"T5F#[<>T$3(DWN3GG56B*<-Q+,34!U"/%- K M.K/L2C/&J\LHEY19;!V966O'&"P8\U958J9+PQBM!_,)Y543:3M(F?E4L7]L M167F+DDK21B# 0Y $F647[,(UQVR@ %^L4JCV*,D9DHMPB7F7-H&'R9W[4C5 M3(>3@5Q.03 ,I&5)H(FALE*@@(HA=4!FQED5 04(CE4 E5?U1,Y]53ZS:O-Z MS[^.C; @_V.;/XMI]A:E?60;"AB,DY2 )$T8@"1! 60@A#2S(U)%OJI4F%2 MEQK')6J[5''QMC:1*( MT^KLB'7VU"I<;,80D[CF& ++]J7G DZ&.[#+H*%W^1D;>+ZKD 1[!Q?U M=)9O[+GU@==WV9>R>'Q@U=,74A M5_RHI=BTS2'YU]$=A2%!'L-! M!*+4PP F$0,(\7N/GS$6^T',[T!2P:,79UB:^! D-DJX0M?KL\B-BPDC>%@6 M"PT4#7D-( :5ADGN1[M*GWUQOI[18W0?=(0>?5!=R?]:%M^V:^:Y./1NJ^J6 MEL\;1C^MT:.LBG]YA*7M0DXI$*0Z@E;@'<3.=F3+Z_HCP$UK^F8PL[Q3)>!R M?AGX2ACZ//JW1C;.L-M]OGUB5$]3=3&("@R#( I!DM/%E\;\Q+P$XB=PT MCB#!3.I.=W[XI1TH#85.1Z)"[\U3W,9W]_5H6%<2!T 8O,R-,WY-K\W30>=K MLGF1H8/NFI>?,NR3'M0J=A,_PXAX('!A!&#"MV\:I#[(LC!""8K3*%3*YY68 MA)%A[0VJ=W*?6$*"5/5 M52Y-,V^9E EF3^J=3#VO6;B$K=>B\6-!?T'5?S/1\J++'EIE.")!&%/@$YH M&#(?)%'J C=,(<,N2?V(*!45N3C5TL3"KVC=I3 ^]90JEO.XC*J<4#"#E66Q MT!'9 +4CLT\[-%B.8A(+4Z4B+D\T;QF'289/2BQ,OZ%9U;I\>BJ+QL'55OB' MH0]=2 +@)90""/T H"Q%P&64\2L*"^+ 5ZII?33!TD1!2Y]3"P)OG/_'_5^N MZWK.,ZK:Q@Q_<3S/O>$_$_]KE0 M&-W ,''RNMYVA5_*00-DU$1C_,>V8/_Z+U[D_B5P;QSQI38/?F"DN8)VO_*: M7_DW#I_UN6V+N;[<'DIN@>7DTS7+9EDJ=2OV:[MB#74WSN<&;(/EMB_P;ZK8 M]O'P\Y;:OL#<2:'M2\_IR9J_LH)5:,V%V"U]RHM95%4E4#$F)J=EF%1J2K!_+$-G7](+=?%<843:O_)XOVGV^L$'P%F,H MY*5^'RH$&4B%*W/. P1C8,L"$#$7!= [/L MB1[OON=!RJA+@E IPO-X@J4)OH8^1SRA)K).@).31]? 85G8M$@TM%DH3'6) M<4-2XF3X647 )>:.]_?%Y_0V[V'[]V^BNO!=]EO=2H_;I[+:Y/]L=.?>:))$ M68(((FVL#A0U0G&,*$@\GX6,$+[)E=JWJQ*PM,V_H]]9-Q4J*\$!*#.P%04I M.T5HP$9?.%1-5"@ODYPHL0F^95&SQ[VA_<;YU@//Z6\UT!NG[7^1$ZY:TBT1 MC)B31KK8&9)6RM//*LUTP3F6=MKC:)2=$(78Z_?KLF8/Y2_%O]Y$#W/[PT-'PJU*21@'1=6%A"U+)MD MP;1R[5*$2Z^4A<3X\U6TD&?VH+"%PFN:A82;T_]]6Q5\%2S==2]IB#Z(7ARZHPV)+;E04/7C=-19K!4 M[SF&397C/1A[WI*[Y]@Z*:M[]B'=X)^B"3'\>[[Y_GY;;\HG5GUCV;:@O?WR M=;>-,Q<2+_1 F#&^C;TX *EPU2?(]<.(P@!C5RTL2';JI:D,/;4.9<]EG:MN M< 7,Y7:_'20MBX:>:.0T M3DAY!,U@9O*=WVC73:VR/4H\+_ R0,*( M 1@F$4 NIL"+XP1E*,U@II3ZH$'#TD38CH6F+M20"?$#P<"-Z&XG_N*TK"A& M1VLLDYRPLPR^9:FGCKM5#]458)H*R-:@8-Y(;7V(3D*XKQA*M]#@"RNV[!/G MZIR$5DQCDAQM0=NMH]@1R^JOOD MYVTMZN_5[\LGG!?-IA2SY<4CWZ3\;W5.6;M7=^K,*HD#AEE* +_X!")-P@=I M!%,0>''D(I)%04I6+ZS"I:Q>H4&%REX;TF+QRD_^LET!T?%)=LU06K7D/Q-X&H M:/T>U=\_KR$-LFY<#+.AI/O^?AW12N5Y&I(6J;,8VS;&C6$5Y#L M")J= =%6;L>*0)FR-$G..J]U20V*$XN2XNN:H9*B>>?7LBC[F*2VIDX?<>=# MCT5ND $:IQZ 'LU$0S\$PIB$69+A%+E0*3!R=+JEB:BV[7;?Y[=OCOZ31A^M M"9CEA) Y\"S+GA:W(:5.2ZKSKB/VLZEKJO*[2F" ?)PRD.$D )#X%">+ZCI^Z7NAF,0Y\ MJ;CJ"^,O35ZT)#H-C7TO)\F"'I<0')<,!G"Q+ K4()'>_!.,CUQ<^)OM1N=_ MV>_O2^/-LJ$GF.EW\-1C6OTJ[EGYE96W+X]-<)MBJ^U+[R]M7XKF"_:[JO7V1?BF30XFD+.\<\V IMJT8A05W985YP>=LV'%*%M' M[2K&G[U"S1^D+:_XN1QG;DI %D81@"CT :)IP _J($20NG$ E:H#'D^P-!%P MCU[E0_POHJ:@IVMB,8MF/J#-L!Y^AFN3FO=P^/EU[3/,G=6NSSVG:5+<\$.^ MJ2$L/MX5)C!E4>P! @/*-VV< $2R$!"6H3CSTBSVE<)T#X=?VI;=4=>%22E6 M##_"3M+.IXV(;7.>-!CJ)KNS/)NRS!T./J\![BQC)W:V\T^I7X"[(-A/>4W0 M^C\9JCX6] ,?>Y5XR,U\Y(.0>"&_!=,8\/.6G[4PC2&E!"(DU?!U;)*E;=Z. M3J_TLYAW>=2B!R*>U:)'Z!' MYJU(E*0QSB (_(#KU7[C78KX&1MB+\E@A"A67IYH[T722Z3.II=/O7&'Q M_G5;T.IU8(_K54<_=E-/=,.!"0H I)$'$H)$<3\8^#"-*(DC9?/WI=F6)CM: M(_!:P@BL@:R"B=P$7K/8RUM"AV9S"^JX%"0FC>D7YYK?LC[%]EDS^^1+5Q9. M'E26%6EIOQ4EKEGU(A3^S\7S=E-_8X)'/GDCONIO!X5(=X'^;5\6ET8P1$D& MH!N*!O'(!2GT^1]1$**4,,APLGIN*KO]ND'51D[L6*%59?L=4VSU[#Z?8?;< M7Y Q>\P+T63-P8B_2A35(#OKCJ&?A%D*@9O$?-W3%(,DSC#(4L+_'@8!A7&W M[A\+^J=:]9[>MUQSUG9=6M""RYU_;[Z$EL_-?8'NFV&%[C8]>\BDTW+I'+)Y MO;*(UO4PWDPTO&VJOAB-J+D MY]?](_?H5?RH*;S9]W*I-U73GZ=N[BD/WU%Q]]R(E[_R(3;UYZ(MX?QW)DK_ M,MI%5S:_%*[)G?1:81+Y/O80(!E7'&&4^2#!# (4)UF <)! IM;#=RF<+4T^ M-10RZKS+"X>6ZS6JZGT_\WO1BV+WG1%T>@IJ$P+_(-^Y*_,/JYV'#B(H)PTIPQ VYNVA#$3V,]B=7-*U#"% 60@"IEP&$,P3< MA&:,AF&6$'=5L$ARZ1*[?ZTW?TG!%MT8;8$.^P'JT386GO):2XV M]5PWFY'UM7Q'N7*Y_C2WC=U]8L#I_E*Q@,O"]$*\M=H_0N&?0X&?AMB8*BXQ ME=X1\H%EK*H$/?6F?H^>\PU:Y__DDU?L&>7TMJ"-TM^>9/NN0_M*XVZ8T*9$ M31IE 8"1#T'J>11$D>=#_BO( J7 ^VL)6IJBW1>J%G6V.AZ:D//6-M&GI-QJ M-+>Y>NGDCH(Y%\2RW.]9<1I>;IP!-S?]XMP,5J=K0;UGRFH!>5- &Y+K5Y,S MJQ W!=ZQQ#8VKIYX_LHVHA;9?56^Y)31GU]_J\4%8]?1\)9L\I.=J'+[4MC MH1WA:O)682WD)*L=A"W+4 %N4][P?@#N.T$Y5W]_J(&1*& M"A//*O;4 3D6 @,4NQDD1R:A-]P4R0AI;](MR22HE]HH&9UCMKXQ?0Y,%$49):X/4$ S %,6 M X1]!((LQBYI:F(JV2#T25F:[)^*Z+;>?T0M36D>X&V''>IV([&0Y'0]H&_7 MG>1-TJ.N!\Q KY+KZQM\K"IA81;1UB^L>FU+Q+%BYK=>O MK4?FV)/34R]?&N$L9.-BRP1:EH61-%#FZIQ-H:)5:N'L@+/571AC9UB$8?0Y M<^F1]=>RJ/K,B2Y6/PE9R =P 0[B$, (,X \& /,^)\^PC%6:[HF.>_2!,,P M$6I([?6I:N= EPQN,@^E[6BF"RA:2*10!,=B@M>Y6=\\96L$"IDDK+'7->71 MMN(717$?+.BG_(?X6]_YRV,9SJC++U]I[ $((P^@)(B FY(@)3CU(%4RREV> M:G%2IZ>T<1YF':V*,NGQ?Y=__%(\Y^^+FO)_[TRYLFT31T=9VO9OJ'4>\BH$( M84 Q2 .& 8PQ31+FT=CS510(EK*==SWA/XG W9YVIR/>3M,&'B "JWKNJ7:ZJOP"2,0.&8;4="W ]HOKM*B0@,MW$8FS*MVEM(0'" MQ887,N\:\YWS.UWCO;\E_]CF6GM#;= %[9)S#MA&=6IH=P;$6]DP>KC9\[.. M3?[6OE4)8"3\J3*CZ)[U_ KTO5SS-^HV'7Z5I@%F:8*!GR4,P!12D&2>!X*$ M$!B%T(V24"7.^G0*I7-\AGCJM@MA/:#S7_\E\;WX+PYKZ%4]O4\@34*$W SZ M((IQ(BIV4I F801(!%$8AAEC 58OUGD=L/-5VOSYNCJ:9_#T8H9]B'V00E'\ M%"448!]AD(4N2XF7Q*FK7 33!)KV*UA^O*(^Y1D@997(:Z"Q?!BV!-TXMYM- ME>/MI@D"W93./3+0B",:4PI,)9E8!+S%XJO!=?%+M%'JDKX50'XO_L\Z? MRBR3<@>=?VE!7Z2@S>F(FW;\R !"2](4J&F4 8O ',PS#T#7;]!QMMO-*9YI M=IP;!6ZSZRZ\-XWVT33UV7I'(W%@_=AH:A#'D^@A#X(

ABG124Z:D79^>1SE#0["PJORB2![85J&V+37,H:^=WR -F.'M# M8N(WRJW>-%GBIKY4XZ8]P6D"TX!ZPG9! M7 #=+ ))F@8@0*'+2,B(Q]0<9Z8H6YK &NH#;:$J/%K0JMY7M,*G%:VNU3#3 MV[93/F5YLIORF5OZ$R>QK2*RS8O'KEA?6=0_LZRL6/O< _K! MZH\_^,1\CKQ U>OG#7L2&<&DO4IC>44B+HVCX4H?_V9\F,MSW*T[W(C?$L5$Q6Q M!ZE6_'?;)T;[*MJ<_H-\SS D61HD((I$S9HLC$#J1QF@(89>['K\2_,U>LW8 MIUQ*BLW?>F97WU[CU)EAN=4\X6^\>F]9*W#/KS-DN _OZ5ENPEQI@F^*V3:2PM@$0"CJV9]4ZN-N;Z5U'VJ!E.=*(OMYMO M#-%\_?J!\>/QB1/.*=R53+I]*K?%9A4'OI^ZQ 4,1QA -\4@<6D(4);&+&!A M'$1*P0?:E"S-_M(UUZUWG#A_M*PX5L\_S V7[X*.Y[:-V<[]XB@,<'*B_PD0"P&)$,(P #% "?,!R1- M/)KA((-0*8IH9*ZEB9DAJ!EA.=EB"#?+,F5(I;@U/Z_9OEC$ M0:?NKV7Q7)5T2T;!U.CY-PF3L79^EV>:N5/?),NG3?BF7WE[(^?0U.7AB&41 M]0%?AE!4-& @H4(J(0]%,2%!Z+.=95/>J6:)7!USYFQU)]8# Q=J27\[R^;; MFC/_?V7#7+S9\L]AJ_P?8:"V%KOZM:D!$6IEQ= M!5'D>EQ532! * P H1Z)79;YE"HE78[,M315M:'-\36;,IS!4DX6&T+(LCP= M6NI:0KDP; &SV7_A,B:F>RZEM^BQ<9OEB;X615]0D!&7YZB,72IO7CT^L M>LR+Q[]6Y1^;[R)5!Q6O*QJF2411 I#K8@!I '.$ 21RZ"'$,2^1V2DP\0\ M2Y,,+:E.3ZO3$NMTU,H)C"EHQX6%0P#TL)(6$9)(C)1+YR.TDH'_92\0 MIL:=11A(,M<+ MG'355)/ZTA]:U[/]/@.X7D78IW[J09"$"020)"[ 'K]^133E MZQ-[)&+AZH55N'R+6.0!I2K;;TBO35U@ERN/&E;>SD@_7-$P"%WDX@P$$*< MIC$!&&,(,IAF$8XR"JF2/W@!ZSEO&]5E+./\OA;-Q?ES^EHN5+U8J./ES-(L MT/$RI/)/ZW@Y [5-Q\NYZ=3-JA^Z,LV?\IJ@]7U3>OX3_UF]8IF7$)=&(//# M!$"(,$ A34%,?!)CDOA!)%6S=W26I/PB+!6]@'GM M:IO5'[;L*[^"//S!UB_LE[+8?*]70@5,*24@3B&7"'&V3'A-%SL@UU>;T1O#LR<>Y1S MO>P_&:J.9KL3X6\VR[?I+GK$5>-/!"YKCJDG MH\T697"1D6%4P>6']'2FVV*3TWS=Q"CLBR=\_$'66Z[SM/78GIZW;;O'N^PC MJD27WIHO;-LUX?7\ $T&/G%Q"!EF ,=>#&#H0^%W#D$&DR#BU/AA%*BH4Q9I M79IT&5(Z+&^B4RS!YA++*5T+63C+,D]SS91UK!G0-*1^V:1T5LUL!LB/E;8Y MIK3K91*&^T]\=ZUBC%C"_T_T+Q-=;<(4H !#0&/"$IJ%(25*YX J 4L3[B*, MSHY7:0>Y66^2#I!+]"()'N9W(QVC-[/[:#?](MU&Q^#HNHM.QE&_JSY4]+:J M/A?T(=^LI=S=IV\M3=0T1,E?0X\@F+Z#ZG-O63X\5(@*J3#H]"8RB6G^DM,M M6COCP"A=0,]CH'7[/!IJMJOG>1:&]\X+3VBV=IEJRG>I)]_=H M$ O\=Y8_?M\P>OO")<0C^_B#522OV7V5$[:*0@9QZB&1'2CRAY$'$IAY((M3 MC#,60)*QU7,3?O/K!E4;.?5C)NI5-M,Q#_;V5<>#4^Z9N.&G[&->"/73P6C= M&'O>Y85#R_4:5;7#B7-J L3)O>T2Z]0G=O M>.=_&7XK/?].!X#3(^ T$!CLWC3OFIEJ!C43U?/VEIIW*4Y:57[ M&AT3/'%1_YQ*VB>>P+5IGD81+$%QJ1,?J<]G+GBA%TVWP_ M/95M:91N(T28^)BZ*4AP'(O6!QG !(LVWX&+W(0B%U&UYMY',RQ-,6D);.O_ MJ#;P/@9/3@^Y"A++8GF(AH7"C1=9-]:9^WC\F?MQ7V#OM OWI0?5W2![(WD3 MX2'I!CE\:VF;1<._!ZF@E$N\ZOE^#@::C;'QWD6 MAHZ/"T^H9^2_SS>OMQ5#[TO*5MA%!/N, >82?BRZ00 P#"A ,*8N1C2%5#H) M?SCPTC:>H,T1Q#F".OE,^P.PQG?>-1#8/OWDN%?*H#_'JE;2_,% L^7)GR-_ MF!I_]O>Z585O*>7+6=^7]0:M_[_\N?F:("6$^$D$:.8R #&#($GB#*01HKY+ MO11Y4O:R\6F6MA&[.KD=J3=.2ZS#J57'G;FB\!AKIP6%1Y]6V_YUM1']MT2;HKOJ5U:]Y*1M"(=CZE$4> !&?@ @ M<6. /-<%;N*C./!02*-89N-?FF!I6[ZCL4G^ZLA4BA^_".3X/C8G_L9LK?'=Q*^;_VF_OBL+-LZRFF^@T]^9QF,^.CX.9]EE0]>2=?T$[X+Y_8KQNT:8S97\1"Y67Q MH7Q">;%RF8=B-PL!# /1=3?R0<(H QAE$$,2N2&!BMG\EV=;FGQHB75VU#H] MN<[O+<'J9?]'H):3&<8 M&XNT\9.)V%^&A-SV? C<\V=ZC[-]ID\=HF7-+SH M3>;[7UGY6*'G[SGYQAY%5,_7-2U4!^7-+-@:5GZM'4Z]O0['0,.Y\ 9 MLN#L>-")9]!"7R&LP?8JS!3=H+$:AF(_%26N^1595'-H.NJ)BM$%X6\UG_3^ M0I;$%/M>X .6(B:J4@4 AW$&LBA)79+%) F4JE+9(')I9]$AF4Z9==TC@[80 M?)V+'X-O;-W4X'M?%B*Y4*AZ_*]U3IML0_[>/7J5K^-B]2.0T[#?>FDM'XW# MKJ##\E8]BPY?LAV33L/EC3/DL^TEZAQ]'38JT\RQ(J9[DIHD\6V:F5H ^6(7 M5!MS75OGO\V"%@7I71?2U,T"0-W4!= E'C\T,#\T"$K2P$VRC"&]*O^[.98F M\X^KUWW:- "29>FI@<\5M?U/$#!0V7\_YAO5]3]AZG)5_]-' MU=V8O[)',>!>AT7KSN#FL2CS6.*"! <$P"0A(,FXBL@U?9BF@4=P)+6]1V=9 MV@8?4JAHQAQ'<]JA:00CR_M;#1XEA^8D^U=X-2^//9MK6I4-'E\'=?Y';*Q2'P_%F4Q;. MLC%4$,X_H*<4W%?E,ZLVK_=\?39\BXM.X\W&_LHVJYB&7I8E*8BB, *0A1Y( M*4V 2X,4QF&($A2IZ %CDRUM;_:T-@<8ZPF]<0JV4=,&1A'V$(3\HI4 /^9W M+>C1%& <9,!+8YJF)$H9#%>;^FL!B76=?!8%GV-(09 MK_]WF66MU/6CH69+73_/PC!U_<(3IANHUC^__H+^JZS>KU'==@7)4I)$Q U! M&'"T(,D"@*,H$8U?4NJE. Q]8J:/ZLG<2]O$H[TJ:U$@LZ'?:1C0:N^BLC!R M^HLEN"T+"Z-(&^P/>A$SZVU"3V=>2+?0BY#(-PV]/(2>>/L%%=N,WRM$&$^? MP2CB1SM;+O0QCA-?1-*$(8",N@#QE0">,'BG'F$)4HK!')]N:4+L_?U?_VU/ M<5X\OO,4JS5/P"LGE\R!9MM^/B#4Z2B]Z1IPFO>HR<%B2-I,3#:K@)%C_%BF M2+ZE)T9^WM9YP>J:7WQP7C3WGGUP\4%L\> .77\3?[O+[K8;D>!4-^&%_SM_ M_+[*($HR+XD!1%"4IJ>B@UX8@92&D<\0"EQ?ZK)CA[REB:E?T(_&;47VX=QD MR).:R#*\E'(B[NT6R+)([!ES!IS=7 Z\'W)WXS3\"?M?S^%-'P4NN#0G2>V@ M;TCR&B9N5DEM!]ACR6YI%DW?0)^F>I>]1_7W3^ORC_H6UYN*'SU#CYOH]ZSC)WTUCW_E*;;Z>'I\9?B.1>9Q'M/L8H'ZMP MB]N.C2OF(7\2F96_?+W_W.>[;V7#K\?QDO1270O5+ ZK\R@9KCTE!8F^0^OL MJ//ZML88.W%SC3ZL=_S^M2SI'_EZ?5N<&)_WJ[H[;/P8!QG+(D )\@&,"0() MBC/@A1EF,(P(#J2BHK5F7YJTZ(EO(N!.?3'#3:&I]:LMCIPF8 URRU+'*-K* MNH06:H94#;6Y9]5$M& Y5E3T!M$NIE>)[MH?6/O?S\6%KMLKXB9QB(,0A,R+ M ?1)"!+H8> BYA$_CG$&E6(6I6=>FIC;-Y]?"SJ=];XD@')U/4GLY229%40M M2[&>9N==3_5/3EXX>XP;RG=U/RX'?^K4X%-#RUP]/LEYYZ[-IP;'F3I]B@/H M=ILJ&L'W]WSS_?VVWI1/K&KJ;MQE(N*)3]?E=\/$2V-(8H!$FV?H0OXW#$.N MI67,=X,P1'+=-E0G7IJ\ZNEV_N"$.SWE-VVE'&%4[*C7K!$JO1YR0LP&RI9E MF#F -5IAJ:%EK$.6Y+0S-\Y2 ^.TGY;B^YK9?6T\?=W5(7LH'] /,>7W?3[#2TX9_?GUMUJ$HG_*"U0(-;!+9,M9 MO4JB&&>!" QG+@:0>EQH^&D&_"""&=?0W-0-5&H%R$^M)$)FJ!S *7>("$_9 MBJ,[+YRLI[G/W%4VD"FL@YS L8.N9?$C@&WB?GJR15;+N]]:E']R=L0[M],P M*XLC=<0,"2>%B6<55>J ' LNC1'TQ-@'EK&J$F.+&$>N8;4^!%& PTT\YL(D M 7' %1X8NSY(?>8"[,8Q3?W$\Q*ES);+4RU-T^DI;>Z&2"/<: 15.2%D!BO+ M0F<'4]<61]S36CH-5S291L.00!F9:%8!,LWPL<"0>$-/0'QA?"#VI;7:UZ3* MFSS]+WG!/F_84[U*7>1Y68: ZQ$$(,LP%Q A!0F+4I?&#!-7J<_>Q'Q+$Q4M MN3>M"^K&&9#L_"Z(=AJJ%"J"Q0)*$Q)%6F9IM5M$BR M?BQ?9%_3]=<]/>6;QMK#[VJ[U S"]9M]-,,^)#!U88QQ! 'R$;]010$$248) M\","@Q#&)(R5-!.UZ9T"ZO?C- MZW SYKU3FGQF'YX.,*>>/*U1KLO^'?08NF?\,RTV2*28_:T4DW\NN+A@]:9] MBBMS*Q0!3Y '?@QF$81C$4*F.IQX92Q-X>Y(;3UQ#M)/W M5#NH(ULOJ5=QA>1$H'W<+8O"79+N@(,;YW A6BZ<'1O.[=1":*?AZN%H.-U6 MD8@W2:O5 ^I2^JSF:'HB\QO;(#XK[5M$]_56/->/,6/ 0S&_;[IN"!*/Q2!& M-"$D]7S?EVJN.C[-TD1>3Z7#.C+_[1TB9/NT;=O449;E)-\HEEZY@+"<2+L> M-\LB:P?9KMF[>4?<. B&Y,V%26:5)^.,'LN+B:>O+:G[\>EY7;XRUOGTSDCS\$ M@_RWS:47/><;M!9\W3BW3^66/SU/'5]+*V"\O*]I.M^HZJ\EN"\7 [8UH4:R M-OVOA_*K4&K+KZP4TW\JU!.VQP99FN3FQ&[KQOCA;$J'4PWN/]XY7_G_AN [ MG\IR4Y0;E3SN42C'A;!1%"T+444 ;:1XRR"EE^8].O)\J=XR#!ZD>TN]H.D& MW2?PB6@RH>R(.%2^5477B,WK"KL1(<05O:]H F"4!0"E. .I%WLX=:.,HD0E MR&MJPJ6%=CV(.89YCHWV4 _H_M=_27PO_DO3,4:U0\,D_)(N48.@VO:)'B'Y M<1PU=1>H)!2F?*!3T\WK!)5D_L0+*ON>GI!IHE.[P W.R+:J^/FR(B%V0\8( M($G*KZ<1BT$:A E@ 0NRU U)YBEY.\_.LC0%I0V=+G;T:85AG<=33E1XYMHT%T$/Y< W]X&_MPI2-W##- 48(:$U9*+&@>\"S'"0 M!31.O4C*3V:$FJ4)H!T_3M8PY)2[6B)M^F_M/#<\R(B[MA!((C>)ISB6A)ML+FTV9B+V:I#LCZ,R^9]*ED M%.+VW!)#-D>3&P5N0DYL:U5_><:JEG1E[2IV>5.TV B, MRPEW,[!9ELB:B*FW%9H$PU2+HV2M@>T;2N< M(L86XF/UL-/R82M.-9M+6P^"H8=;;@59;?>K9 M:RJ(76CTL2_R+*KF\T'OLD]Y3=#Z/QFJ5CZ.7"R\>QG+4@ )Y? O?&$8\K.@FO6#:Y"](\BV%94/6ERT[<"3M.;D2"$&;./2^G.>=2VEYVBHV52=\RP, M%9P+3ZCM-OW_*]WU4/Y1[%*DLB'-$6 8$I%O2X$<"1B M$HCG!RXF018&,CMS9(ZE;=&63*>C\\81E'(<'4&KW%8= W1\SQJ"R?9=1@#Y)MW\@(/L[O@E@+S=I/D;BZ4_M@R#=I MTW[*TJ4>[6>>U*T=U]1%NT?5YK6K:D8\-XL#EH(P"WT ,S<#*<,^" *890G% M"8)*6;2G4RQM?W<4.@V)JI7A3O"3N]-?AXKE#7T B)5J<)>8-U8)[F2"F:O M76+PM +U>Y"W?0U8+0PI*Q1G&/N>"US$91_$" )$402@2_TX1E'$H%+; M@:/QE[:7F]X^SYPP)^.:8][VV]@(:I7;B1_ *+>KKP#'\I;>=QYA=6-A,]K[ M^QS3YCI\'XP^=Q_O:AI#B1Q]_L(KDM2A(]W7;GO1N[$=NP("+,U'.T0M!BA(N'[+4\T@( MDT M.6@NPIUHF-AM@]!3K@M<7DM2\UA'.ZA M?W5@7\2OY_OL#@-SZQOG;_NOHP= .#S$CT4ER1T(-TX+@\%*D3,OG*G"D7.1 M/6\=R9D7XZ2LY-SSZS:Z*>IRG=.&NB;.[W4?N0&]-(R)AX%'?00@Y.HL)BP# M,$FR!+F)'X:^6EN;RY,M[;"YK[A2FS^O6=.3G0PI5VUA,X*PW(E@"C?+4OR MS)LV?I=?:[O_6FI),XV,L08T(U/-W&YFFNG3YC(2[ZC[G3YTA1X>N%AK4^R_ ML>>RVJQ"+R2^%\6B);D'($4()"Z.0)Q0/XA(X+F!5,S_V"1+$QD]G4*>E M5-[O=!'0:<>3"9@L2P@-A)3\3E,0:#F>+@XZF^=IBJVAZVGR67W?TWW%Z*9Z M*K1<3P&UODC.MDNJ?7P?_:EHGK##!80!9"F 0,P")'P,41P%( M,S<*840#2)54?54"EB81AIU$SO4:JV^$/6)81ZKM0:&8U*>\3I(F)(OHVS8% M&0?^BHX?:N@9;^0A.?T;]>=0 ^=RVPW%<70#41^:4POM2NO;PT:34@ M3Z$$X65LIK66JV&Q+$;.!:A*HZ01J'H!B2OB58]'G#EL]0)#I]&KEQ[4=JM7 M;4_O]K^?BRX-N;Y'K\T)&"8^"S./@8"*?HM^&H"$!AD@KD^CA&#/BZFBHWU\ MQJ5M]IX\Y[FE3]GA/@&PM O>'&SVG?(-C3P"IXZJ7 \>< M\WYBOKG=^7+LGW'P2[ZHZ^UX>BJ+INI)XWRI;[>;[V4E2J&L<)@FU$LQ",)0 M.#N\%.",0!"&T,4N8UX0)6K.CHMS+4VBM*2VO7%N.A^Z@W;DZGO6Q_"6=7T8 M0=&ZYZ,!\-<6P)909T^I27_')!S&W!V79YK9VS')\JFS8_J5JZH<]>*(_[/: M,GK8A:=IR3'XT8>\)NNRWE;L?=N>8]CH%08XI2'P<>@"&, 4I!!F('23*,51 M&+A(2>:8)6]I8JICIZ^WU[:A*INV,WU3GD&[+ZWJ2J865DZXO=URV;89'VE6 M-TZ_=@-.;IKU:]L N+[3F\<3H>#9=7L(N_V<)1IHA[BV)3AH&]4*#*]"QZ M)\,GE%>B+$U;%E9,/9CU%Z[,\BGI7?&-"5&5%X_\@:^E*"G:_E.4IZZ_Y 7[ MO&%/]0H&U./76PK\R(>BEC0#21+$_)(;\OLO]B/F*UURC5*WM'-!,-=4=A)R MIN&OD2Q#F=*SZ#0.YXZKYJDAFTU=]MKY77#J-*PJFO/-?@1RA\B;+:WE,^1- M5E7Y"+&"OJ$3Q"QMLQX@5F ]/C_L3*)W?-Q7HN/3YO6>[X&-B/K\QS9_;F)" M^R*?4413[!-^$+A>#""-"4A#G $?41(B/Z1)K)1@-#GCTL1\3_"-TY"\:T+; M$*U=5G4:>#DQ;!1.RZ+U:B25Q:0T.H9$W_1\LXHS:?:/193\BYKVC%W7^/JA M%'6A"Y*OV5>V:5.MOI0U_[G(]>.$O.24T9]??ZL9_5SL:@G=DDW^TFK;_8;) M^ =((2+ ;3PTS'5!@ED$A$;KAHUE@RA9-2P0N33A-N!19*M4/9>B9XK#+RS- M3\7?29-XV3$J0B'VG0+1CLM_5S1^V/@*)$T@;[RVM@TAA\NZ8]#A'#I=KN@[ MP>1/XM=-4NW]8&W?"5Z=O/AI4,YMSZ^=PM@6%\249<0&B?/:1RR"?&(EL3F7 M1C#Q>MW%9@Q",^JNIH-L3/'(&(L3[.NU0>RQS/-ZJF5W@18#?BZ>MYL'/LSMC[Q>>6F,4,#U M0==U*5(TLVH=4\P>:PZ3SVN=_EP?X?I&^?2L?.8? MO;FT_2U.L"-]?YCZK73@'X,D=9Y?8.7H M%+_TE'ZVG_"4ROJB+KZWI&]PF,>V=P.;=@Q-0G%5+MOAB+/GLIUEZ%PNV_D' MU3_&N^VFWJ""-OW=2?G"JM>F(\331O;9JUX8Z6>%K3];#=E$\ESM>LMV7$:9@E M21P!ADD$H!=& $-*^!])2&(?>CA2"GHYF6%I._X71+YS(N6E7ICX$08LC3VN&Z0N5PM\"L+4Y^-$4>@SM4R)\_,L36[LR6R*+8.\ M<$A+J:J'_SRLDHK"]6#9EAM[G 2)(KOS_01.&I[Q412,.;?/SS*S?WJ4U5,7 M\_CC,]=G;GO$?B[J3=64PJJ;)("'[ZCH:FMRL96Q?".L/W]G^>-W46B3GR;H MD?V5#[X1:>R[V- 5"Q,"Q(2$! B#\5!A%V6*DF>9;"U-$'7 MT=XEF])RO495[3RSJDT\G:NBL]E/1TZZ+H/8!0ES ]6@NW;? VRZ1+,-1V=? M*WH T(W30^1T&#D-2$VE$&>?C+" K/46K:RD(:*T1MASK- M[+J\0 7)T?I75KWDA/460QQZ!/L$D"P15>MH"G :)R DV(/4#9/ ATIIG M6=Q9V5"I:$.X@*#<$74]+I:/C!V!3D>A!:/A. BFU^4K8^WO*E&VA>' BQ@6-1,(5\\3R$6 'P%$ M0QB%68)2BF1$@/+,2Y,*+:&B;"+K27501ZNS%O?X UU8P[D?NSI<+^NRZ66/^M[M,^*D?"U'MYYY5>'F]XITS9= MZHQ_@K&;+B3CVMK()K\ 29O,6Z_KC"86.TMZ1=5E"Y ;+\ULDL8WJM]L >;+ M19YM3&;)K5!/=.8:F#T^%RUQ1^:/KDD7NZ\XJRN/92Z,408"''H ^ORNDD19 M JC+4 )9'YFMOVC80:6=ASU;2"S>5T&IC\+0\Z!-USL!;@!:MFND ,8A'.X M!>*,S;\'PVG0F-'8;VD=YS+KFR9_609\2XNC;*JW18=NM!\302F=JM@7VVN+ M*775]59Q3&'LQP%(*6$ (B):RE ?Q##"D"4L#4(E"[W$G$L[KSJ2Q\J6HH9^ MU:# :?1A""F+$ ,DA0%'/PA 0H@+<)J&*80^29)LM2FY;O\VZ.]FMH?^@YC# M>7Z[-9 [YPTC:_EH[C_I/AIS7\BUI7A7N-5D<*8T0,9B-*=GG#E44QJ"TXA- M^5??U\>U?]>OOM[FOG9_2#E, H"X$?00SX MWRA(D(\ ":*8!$'D,A))NVDFIUO:$= 0[+04.X+D&Z.!-!:9 3LWCN#$:5@Q&M!S#9;F(GZTJ)@[).@:J,[$ M#%TUW$(3"@0WK=5E%;$$H2 )0>J'8=M-*HT1!%!T=O&C, Y"LBK8(]?ZZ,." MD@?V+$B)C+05&2>,6!0?!U9_K:Y4W_3Q3' M?[IX?Y9@_0'ERS+HFU^2V#VQ4 M5PZE7N:-GW8Y?W)?BOB+0N'!RR\O2&1U1%XH-##M;^;)I MUH;ERR2>UM":OB(18W&7]?'P]^4Z)Z_MG_LFH!1[.$4^ _S&+TRJ(068N G( M2,BRD/FA3Z1B'^2G7)I.U!(MCH6N2PE77Q6.7SF8)30>X^!9EA8=;G>9L\N) M:8EU?N_^*],/5?N[E5=?C ,[E]N+U:3*F_N4^#IQC[((9"A4/EHU_40)KE%U M1&ZD^;0/)IFT[5"H!8\@D.C32I#T]!Y6.?F\HM$Q\=M3Z[ M7A7=NU6U*8152IH:0;%TGF4) 3F!5-!/[H,\A#'(DIASEE&<8*US=V>2SHV\ MNC20]5[@&P]]_[ZISZ*\HA/>>QTLVS/Q=#L^#[(YB?,__=F=[SSTWX&=QK,I MV*0Z*^]]K#,JYU_C$$<5;FM'-LH#FK@:Q'9H(U_,S^N-[#A-;E?T8['<5HS* M@KB/;%/+M&N[R;(D2B*(00(C'T _@0#+4LL\S6"2L#R!R%=W.N@-/K=/Q$Y\ MF2OH8:E ;>+21H6FK^HN85!G'ZTY*2HN"G=0NW96Z$EN:RMMAM?PIEKSF1-N MK\VT/=QH&SY#C[0H*Q:?5E51O7UEWPOYJ%5U+]Z>18+")*>( !;'(8!I2D&6 ML50VL4\#"#EE,5,AIDL#S(U\&AF]O9">E%*-9"Z".$PD-J!Q3!::J"ASPICJ M \<=XM;&JA(_[(VIBP^<9-&/J=,M[-'K],_BOE2;Y1/;/)XD54#:W&ER_?,^9QZ$Z8!Z,:/,>V@YGCY*@%FV0>F!H[1 M>>; 8R<[SQQ7K7^>J7"U>6/$"TJ=:XUXZ5(SQ_3=BC0=>M'RP_KY>;VJ M;?CRMJHV!=Y6LE[2T_K4:]&+/EEPPE(_SE* H1\!&+$<8%_8Z2D+>(A3AAC5 MZL=]O4AS8XY[5GF,_MA-WZ?=C(Y4P[-P^F\?H4M@?@L??7XI,-W+S&ON='MN'KS;,L"/_;&BT7:1P1Z2%^8>+98O*_Z_B!K9B MDB- K'@$B,\= ?9G4FKW'I.G$2_W'I,X44C=E).I=U1@&_3!,P1K@TUWN& ; MGX-3!^L/GZPLQI_K1]_7[HR]1H.WCXV"EY=0UA< MNW(O(C(&B)XO]XSV9@[<_H.F\]J>$?_ 57ON[V9VARQ;_\"_H24KVX)R"624 M,4Y!GD<9@#)K'D>0@"B/?!)E$<&QEDUQ,L+<5JD44'K9-NR5K70C<4_Q4S,+ MKD+%\2+M *FE<]"H[J+NEC[3I\^?]!-\4;WCS^OE"\W6A))@!%ZN:5?=9 MT>*G.M/TI&3WAQ_RQ[M5P[\/_,(MOQ<(UXG6P8(Q$A ,$4!92@&,,P)R'B$ M&W:\4RL@*_YPV;VW3@.0RX[L"Q*0OB9>499;86G+6%&T M;W#5SP_4XZZIWAYLSV5#^I1'*AP<.(C+MN]/6W#(UG;XL*M M-]Y.?WLL/O%\6?HV3"7UI%^OK$+%LC72, QBFOL(1#$1 M'R[DAR +9#7$6'R]XH3'+-'ZA/4?/K?O3".;WJ?A "PU_C:%P#')-F(YL&+/ MZ6N)I X>/2F3G%/J>+F?O<8L%QP#EB. BI3H+0F3'FMD+W+62?I9P>Z0352_DYAZ;"P>WU&#E> MPBT\#]RK1?0^V(-'IY3(U3!-=-!Y\6WZ3WNI30-(C&4PG;MUTD2E =F/\Y&& M+M5/._K8SG]3%?/3BGY$%5ND!.9QFN0@SM($0!P1@'P_!F$>\,@/DI#'2GQW M<82YL5TG9%OHUA-B>A^5NXM]H5@720[Z #E='9F=( DYVIZ:C;/VO3 MND^?2AX9V_RV66]?[J1S=U-^7FDSR, CYD8<4E2OEM5KA96U[]?5:JWZ^1_# M;)PB+,'EF!F&D') !@J@&'' T',G6_H*RO57O,KE^@N]R8:\I4TZ3FVP*J[O MTSOGMJP[V33,^ N0C"_?Z]!PO&K/)1NK@:.U6B]C8+1(SSQNLK5Y697^DARX MRNPPX):('<%V*9L"?60O&T:*V@83/R]9?5"QHOT(M\>-++5:O3V*V:[$WV0/ MC!9^$GJ=E-?LE//WG&+;< M'=58$VO28Q[;8!X?$5E__G4!4;?[:!DQU&>9 MM7&WJI,WY*]ZI98QIFF>81 D/@,P"E*0<8@ BPF)0Q@@FBH5Q#<K8=7[/4Q"T)2G2,U>G:(O&,6W@4%W?:!%L)[M?1> M3WRQ#ZR3QIU4=#9$T'*8CNKH[Q)NHPG-I; 9W<>8UKO[( AU@Y9W*\I^_C_V MMH H3"#/\N*'1:^N[2A89;UV6--J/G M,U?;9*Q%AA,_HB$'D$2A_)8:L K[A^MP^F8(D9JT#29H$)DBSL^+8AL[>?4!IUVMZ8%Q,E> M3.]N?<_V_7KU5>P2 A_'@2SXMWE>5?3S$GU7=7!??,#1&_>#6P'-,6>HX>7](<6V=) U"HN1A_SR4R=SE(\JUO>7 MCU]LO4K%;YMU62X@3C'WJ3 SDD#L*?P0@3SR(X!R/XOR,,0\22P5I*@'G!M# M] HD-)VI;KSO4DYK]2@:F-5L#)O@.6:*P2H3 L3?!D&T64SB !GW=2.:X>92 M(N) >8UJ$(?W&5<*E3$UZ&=KD?S*5HP7U8+C&(8TY2!G60Q@[,OB3) !%*5Y MG*=IE,5:3MD+X\R-21XWZ]>BE%X^F>]9-%%@%?K)],MUGH4U("1._#0$*)1] MO4*"04:)#VC"D@0R$D<97[RR#5Y/"&Q_/)=*3]J9KIVS/ M^E&&QI(=-#[>I!:1LOK'MI'ZC8:^+E1LZNZ8'XN2+-?E5KQC^S 40BFDF<\! M94D&(.00(.PG FXD]JJ8YX%> 8G!T>9&,E+8D>:U!I J.K5L >7:H[7#R.M) MZJC]NA(HMIQ9@V--Z\E24?O$C:5TDQEG="GC#R]U]9K5]V_L>]/RA IB@"$* M01(D.8"4IB /\@1$$4EACI,T3+&>N^7B6/-SN.PK$FS8RWK3M#HI6W'U*.0R MPFKT804UU\=F.[AV4GK?QM#2YHQ1)"SQQ>5Q)N6*476/>6+\!C..J.L]?FWV MC_>L:FLLBV]J_&Q/&Z;T7S?F4K\N,9;?[MH&K5( :65OSY,29=[8-J'J_TX8L-?*QG M"N)]K1U%Q?\Q>D<%B12\0/M:ZC( >,/H[:J_BQ%_VSZ+7QY<IW&*6) CFBTJ&0:GX,"=4' M+MJ) M[V[Q-9&"S:%]D^2P40WEF7S.%1S0,YU)QPQZOJ+J7G&OKWD;7.!UBM5NLI[V M7JO^S >6# MPY3W&-^TTL7=BMZ+!:=7Y**]:6[[%"F3;EF+3O_A;_55JCO^F)XI9G$C4X.* MUX)NA:TTB(I!/8LC!*XH9=$]:>(J%D<*G!:P.+[ S('PL2C1]^\;6;)!$, # M;W>V< ^%EAZU MKR9-7M005W-"6,?1,0MQAQJ1O4TGL[>40GM"B.<;V>;CC2'5BM?&LZ-&82XQ M=\QF^P.56KP;;X=_*[ZWD[^YHLY3LL=KIM!9HCCMX2=E.U-PCHG/^#G6VFZI M[,JZG=;9W=D]JQ8((QR3E .8"S,.^AR!+$,8X"CW!5="7^RY53R[CN6W:QL0JW0O'4,[ M49R(I$ZOD]_[4RBP:XTDR[%T1TV=$C*-SV;[,V,(K75)TY=@XF9JQA"=]EPS M?Y2-_B8?UM_8DA&QC?HBMDW;C8T^)Y>?.;>OR$B;#OEGM'KS.G6\5I]KNI\, M #Y^HN0*:\>\9@CS)+U1Q@&TU"-E8*!W[)4RKOYPSQ2%^PWB[!ZJ'VS34F,; M"8J2-,SBF($ R>Z1&>( 0Y0#$@?"&@M3'OA*12TO/']NS%1+V&6CZF3SGH%N MF% M/#>*V@GG2>G4:^T>PC5,3E>!X)B6%/77JJA[5E>C2KJ'3YJL@NY9!?J5<\]? M8%I9ZK!:U3[Q;V]4LS *,Q9D@(1! J L(8 2%HOEF,.,I7$>^5RORM3HF'-; MJ&=JUZT&7.C&4*NY:"P#Z'B1GY2LZR7].LKYU0#(6@6E\1$GKJ:D#,%I927U M6\U8Y\MZQ=Z^H,V_6?5YNZ)EE^B7I)B@@,IMB6QO'\O64>)?0>@G?IQPAL0S M-(CF_#!SXY9:2J\1TZOEU..5"V"J4DP$(U>;K?T/J/QQNZ+R/[*7T2M:RL3AVY]%N4AYY&=I2D 2,@)@F*0@)S0# M?DR2/(OC&*5*0?/C0\V- Z2(]6E]_4-/6.\/*:[B3ET!8C56L .<:Y>H*6;: M]# .AR6*&!AH4IH85_B8*A3N,"P)<+8R_R/;U%V A#;U!>7MGVA#_[YZ9:4, M9R-5\5I4;T=!Z&G&J.M1GKZ>8V"-UZGE=.T!/MPVRJY M8$^P:>LT6 ?TI+B#_1&LVH35![39O!6K[W5-JD6$$TYSR #%6/ W3P* 33F'$S+\S H6ID7;K["X"SET?SG]>8)_92Q1#_62QE!)'YQ MGC(7G# _S$(&\I!S !GT@3 U$Y#Y.4T3'L0!2K5-2TTAYL94C0YU[-T/MJ3> M+\6J,2!+S4X"1C.B82,ZQ/F]K<%V#O[9S8'LER$[%O3T]![PLO@^G 5B9@P: MXFK3[-,587H#SQ"DLZ:50^\)NLV(V"1I#D) M*4(@3['LI>!CD$U)%!:=WFS;H]D<3A&?B^ MQ7&_F7A]P"A_4=MY>D6WC&9(C3"M SX-479B>]6Z2Y3R]I+7^5 2Z]H@O!W# M6IL-34"SQ():0T_*?B:@'+.>T3,<9//+$U+9_N*K( VQ?2:R^'_(<<8^N4$;Q;59T1D M"N?;Q[4L#["0N]L\R2F@F1\!&&1BFQN@"/@)##B+J>T9P:9&WDU,GJ= MD-X?C9BZY[+GX%3TL5T)DFN7FBX^^NZS 0!L>>&RW4DGIE+:KLC/;:"FM@TBACK\87+A!US"%29&\O M\XW7H/MMAVXG>&W!6*RGI@F5K9)JJL-.6U5-$XR3PFJZ]QOZGC9K80E5;X_B M#:IN5U2>!KS($?]>,KY=_EYPML@Q#/R(9@ ',HLD9 R@C$ 0".;"W(_#,-:J M\J@PYMSXZ5-9%<]UG[9&1D\*J>E#4D!:T75D%S_7'J-66K%3DO+6YX4[B6^4 M\-3W$ZDC9,L]I##BM%XA=0A.G$$:M]K(^Z\3X.RE_)]]W-P(920-O4FAM)#B M?Q[;89YQ!*OKG9,&HI-D\P\"9BF1__P8[YC#/ZCT ICD$%?[+V8,&NR'*6 1WD4ASA.(=?*QAL8:V[LLQ/5 M*WJRZMDS0]"JV3&6 '/,*WNL^F(ZR)U1@,.2L3(TTJ1&BH+*Q\:)RBV&\4IL MN935C5:TR=01/W_Z*3\I79T&[/MY$+$ ) &67;""%&0XA\#'04#R/,YBB+1B MDT8&G!MKU"W,:OO]N9-7,_YH#&$UWK")FV/R:$6M0=L)Z[72NNB\IPB-K="@ ML>&F#0-25/XDY$?U/M,JFW7O+;?7"&YX8J0V"6K\ M8QU:QR1D!56#VHT:*%FKUJ@RYL3U&35@.*W(J'.S07&SBZZ>7;''#^BEJ-!2 MUBG^MN;5GVC#/JS+G:6?<,:X'R: <9X F.>"MC#S0>*3 /(X%_]5+X5VK31S MH[,1U^>^>FI/+:_3RZL5TZ@L=O5<#K/?Y#/TOGYIEY@_;JK!YFNVITM/ YJXUE[Z#LWV/ZPW6S$#?T_D#K$K'Q$ M;_4S5E3\9K-EM-UZE(LL2)(@3&(09CX%,,U\D-$T (@BV73;SU.::$3ZST$G M)4)YC\R!1F[OI1'\QD.-W!YK!:]Y9ET?(2SW^KY30V:3ETGAV_Y7>#?^ FUC M+O>*:4'I_U&6%&C?O1:8^O86FLY1]%=ZT=ZI&[CC%^ZOW2'H_R!^ZVT/1_XQV*Y%;]M4DH?ME59B34F M;-:%[T/$?92 %/D(0)HA@#,4 IZB$*$T)S[4"OO5'']N?I)63O/$=GW\4>(S M&( P"GP ,8U!GD<9B"##&:=IGOB97A\EAS,P30^EDZRR5:V"3.9LIL1;[\7W M@$>GGC,UW[S#>7!L=)[DF=WO)J M/M"3^\9K-;+GKS=$SI+G7G?T27WXAM < M>_--'V,8SM!Z0SZR5[9(XTX8KC*E[$J

H-^-/9G(?UZQ:2M+5CI3=C#8N9K\_N!RP@K6:*2-';T MFW9LMM'#YT8:K1)>IX4\9-CI(;_.QYJHAVN;@3_,*Y/@[IAOM"%W$,]]%89& MT=UF(TX6ZWT5(/W([^L>=&71D6[#?XO+NL'E L5BQQTQZH3T_NC$M&CXC$)A MN[3'R3CO4\/CDKH7BW5B08ZI8(6 ^#+RFP0 XQ0""C,>,)X' MA 06FY[/UA8:Z^EW'!2%=W,8AN>PWN,H8*ZJ M/5X>^'UK/8X",EKI[@N18CQY1A"H]FPOUE# RSZ\\\<,)4^LOJ'.;-#UQG9G#<4EI7349+F8A_ MMVJ/2;JLUQ0%69XD($^1#$/UN:P#1$"0L4PBO5YR@Z/-;:'OA?5>A+2@ M6'FDD5?/E!B&6,UZL :V*-3T*9/KTDVU(48J=9$'8@@<< M93@25F*4$F$OQ@E @ML!3W$8Q32.@D2+T*=68&X?@E8+>4I71_E+KJ;KY1)M M2ME2M.%MDT904[X4:G0_YZEV_)GH-Z ZK&37T][#;][93E42@ANO!:&.ENA@ M\,3;T@!QII-!!X97H^&Z@ZG[>73:Y]2A^#/HANI^EF7 M'Y;KDCVMOZQ>"MF!Y6Y%[\5'+]C%[66BZKL8 7M1UXZ<0]S4LG?MB_ M=*=/FN0MNZA ]UI=ON *SP8>,"!;^Q%?L!__43M"Y8GWSY?Z0.UI+7_5&HTR M3_C(G/S*9+DU67.FC?X1#/3$-L_!(DU3'T<\!@%&#, 488!3D@&2T2S&+*09 MU"HE/1_5YO;E[+PAK1>[CN[9:W7C_7F?8LYD3' MFS(+@6=$W"I^%E4WRS_V[V 'D318Y*]OO$_]M_+$\[*#RNMAY4FP+'MA9C7_ M-OTS\U!L>L_-//0>\NG,2T*#PF_?'CY_?=C'K[+95MPSW;EMKW4T\BX)B&11C%*>@"S*.8 ,):#^OS%,,Q)" M+"!6*B@].M+LF'4GJ,=>]=OQ7$94<;=@ R?7/+J'J!'24=;4*!:V#-F+XTQK M5XZI>V+FC=Y@&H@LV:9+3S@?K7C>Q/PJ4WS*HF+?V.:U(*PY#FPKR,D+_H&6 M6[;@(?-)%(: Y#X$$"6QL-P"!!AC$,6(<,B@7BRS6X%GQU$R<@G4RGBDIXUN M,+3C:58\?9S1Y+D^6WF\^W!SWJ>QWYO)@Q6RD>VUZC!$647;Z^ED,V9[&N"M MA7T[%G?BR/%IP#\-/I]H7,-/S_-Z4Q7_UY8A^5RLT(K4;H6R*AWJ;9IV/_U JX,3G OQN+^)YU1@C/,LC'/]R(DY:#8WTNT=5F_8 MDM6;P$E2229[E32B(N8@[XP^%A:"(AITO!X\7O,)J@1 )R$30TDI-5*>A,J3 M6'DU6!/FIDP]_U,EK4RFU[RR6::>3NTTE\D%U _/OU^O[MFZ:T"I&(]_<-/< MOH9".'#_Z4%Q0W&*P?"WYBKU'7-]I[G%6AP7U36*ES]\TF0!\F<5Z$?$G[_ MS/[^G94E8[NRIK]+9I!I PC/V$ M,C_AN4ZZF>K 6NMULH2TVFS=E<#0LU.5(5V+D MQVJ]7'\O6'FW(EW\(\X@"F@$$*<40$Y3P4>8"HZB67ALDFHXQAV&J&.%C&<*-1Q $M+@8Z*F P& M.HX]8[I 1T5M#@(=5>^QU'AB$>$P#;. L)9!&"=I>PF%/"=O'+B?/?]\>$A>/4RY>:+:@/Z#RA_Q' MNF=>T5*:6_O*7O(/MRMZ^(O>E8VKI@NS^LB:_XK_O]S26D3R0[J%9)CU)\X9 MJ1:0!RA/!\)]TQP4I5;CSY;Z^GD>RHOBO*V%PB M)_[HEX=W-"CL(R1_Z8#X6QTVV6#A=6 TB3T-'/8H_7VFT=+W8F+A)_T8O<_$ M''_IWDD*L\^H8&(IP>-F_5I01G]]^WLISS)V(5FWI"I>F][M7;4065H+)4$& M@I1@ '.. "(1 T$4QUD>!B3(M*(P]468FS.BIBF^7/]9-B5_>2>ZAW:RZWV^ M#*9%[1/D%FSG+HVJ^21TXLO#\%^D!L)R^)NW4\+;:^&D3YPYB)9(W$" 28G8 M'*!C,KWB228>5Z&>&.V4?B\X>A=QGO,\@"%(>0 !9# '62:#21,_8RB3578U M7+":H\^-!N619FVURY+GK0$F+/KFM*B+'GWSZ+:N)];\^GE-"UZ0IGRDCCM2 M=Z94?+L.\7=_FEPC?\8N%K\;.&IR";F.2]@A]%/YB*U/@:8'V1#"89>R[D,G M]#$;ZGOH=#9]B,''Y1/:R HITL3O(HT*(O8"'XOE5J;V/W[;V7*1CU',8RC+ MV>;"Q(81P#GB /HT26@2(B>D%W%7+X*88UO@AND)_H:*"-N MB?WUP1KD?8W'3<+W![48AFH]L?<_6VD&:_=MF1\3"LG_\].#=?WK0 MBM0\@&*87*]$P;U]W0%@/V#SG,ZF(9L'SYHR:/.<$D=AFV+M+]"R[,K.=<$HG* DXZEL>^,#R",9(R712O(@3FD4!WKIGP?63M1]9WC[;1+58+'D)1P9;%*/H)KBQ]X_ MQ;O,.*1)[)#9(.N5, @_KF4)RT6*@H31/ ,Y2S-)'0G ?I E+$DS)D/0T9T MJ./L*'-CC#9K;">E]TK]Y+;_UFAM<@#+N*5N MC(CC57H9#.\/*:HEH_VL^F9=20Z>-%T;DG,*'/0=.7N!T7[X-[&.VQ[I'UE) M-D6=-KDO_*&^11YYTMQ6IMPT_G9[^^BU,GL]H;6VT6,(*NVL+8(WP6;[$FZ6 M*XWJ86.Z*1][_)3[=$55C[;NJG>96>)'.=/W6VG==YUX'[9568D-6K'Z7GOL M%CC@<4(P!)3*3N6^L-418CY J9_P*.!^B#,="UUK]+EQ3.-3-NX;KH=\DF0X MBT(&LHB*O1$B/L 8!X"PB(0AB^,D"Q?B27C][MCWI7"'_C^/N]RL:@5ZO>+7 M>QT\X.$I9TMMW^5L!AQ_)$[JE=SOH&][N/>$;\]>[&W5C%"SM(73&WO2K9T1 M+,=;/K.'Z/? ^[2JY-:RJ?#UE;W(DH2K[]\J5&W+10KC&"/* !5?$P#SB &4 M<0HRQ&$HOC01\I4Z8HX--+?O22/KKF#=3EJO$5>-KT;1':8FFYBY]@H9PJ75 MCE %"Z/NA(,/GJQ9H8IZ_=Z%2M<;)I5)::6+N:YW7)3_?A+/:=V8>0PISP,. M>!XB #GC( MD'9"$,.B3.*"AEMDY,-;<2.% 5$_*ZDEA#;W$0R"KV2R6H'/, M#<:HZ2-A*WMH8*1I4WW&53[)RU&XQ8PV/A<_&:V;VQ^=E>(<1S@-8T#3 M( 4P(0% >8)!$(19G.2,D4S)BA@;:&Z$4\P#H]=?66'BKHY8_7U=EF+]AUG((PQR(M=_E#*0 M41:"D&""LYR%:<*,:DSLQ]!:^A.D=M\=Q.O6Z7!MR0GE!(\A1-68X$J<')/ M/A6@$<_[10IXV1=D7G/B5'W;52=Z([Q/W8E3%2]6GCASJ:5MPJ]OO[(5^?&, M-O^N#U I8QFF80 (AG*O@*E@ !0#EE 88D;]6"]%=FS N7W_SYB^.WG'#F+- M$#?<.%R!X_2[!V4(K]] 7,#%U2[B>+CWW4I<4'YT/W'I/E.2*:L'_E7VH-RR M19RG88)0"C)9E1]F/ 0HB"*0I%&>IR0)_2C28Y3>T^=''V4E'?F;1CQ=JNCC MILH+AF@X)X$&B*\C0!@L^#,*6UO=_6=/O)3/J'6Z;L]=I!_:\OCZ4C<#40U@ MZ:Z?VVI[1&_>:YVHQ->;Y[HOUL>B),* WZKFV1W ,;SD3)%PO-(&06A[]5B* M-SG6WBBJ9/>0R6)'CL7N1XB<_,VP'4Z%JKH6_^_%BMV)'\M%') T8*<IA0 MV?(O!WDH;&J?AAE/.WF(N2W'G83>'U)&KQ92TUP^ Z3:A_ Z>!RO M44UD]%N27%3>5F^0TP&F;=)Q4<&3;AF7KS1,MBBK0J8C/?!=(XS=#WNB;=V] M21;'6089@%BFOT+K02#E% MFCD:.A.A1AJNX'5,)^/(.O#,FV!E*_5#9^AI,T(,0#E)%#%YQL1=^]J&0?NN MRWO!]G7<4 )Q0'D&6.@C ,,D SB$'#"QR<]]"&,J*\U.T(E/1=JYL>7M]^\; M]ETNZKM5M2E6,MRR6=:RLNA)S&!W +1%2^^);9[KT,PWAC:ZD9EN7PE%VVTN M$^W:#+R^2]ZN#]Y>Y]YVSTW1P$FFY[V;V"G)^M=H3*<#N[5FK M@]K[Z#>S=>G!,)4:$2TV$GSC.*V MNF7V'SUM1\PS2IUTO3QWC6%XR[:LUL]L\Y4MF]C0'\5+U]4Y2Z ?^W$"6 1] M ,,H )E8K"!)*$TAPTE(M%;MP%AS6\2=J-ZF+ZMF!,P M&HKVQ)@CA?Z#JL# M,1TX[17@L!4[,S#2M)$TXRJ?Q-4HW&+&%8^;-6&,EI^%F)+=);E+*BIW'RR> M1C[G<09X&$'!&%D&,IIP$$**,3N(FXI\(4T..,<8C5 MF,,J<([YXQ"S0[.A=&$W*(-CB4W&QYN44Y35/V86]1LO\4M_#L6=__Z?_^A^ M(_Z%46XM M,C R,S V,S!?<')E+GAM;.R]V9);.9(F?-]/D7_-[>^5V)>V[AY3:JF2C5+2 M2,KNF;FA87%([&*0*I*AE/KIQT'&OHD+3APH:\JR0K&>X\L'ASO@R[_\]Z\G MLY^^X'(U7 /S; MYL^>+CY_6TX_?EK_))B0Y[]V_M/E/R?!&0J+((3.H+A/X#T:*$8)78R77*O_ M_^,_6V%"Y%I"-D&!BC9 U#X "J>2<,*7F#8/G4WG?_OG^B&&%?Y$[,U7FR__ M]4^?UNO/__SSS[___ON?O\;E[,^+Y<>?!6/RY_/?_M/9KW^]]?N_R\UO<^_] MSYN?7OSJ:GK7+])C^<__Z]=7[],G/ DPG:_689[J"U;3?UYMOOEJD<)Z(_7O MTO73O;]1OX+S7X/Z+> ")/_SUU7^T[_]TT\_;<6Q7,SP'9:?ZK^_O7MY[94? M\[?YG]/BY.?ZPY^?+@@,;\/'2NKF3]??/N.__FDU/?D\N_C>IR66?_U3_4.H M.F5&LOK"_W;YQS]?OOOS$E<$F VOK^@;9\^H;]N?#ORZQGG&+6_G;Y@MTK5? MFE7)+I;G?SD+$6>;[TXR3B>;)S^)J_4RI/5$.L^9#0*L30&4B A!:08L6,PZ MJ1#3#;8KR2NB>:.(%:8_?UQ\^9D>_',51?UD(Y.-/&Z];BN7P^@^7WD?Z'>39?IILQVT9[_Q\^>PI =!^C2=Y?._+LO%20M=K1<-)+=5"Y'[IY^(ZX++)>97 M6ZW/@&'EV HFWN)PN\O-Y?D:;\,3'[,D&"PB6<5!& M>'!"))!2*AW0E"1-$T!<>^U.<)#]P^%P678"A@_+,%]-J^#/ &V8\#QBAIP2 MN51.*XA>:4 ;H\P.F=6ES>YPX\T[04+U#XFC)#HR*I[/U]/UMQ?3&;X^/8FX MG!AO76;10R:7&A0YTN"=CE T":EPFYVQ1Z'AYAMW0H'N%P5'2; +[;_#C],J MA/GZ=3C!"2DK<\W(T\%B086B(3HE@3F.G*<8T>8&"+C^UIU08'I'P1&2[ () M+RF87Y()VPC^/+C!,GI7/1(6B#B9QA+R 6V=YRTDW,7L/D0OK[,)+YIF6Y/*'*=;0[2LZ0; .:>U^\$%=<[5%K(M@N0/,F95+ Z^^?5=(Y\8@290LGJ:9YC MH'@(X+65("F(BL5P@:G%5G/'JW<"A^\=',?*M%-@B F+.IA4)$29"GG0W)(/ ME2)(@;ZD)'UVQYU8W?OJW8ZOV(^'C/V$VA,RGM*G;Y8?%K_/R>KQ2/:.0R@* MR:.2'CQR!)Y09:%XTL&WP\7EBW=#1<>GFBT$VA,F-D[3F^7;Y>++=)[(U<;( MC7<"BK,UY!8>HO+$5DC,1Y,25ZX=,&Z\?3=T='S6V4RT/4'D[6*U#K/_,_V\ M<:J]#R*A+F"]T: 4V;T@&&V+QCJ;1%!"''<,?O^[=X-'QV>?C<0Z,CBJU7NR MQ+"A6\F"V@:R=AD%T9T51!UUO40O:*M3#E%L1%G('E)TLH241T75MQ\XV[J M[_A<\R@1CJS^#\M0,Y/>?SN)B]DD:XQ>$]_H+$4_P5J()C!PP9)PG&1)'Q)Z)<%(A>YY&21 M N,F"__J6W?#0,+LHMPX.GILHIK>S=;(4TZ.%U-4.92N*H>#')0*2=P MS >(*)3(7/KH6IP]WOWVW:#1_?EC ]%V 9&7-#0LP^@Q%)EJ(P*]/BQOO. ME^^&B^Z/&8\7;!?X>/\)9[-SZHLVC E6P&=%Z%:2(B<9"[!B9.)!,\-;)-5= M?>=N:.CXS/%(,78! B+\I";X+-+?WG\BN:W>G*YK;4^-K"=:: *UHF$WD'1\.ME8S&/?4&R=XQ?350JS_XUA>9YF'H7S M07,#MQL .C['/%QX?>P@1/DR MS%[.,W[]'_AMXK.+.=L 1;H(BDL%+CA-SK)G(42! EMX$C=>NQL*.C[)/%Z8 MG53O7!JR%_2=U80[QUA&UZ\&R(Z/L!L M(="N,+$M3-LRX3AC-M7R=X;D*&?'R?L)'FR]H4U%&G>D:WGOJWMGSU^_WWSR_LVKE\^>T#=_ M>?+JR>NGS]__]?GS#^^OL[%;.?\^CS^ZX/]@7HYL"7"Z@H\A?)YL"Y!@Q=X"5IV'UZ__UT^B7, MB)G5D_73L%Q^F\X__GN8G>*D$$-.)$DJ+K4#4/006$P@+07TC!'+GC7&SDZ$ M]8"EHP"P&%H;'4#L24JUT'+UCC@GEN(,7^/Z_$Y:1)9+P@C>9K+25I/P[P-%O\SB=S3!?\G(NJHE1&*S0%K@JAL*$ M4*\K''W))%-*D*0>;+9T"(KNIV: M6 'T"%-H*+AOB*'*TUQ:0@AH'+0V2-T\AE:X^_^=ZKD%.&ME07V3)!I+)LAZF%@I2]8:A*%*Q2CR8 M*WV8P;F?GG&:P QI:1K)O@,3\X8X"347_!6&%;ZKK7S?E-_(?E:I4;CHR1L3 M#D2I]G)3/"!00%3)%.F]T:EU\/X@0>/TB!D.2>VDWP&47DSGTS6^FG[!_)*T M,O\X)7]_*[.Z,'PV+&+4P*)QH%R1)"*44 0/'WFC(H\D'1L\VN9\W>/U%QF M.(@<)-0.P/#L[+6U$=L)4J!X">O(DQ>95Q\^!Q*'-R080CEJI0N/ULH'&V > M H_[J1FI[\QP@&DD^ X@="4:?+V8I_. T"*QD#DP2Q^4RQE<)I\REBT M?RA3\R 'YRY"1FI),Z!G<[2X.\#,EOY)#H)A8AE"]!%4S4 +1B-@LL(B4[[$ MATK1#P^\1^I$,W3(O9= .XBU7TU#G,ZFZRFN*-K;Y*U_6LQ(^*L:^:V_7>8- M"!:UX&0-"S.@5*D)BKI^0,6Y));=0WEMP!*F10@+CFF]S=U+2#9B.TO,]U^E' M"+T#Z#P_^3Q;?$-\A[,Z(.RVK"::%XUDKL%F02Z>=A("N@+29<%4BB8UWP._ M2]2XF]] @&JKB@ZP12MD>7HEU+QD)%LN+)$,OHZ24S5KP"DF 3T:)&84RP]U MLC_0,MU-S+@I&L,9IP:B[P!#UP_4SZ5UWOAF$IT6@:,#IY,$):4!+U4M-> R MNIH8QUK?Q#],T;BI' .AJ:$2.H#4V=JX[F-NCC>N?&L2@PLE\0C>"=K'F>W=ZXB6@-Y"L MURPXKXQJO>\=Z#P-EO8Q$(*.%'8'AU*W3N:OL%2/YR5949$, UE[_RIO/7A/ MH:X.6:7B8]&F=7;T=TCJQ@L?[HR@I5(Z,$GW;.17#O290&V8"\!-)(84?8A8 M AB.*I:2K%6M+V>_2U0W'OIP.&NKF Z0=G7?MI)Q4T?W!E<2J"03!)$S"!W) M3[2*Q#/@P68W'OFCG&3N)>P.=KW:.FBZ/MF4-LWST\6\+@*S@ MG3A$I20$$I-G@4>C6N= 'GF-]QC.^'"H:J2*#D!UI<_9MOJ2-F3&D&G@-N0Z M:M;5)A<9DA$,O75&-4^GO4G#V-7W;71[AR$Z6- = .5)SINK\#![&Z84/#P- MGZ>T8TZ2C+ZX.ED4)46X& 5$BDDA,!LBIW"AY-:Y;?>0,G;ZP""P:2'V#M#S M#M=A.L?\/"SGM &OGJ1T>G*ZN12B>'2:INL)!A=5X @NL2HE^BQ*J<%B2%FB MM;&T+AWZ/E7CQFD#8:JQ,CJ UQ4.-D>LM;OK$C_A?#7]@MN#CE>+53W>>%,^ MA*\3[D1AV0D*)DH=.,$8>%%[<_F H2:%"MF\6 '6;BG'#O(&P=*2P.S@G^%ZD,N$L M2A>RAA0DP5]Y#1&- "-1B& 9E@*FD&L7$:]KW=J.03 MKJ>)?.MK/#7OWG?]78_9RN\!+A^SKU\FB#K+ O@<+&UW]*'6K@ Z%IQ*)CK> M^B;L4?KZS6:+W^G1^&*Q?+8XC>MR.KO=L^?\=K.ZF2X@@F6TKE0NF_,XBFXL M!3K<.ZMUZ[2\O0@<^URB,8YN>6>#*:L#W^S*\0LM^3?+C33SYB3F+2XW+?XG M/K":L,L$\U[H.Q UMC'&@.CKK5B^L+:=G;$D]/U MI\5R^E^8)]DGY$%ED"HS4*6V!E9_CW M'^CCK\]??WC_YL6K-^_?/WE-/_[U[;OG?Z5???GOS^OWVH><.[UUX.!S?\X; MA:';X]4+4%\@N%B3L80 A=4Z9Z$3.)X3Y%";1PL59&A]%'X/*SE.4G+UTC_0JJV%X@H- M.*DDZ"B-9H&%R%N[_ >0.6[@V0(YMZ^@AM55%SOMBK:.,T8G4K,<- _ O2%A MI=K0L0;.TJ&N%_[,R=9)J-<(&#>*' )"A\NW W#\9;E8K=XN%V6ZGHA,.YC7 M&C)S]?R$]ON890&*<*UG+&:TK3G+P M2F8K500?Z]U6+ &"#QE*P9HM[802K<]&[R5FW$AO",BTD7L'=N4=Z8((J%,6 MGI%EG"TV/3_/N*JW5R)8(<#5*95*2 M>&P6:)>MRD<66UK5:#Q(TKE_32.FW M/)M6&N@ 3N]Q-JM>V#S_&I9_PRO"FD2;LHHL@\P\@V*"@3/.@C19^A2\4++Y MC=6]U(SKW0P#I$:R[P!%?\$Y"6A&G#S))]/YM IG/?V"Y^R8($0P5H+(WH.J MG 3N"B#G,7EE)+>MCYV^0]*X3M$P>&JIA0Y =4M($Y9$;=F7 '4B!T#ZFE#M M$8*++DAB W&PQ@GG1(SK&@T#G.,DW9-7?9EB.'$NBB03 Z-K _WB"PF$14@N M9HLYE^);)^;=0<:X)]R#>M('RKH'N-34U->+^>(Z*^=V,@?#HF$6M(B,["2) MR*NLP+*4N4 TR;8NX7N8HG'KK08!43L-=+!37:Z$\^/.Z?R4F#I;*HOYZAZ6ST_"L)D30WG8?EMY'(G3&@-F&L$C#N38PB8'"[?#NS*?95$+\BL3C_.M_FJ MZ=N'99BO2%!53?.\^6JV55K^S]/5^FPTTJ;NZ.UBN?G!>KV3+9M[Z8?(">6#'.%W4;X'5CA\UKB M\YSMRQ'T66NAS2:[EEP-7\=I&!,A9ZMD0!Z2;YV@>A\M(P\P&0)!3<3>@1FZ MR<[/R%3/#/R1#QKWJ?[+D+&O:=LH^/O &=_ M@7>(FF?3V>FZYF2'8K-R#!0R$@S%R=5L(F3C7'*HLFI>WG\/*>->3#X*<@X1 M>@?8^0^LDRPQ/_F"R_ 17Y^>1%R^*;VFO7VB>F?_;%2Q&Q9292V -+7A%44N=&I,A>16\ M2D:IYM?Q>Y(X[N;<#3R;:+#W&J3;!3AO7KS_\.;I__CKFU?/GK][__Q__O;R MP_^^SLW^-4<[OJ5IC=$AG+5O;?% EY^HA0BY9,C28;]H2?YVN)MJ5F%3M5T2><;W+I= LY4UG M]&2TD$,\I#!(U\NMH<.:NRD9M\:C/7@:R+L#U.S0(OB,,<3HHDD,B$%= M$RTL!$:;>S""N6 ->M':9=Z9N''+0 8P3(-HI0.X77B-KVCI;))M)XIG9V0N MP&R1U5^4$!0*8)ZG*&3-KFUMH&Y3T4G3OX;QUV$"[@ B!.]EG6#V#+?_OIS? M/M]XMYC-7BR6OX=EGB1,0G&; 5/BH#(Q&I14D)'+9%3V60R0DK\/B9T$:@< MRF_:KZ/D?S" /N-RNLBT5);KH483H' J.L5!R#I5+W &%(QR0%5T"25*W;P9 MQ(']Y(?,R'L\(!VG@6Z0=+U6H$)>FZP@18ZUBRI%%Y:3;#B:R)TE3[!U6ZO] M:S&&3'-Y-/P<+O<.=K'+%/K5A\4]IQP;2QM)BKE&%Q1:;-3X#DF*J^D:W^/R MRS35GM $YW>8%A_GFZ=LAZFA+EJ$>KY;1_@IGQ*$)",4S1)W"574K8W9T#R- MWF7IT:#=%3HZ6"T;26_;"S\[79+/L65KZXIL?OCF\Z9V]/E77*8IR60B?-$8 M&07;,6=0M'5 \,5 2DI&@RK1#C/$9KX7E:-W.WC&\T3;+V#X_8D\B1V^E,#9"&^FO X"^P]5Z.4TUL>UF MS_9-C=7V&R3*#^%K;3U;I5R/S2#2X/HHV^T/M=CG>9/8FCT*R(F*QP&Q-JL+@(3@*)HU)QI*S@RA: M;_Z'T#EZ>X6QT-I>BP^[EK'U-S=.P^O1BMOC]LHVKJ%V[DI:0"B-3I)6FS2PHT-8XEB57S@]68W(' M/0WNDNHSWRX77Z8DN5^^_;;"_')^T4/T">W^7[;3F,\E8+,5W!H#&#'4UM?D M)7N9P<5@76%,"]:Z^^;^5':28'$L@NZX@AI271UX7],:TN[0.JB*.X#P1HXKHO_%8OEL<1K7Y73V)*7%*6E@$C"C MLUZ!J+FH2G(+3L<"+@5.Z])H+5J'@@_1,VXB7G?0;*:Z#F#X[.RU5WK4UP/Y M\/4I?7-*_%C' G?)@\FU$;T7"9PR#K1&KP/:Q+#UT>+W:!HW>:X[.#9580>0 MO&K<+\:SSS_6D;"K"2_">QKHXB<1(96D[XN,CR9L^6Y% EV>J7@;Z[D8/3S_53U_. M21*GFT.ZN__DU33$Z6RZ_L8GKG T(7!(T;GJMU@( C5D6_OE<(ZQ>2/N1V)M MW(2[[A9'CX#J8)V==RB^GOP]T5PKIB4#SXD!E319"^DCI")K-T7%2F[>-.E. M2L;-P^L.Q0W4U0'H;E\67\CKK";A0EC.B6Q5G:[H$X*J#;2C101NA8P:0TJJ M=6[2[M2-&YD]\NGK0$KK$H[G\20M>9Q^V53J6Q*95L6!=9E6K4NECNZ1@%8C M3S(G&X:O/;]-5V_EPFTP\5WH':F@_4'GMZ";X\?:J6,@V%7OH@JK)J\^I8V' MMICEYL1M(I4IQH0",EE%TN,:'"UF,#XBU]YGW?QN?@_R>BLU?B00ME'7L5C\ M,* =?+O$SV&:-Z<:$YN*RD*>15#$Z%\^'WXJO4M1;A?(C MP>Y@I71J]<[X.3](.[M1>#+?]D/:+*C5!+,@[QAC/AAE/966_RXH&RGQ$[!>NYXO W?-EZ'U"%%+1!\%*J6EB1:?RE#0I\I M(LL2>>L4\N\2U5LQ\"/[A(>HILLHY/G)Y]GB&^([W+2'.S]DHH!NDHTL)7@& M3!5:2;R,5I6W1=GA]^+[Z>NMV/>1$-A(85V"\7I&P,6!YR0'9-P[ M#D9&X]7S/K7PV MQC#K-' 1 ZA:/11K35JQR(1E*J9'< SO(*RWDMS'VX2/4E'/N+MBS\\=V\NE M=L76,Y%+MLD !6<6%#>%9*L*,!%B1E>DMZU[>1]+H@<9BO*):72FM27=G\I.&DH_4DE:*W5U8!_) M/SGOC)?^?CI=(O%*RVS][>TLS->T$]3BXL_U5R;>BYQ##L ,*E V"@B)90@N MD&PP""]:>YF[4]=E,5LSG-Q,_QU&:5T<-][B;2O$S?>R[Q9+YPERN-KT?JGB/?M)GFCM MBC!2@/-U-&HB_SLP9V S3B/AL56BNL'F[M+=(+>HB0<1LZ8/7VE,\J/&1 I<[J.LR F!*=:Z4&)_*L>$R( M>76]X>%EDO#9[U[):)]XIDIPT0+9_YHP4B7+I -NI-8LTLK,-^YK;O<0:D!' MES%+,X@LQM%7/SOXN9-R=A/Z87&=XQ>+Y3V9[,P'@YSX*\;SV@K90.2" \_: MZ&(<)MZZ\.!06KN,@%I#^%$5VAU^B:WO5?S<(7#:O6K[8T-KE@O)Q@I5>MCRZ,([C)^&AC)CZ#:CN!\MN^\(.&_6LP_TI-/7M6@D7RO39GR M1)3BI T!@E'D<(E29R1X#T47M S1,-2M(?L]HKH,GP:#95,5=7"Z_@X_G^T9 M;\K=#'G/7*QI>8$HK+-C"E"0:8$8%5BLP-A\S.QWB1HW=_*1,==611U@[NT% M.\\PKFM'>)(;;@O@?;).1I,@2:Q7IHXLM_ :A&-<155*RG$@S_(.3Q6+?ULJ+L+<.*L0^0B@+:ZGJG1$B)VB5\CLW/%&A=:)TCN3MVX&9*/#,.! ME-;!">7S4C"MWY3G7].F8<$[0ON;>66V_K_>B'X)LVWX=CX^8W--,,_7OW'E M-R>.Y>2=JR-8R> K1!)R=A&QV M)-?MA, T.ZW'&5?%NA7U!'DB022$K'D"TDT IY6"DH7/VM@4FU<_/BZ'XWJ^ M@ZV4CF'2P<9QG,50DMGD5 'Z0-$!\QE\00_>6>4%Q:.2M]XBAM\,!G.Z^X3X M7DKL9E3V<2PSXH]'D8&\.6)92N*V9 Z" M9@>=?OX\VX@RS,Y%^7)>%LN3K3(OA"I)>CP@2&YKH18)U=<9RQ3<\,2%DT6& MQOCQ:C M:YV5W#*'FVT5&!\N\ \CLWB;QLJY4.2:T#XE\7L=!F>@@%B_!)9Y* M2L8(U3H[] R1R[3> 3H#:V[AM-@&HY->QW6ITM?EYC;+?Y:<>\[NA!:LUX;311[ MO>8"R-)+,GPQ TK!0"&/Y)Y)"28J'TTR2OG6Y0KW4W/TQ(OEQS _ZZQ<%Q(] M/I]/\GA[19,779?#[,)763V;KM)LL2+%T6^_O]31;7(_D%I^H??^;2*5XM:+ M EK3BE3"BUKF&@$5[1LV1&-S:P_PL7D<>3Y,&^3>FIO1,U":N1<-K?>F4F$U MW=BR0\SQM;\_VK[>3TTC@WG'%EV' 6VFJER^^P***7D1:FF1V@PN-R*!SQ3B M<"D,$U$DIEIGY>Q'X0#NYN4JN$0Y>3Z,J0IK@;Z6L=1+"OH0L^ L(@MNOSCHPW1/70TLD(73[]4X97F M!3PD886#["*A)-A<AAVQ;T 'NRTW./-C7[4]_("IWW"MWD@9WU^9G^%^8S@J[W#KWB&Y\#LJB$ M62L+R>4$BMF:JF #D.>;!$.NM6E]FGDDR4>'H?7A3[>*V;[CV1N;H+XM%_GTZFY&N+U]Y M[R87K7.6,P>U'QTHITCCPB2(D?3-8V!*MAXILA>!QU]^W_>&2]1KIHU/V0(M M)U.W=U975@0>F-%92X&E_5B5[Y(UKE$:#D6WK\K;:JA'NW368?2>Z&IVI0/K M08??NSZ\P2X1BV$$LP"%UZ--QNKI0?0@2F*I M7E^WKR)\@)RCQ^]>'V)P?X/:*]^Z7#=G<EGLTDK4J\!#[M_F[HTW;[;4 A8#.F9MS?QI?FYU%R7'3Z^/=\82F0FM"M=@$37! M45CP/AC(R0F=7=![#REC'T,=K?_;T^:/%WF/%N =?L'Y8;=NYW]ZM!VX MDX9&IN#LV;6YPYU3 \^QH;,W##WYMZZFW M@WCP-5 MIFA<.W&$]F^:@X:"[]$(;&LUUIM9L@<=%E_^>8-#XGMH:603+NI2[O!(C M*EL@ET0>J<0 L58NRV*R,"6&HB>T<>W-\'$O350QVJ@1Z/Q?DU;DETH;'7$<:'@-^5JV\^S-J&;!(Q-8]!XI;WMY=Z4E'5!!')512(L,&K@7.N."T>2//(1S./A\]91S2.JND<[^3PLY^0SKLAY7%4V#[&0MYYQM&U\ MF*I&5O'\)6]QVQ7Y$D_66\E%32-8$L"0%VX5TT:W#C?O)69#>_@=F+P*/;_^SRLLN%$55 )HRNN7.\#LKDX-&+ M>BS*7$J>EEYKL[L?A>.:J>&P=:OCSW!ZZ]&@O3^-*_S[*3VF'JL?5@1RZQG' MAX8L9NN=, ![?;-;40 M?(\6XX@&'^>] 0XQ,BU>.V9SD[MY'[[)20C>9X:BS@"I=RL^$H@EK]&Z*)K9 MQ&-K/ZM]DY/-E*JM\-^4\SKOS<._;3]>+B^62XA:6S!,UW($;R DI:'$&'QB MSD0FOX>UW5_7;8>0?=1^;198>RGWT#(LK*:K-^6&O&YQ92W:@%I!=*+4SK@: MR%.,8+7S%F5P(C?O9;$39>,V!FL,LP&5T@'4KK74N%\D#,J&0X:FS[I51 ME@R/51"TS](QJ7SS6<:/V[WO??J$^71&UO8=IL7'>>VQ\C*3^J9EBMNWKC:O M)? 2&5?KVU:KTQ/,&UU=R2>5V626*-RM?8\5\ZJ>"2:PW),)UY$64/-CT[8L M_%#] /?!YZTCV!%5W\$F?.I8X3KE4;QF=@QIGL'6/>M(XQFC,Q[DG**.@?0_T=X/^RH[H3DD61G#Z#(S VV%.Y(X[G'-(V)W2-7U MZ+5>])X\W&6]^8AV[5T'=%8?;.99@C.Z9$'V)=4>YX74&P-%)M(G"DYB]C($$V]2Y:Y]M[R%J0369BVE!U+Y1WLPAI+# M@W8@A?6X_^[27_CPK7F/IS]*I^0!-_1CN]KJ) @]5H-0=;24)@C'D@+8:*R, MQ6GOV_>=&;5?\H&OOU*KF')TF 1H$16H;%2M_Y& 3DL7:2GZYD.?CZ5Y[)8W MCX?1V[UQ'E';?5K:.UL?'V-<'WK@4*V:!S2AWV^XRXU/UCN*K VOU8)*,>M2F FM#RK&:]A\I!RL[-V<^3"<]FJ,[VAX?;HKN?]@0[9D'-$'[M=AQ2=HS'.OE-M#9'C]JD>:>#]!M71:Q@<+Y6'/$ZZ)G; C$Z ]HY'E1).K+Y?IL_N/S;9QX@W=I M M>.]@LN(_%>R,V-B1?0,J7 ,;/$6T^M:4G_N H4/] ;E3K>1&=:L#* LP)!LB0+0U>,:'WCLA-A_38AWPTZC(\H%79M4]L#9K^ZK,KWBAP6FI&8)GM0F+D!*\Y:EV3V%6<^U-:AU'[$38 MC]%E>!_TW-$:J[%^.HH25K7=USQAE=T9>]/5WW[Y5C^^(,DMKG11UA$-.FG M%[_)^JKWS0.:[/_QB '%IW/6Z,9\U\#]X7K_U]HV[8 M ^Z*-[HB)\P^R,2A.$-HJ1?XH80,3,I0&/TTA=;&OW5/;'I:O>JZ8371)O(" M=0166W\IDR,XQ 3&.H_H*-@4K6]Y[R&EJR[8^^C[=A?LXT7=P09U5S/O<[__ MVZ^U,P']>X-%0?LO8\R!=W6N2)V)ZS,&T#'7IG(E$9_-T;0WF>-N4$V1-JR* M>MR'[NY6?/B^].#S!NJM/&36SW$=; .Y(2PD UH(!0I5;>-M$8+2B<2FF&N> M>#]NA^7+^XCGA);%-\3WN/PR37C9:_>A2'GE4QO<3E=;"F]DHCG M([."'1@3=P*8B[ M.=\8NC>?-R6U3])Z^N7VSL-CP)!B@B!J!%08AT!A.=BD4_+&,3_85=;A5(_K M*W2!_$=1^ \ \7=(8ITFDON&]]_F4Q+U[V&9[V$_Y,"\9PI$Y@&4%09BYAF\ M=-)QR="9UJGSC5D8M\BM8_ /"84>5L*=3-,VMJGWFY_M?EN.?YM_(6'@?9QG MRWF(M468K:>R6D7PB?8ZIE/6T:?(97.CWXSZ<9LEC8G_<0#08[QY7XVG9VN;[6D<"%'&Z,'Y3(G&V\XT HK@$%H[80-BK?.B3Z0U$ZG M7.R#H0?BM,&4UL/&?,'FD_EZFBM+TR\4DJ9ZTC?%U?.O:79*RWQ[^W7R^71] M%HS>/P7$2\-LG%O U?+]4IS/1($,S4]\VG,Q;I0V,*)'476/6_'5 MMEVOP[(>>G_!9[@.T]G1K<5N/:]ID[&'J1VGW5CFR3+C$I0DZF .8\D_3!9$ MX2PPR[*WK3WSL=J-W='#9/7+MRM?;7:%22I%)I48<&=)(CS24D0>!#*K_[_R G#3%J T^%Z&!%8VR$4Y)Z\__P)JR>9 M/LT7L\5'!)Q.3'2E\@<0F!>DZ1< !^0052JA")DD9E_SQ/;Y47] MX>0(G2X&$O#88/GU='T:9K\NXK2V3CKG(" M(,$D\%);:EM$"CPP0 I>,!N% M<5+L!)$[']]'&\D!@'&\,/OP]32)\3>XK*F98>/),U_7]3DN/-Q$!=]5B>2\: X MCQ!M'0BA@P&OG 0G&'U?>UO*(X!O!TJ[V_D.1,H.G44;JVWL[? .%E^?5BM^ MF4]TR9CG,3%O,Q ?U;"3MTG;O@$LUOLN1F2=,R-^@J4( MVJ!/V1KI=.L3AN_1-&X6QV P:ZJ*#J!U][+93OQ>7UM %R4.$YET+(QXJM=I M)+]DP#G)P!N,)6#VGCV.@7N0S'&G9CVRG6NGL!\*DT^69-4_;LPULIHO,O&MFY8T9:#<0=S M=8#DYFH>.T(YGWN7M\V)+FK)WN'JE("U+5VX'*!^MMELA?^,_FY"#C+:5%>T M4YP\4M1Q+R4[8M#\,-A]?.[VG?&R;:(6SP"W,\Y6N M2V$[):I1,L@>;VJ:)G(HA^,DD##IT*400.M$D3,W!J+T :P,%FN-AY1_E'EU M.Q[("I:Y3\6<)5@)6NP^RPP<1=*><5F:ES__H1-(]D'8T0DD^RBO(]?TYL6U M%-;ZVBV082"9B1P@6I,!E; )2PFV^:B>/T8"R5[ZWS&!9!]E=(JIZW>9L=XM M\9+)JRVL-MPO$ NG9" M2-99@C(I@RO"@W;9:A^3Q*1V@L@/F4!R,#".%V:?F])E9*U4<8BT:7MM'(F& MZSJ+S0"7AK;MHHV-_R^!Y+%N\:5'W6(7?[FY-< M HL^:E ^TM+-VH$W2D$M"_+:RBQ='@B?S9GI;O\\$&_?/_P=0?E_L%5P[[R: M29;>>A,32%/[WJC"P26100:%SH;,>/,VPH_"6'=.1'^KHPTH_F KY7)(Q&KB MK*F'6F0A2N*@0LC@!2>KP24O,0;RSH:*KANSTG%J3R^KX5#%'XS_+[B,BT8K MX'RRRH3\1 H>G <;%043: ,X^G4(3$N;45%TTOJX\?S='>?U'(.Q@T3[!S.* MFUD3KQ?S=,V?0N^E*TE!-EZ!2G7)<4T%X]0L=R6J8YS@WHQE,># M8>Q#K9;2N/XK+^>U"\1T_O'":OCB4V2UV5/T9#5\0G#*,RA*RF216=I<]LHB M?P2B.TXK.F01=*WSP]?"8AUF?:V%V].(GJ2T.)VO5V=#D,YG(&$^F[2VFNA2 M,!L*RK/A)*N 9#>P.!#%9Z90"AQA?1S 2,?I3EVLF:&QL?\Z\MMU-*]S;#!_ MZ-+Q.A^*_B%\O?+#2?2.]E7TM,_Z.C$E%(@R*[!)N%2B4Z9YDZCAN=II!;D? M9@5U"H<_YCJY*@V>*4PKW$)AJ&J'2PY!9 E)ZI)<2C*DUFV#!F)EIQ7A_Z%7 MQ*&*/WH9'.U]'2F-*[-T;TOE-=9N3ZYP+1"2L9O;#@ZQICM+6[S467J3.[GJ M^AXKNUUTL7^4==!4\R.&'X-<^(75I[.;C"]A5JM")M&5'(JW()3,H"+YC][; M2$:"98.D/%)1'^M@1XYV6P[_X!>_Q^&@]]*+R[N*<*U$H5&]Q?<>W[3(8B]> MQJFL$+($&9D%QVJ&EA8>R)X6"$8K$Y6TGCW"5MI3905#FUS4#*PL->P0#**P MG-:Y,]P44[QK7>C[AZZLV =A1U=6[*.\CBZR;F9TZR*S0Z;!J)AKDD*!37&* M+X&5C,A<&FI5_MB5%7OI?\?*BGV4T2FFKB?YQ[Q6_E_BOI.8EF +>*I*4UPA>1 ,)E3=" M\B+X;K79/WAEQ5XZW:>R8A\!CPV6>[I)6I9L(6,L0XB@G"] VW^"B)[YA"0P M]@>NK#@8&,<+LX--Z<5T/EWCJ^F7J\EHVV#WEV^_AO]<+)_.*$;:&%VC.0MR M4XKK+QD['4X.5^]JK!@ M)5+4XI2M)RP)G/4!D@C.&*J(7+8)ADRAEI;/-+CP?(Z19NQ\-@ M,8Q.>H#79G@3+M\OROIW$O0-V9TW@3<^D:-)ZU,*3<(BK\+EG("E.B]:)862 MMP;:+H2-N_,^*N2:ZZD#\'U8DK];!72^>+0V#&L1@N3.U?R.! &3 <;(- GIJ47>?#KO')1PJJ-EWQSCA)CAM5O"?T&P8* M>C\+$HBJ!2)#$48R'PR &Y MC2P&5"6U;@,W9AGG.)D?>V'MDS;_U.\U M2BIZX,E-\XEVY6"D)JW9"H[1@0BR.I/>443A ADG7EA6Y/AI/_Q>U%,JD]+X7!NYB* M8AZT,IO2_@S1< Y>6H$^.N[E4![BCYU*M)?^=TPEVD<9G6+J^JTVXPE%$9M9 MDYD^=2K2/'GK*#B%K?YGX\LUU>U!].CM#I?1DCQPJX3RMT&0%%[I14=6ZV MK1EZEAGPC"0E&>9""PLMAN$-T'['<_UDAS3>XPY32Y\0J\'6BQIEO<,O.#\E M6=DZX2Q+L)'EZG+2^LE.@(Y>9<5C.I_./=;33^T\D_F?3V>FZ3CWV,2A.GJIS"6M^E@"?DH92LG7&6!5O MYND. ;_O4-EQU\?&.&RIKAZ/:%^$Z7(ST.[BDS?EGI%X9^UTCCBU/?QE1Q_D M-N*ST=GN!1'/IJLT6ZQ.B:>+2VU%JSV4"7Y9&4 E7=6BLA];%TBVIJ'D?,W6Z'OUJ76 MF*KN<[O?G#XIIDI,.8*P&&OUB8>86(2D%;DP$J.)0S4.ZNH4>%Q\['A*O(^R M.L7<]9,LU($7QQPP86OKC%C 1^DA,Z5%4,$Q^1CES#_ *?%>JM_[E'@?/8Q] M2OR]>LBD4TY)1 BRUD-*+\&;0H(CAIQ7SEA>ON<-_A$*3O?2Z3X%I_L(>&RP MW%TCZ1-&E(@@=>&@>(RTF+P"*44*4F*2^0]<<'HP,(X79@>;4L.-_C*RST%J MVN$CF!AJUH&NY3Y<0JVWB&BM+Z%U+O 0?(Q<2-.3"S8Z3/Y82^5IF*73;9G< MN\5L]F*Q_#TL\\0DYHH."0*3A;829VO!@8:<&$8FF4[-*S0&9^H/$\<=1'=(XF7 MJ]4IKB8&-4\"R4,PY,\J%Q7X%"C0T:*F0V1A6.O[U4$8^O[%E\_&.MIY35UGR5+$3U9 M1<(P.OY_,\<([6Z["L M*4I?FN1@W7I8NQRKA^E\C!PJ89ER.5GP=<2R,L: *P0 RYPTOB@36>O:SQ\J MATK'VGE&9U%1)A>!,YF!38BH949)MW?WI'RB':A_T#9Y#M8^J.W @[LO- M*,6GS'( EA4G5RT)<+7E;B*;CE''B/81\J+_@#E4>^%CQQRJ?935*>9N](^6 MPIF$%"A(06Y$)ODX51P49C [[H-40W57^,%RJ/92_?Y-^_?0P]AI,=]+\3&H M(O=>@T)9>P!B!.>SAU*<+8&<5I'^,9KV[Z/3?7*H]A'PV&"Y.^TG.TS!$LF8 M:@.WK +XZ!6(S*W-S#L7=TNS^R%SJ X&QO'"[&!3NA(&;_;N#_1W&POK@MO, M'X"4R3\VXNUH;;>\ H0-$WR&(:I"\.)VOWX7U>1N, M.G/%>N9 ATAK33,.,9?:R]TA\]I:S5N?T'R?JOY =8C^OP.K(Y71 ;PN#/\O MWRX^_>L4ET34IV^O\ O.MJ,NLA9<"0%&I^H_J BQ! 9.1U=";;HL!DM\?)"R M/\R=]O';Y@"J[ F@5];>ZC9_9XM;2).38 @1F0058FTU)#7HI#A#9I2(@QU6 M[T)@)P=>#1&RP]53&W7UA,7MY=E&8O+,[A?F@C2F4%Q,'VBM*@@6$T58.J?" M8]*Q]0CS!\CI!&?M07 ?W([42$_@:ID)K[/.0I*+(T3MO\:2!L^UK^>(CJ'3 MSKG6 >YHA3X_PF5_PUU^+)ATL%3NZ+9[3P.2BQ2&FY[[A&)(1=%D (8\U8;@ M@<( Q\$@"ID*1N%;M[YH0'8G=GTT['U_*,&@0.@ ^\__?DIL+_YD,0_7==6D MWU9#.AJVXAI*.H^18<9,M,@\@HFT'I2) 9PK"1@+JDB,D37OT_(.,U([&R_FRVNZ.!LZY>KH$Z= UA+6356XXS) CMP%E;C+MG6SHV;$=^*I M'(NW>]WO1U5N!W['E;.C*R[4BR7^_13GZ=OFX$@+K.U4/,4UJ4;RY$IY5!*2 MC5PXJ8LQ@YV^W4]6)TA\7,#< MECOSBMR@J% /MK/<3U8G@&P%A1U.@(_12Z=06UU=I6*%#$(3P*+",HG!M[5 MV;DV. Q&832M,[[_>)>R>R'DJ$O9?=35$Q:O7 'RB]:/LN22$9+)9/"]T"0O M31\X&7R7F9=AL-JLV^1T@K/V(-CA4O80C70*+G'!BG59EP#,)PV*10DQ&02G MN(M9.9'98]SXBQXRT,<%UR$:Z11^GYI.H#5JD-!(5QV@[AVNULMI6F.^FZ>[OWN^ MPER,064.Z!4#96C1UM[.]!D*&:)GJGD>^S'TCNO.M<+,8B0%=@#67Q=S_/9K M6/X-UR].Y_F<"\V,<0P5V&+K]5#B$!T30 Y$5M:P;-L7A=U)R;@ >SPDW"RR M.%XM'8#K[F/VS8:QC>=32#(651 @U!] DEW)00E@WF(-W-TF=)%GV M)83Q>I9#99E M\ !=G9R6M #"?2!KI94.D/9VL=RHYC*_Z XNSR=P*&6ED1Y$H'!*L: @2.U! M4V1%P52VR;?>8/<@KQ/<-_P,S&)>2NT^]EC.12; MG(4B$K%7&QAX4Z\<5:KCF+UJ7QRQ)XGC8G$PJ-P*?X?36P>P?+Y:3T_"&M^4 M'>1H&3=2<@.\]E)5)@2(&FOC'_*;+9<\-)\PL@]]XYXR/Q8@!]-8!VALX6>_ MNDAJ3]D9CE(#,AMKM7L![X(!EZ(W3): 8;#<@Q8,[(1G_0\2\SPZ(CI8#G>? M8MRQVB<\8\3$"S"4@ABS$F(@@^(98U&&I*-LG4NX,W&=^*R/#Z"=#M*/U6:/ M=3%OE_@Y3#-^_8SS%=:"C\7Z$RZK2.NC-XHXHMQEG\G>GT MZ6)5CS4_3]=A-OTOS&=T$:#>5'JVZ+[$T$4] 1E9Z2Q!E.= 6"((0;2R9AGR MD U72C7WV8XD^>AH?_N:YUN-/=TJ:N(UTY%AK6/6L=Z\)@B\%/K,F)29=DFV MGN%P)R'C6L/'1-.MX/YHO72P)6^WDDSK^D/X2IL&3C?%E>?<:.FT%Q3S85)8 MKQ;(:)=23T"818$RN>9%)@]3-&Y,-";<&FJJ ]R=E==^>X:?%ZOI>A)=8B5D M#T2M 26<@."T@&2,+DH63+:U6;]!PKBY$6,BZQA== "E*X(Y7PP*M1!.%T R MNJ!R8NKZW7Q?6.4LAZBA,=,!" ML* 'PW!!7 \5B2X^XW+]C<*V M&G-_KO>D;N%#<*,<]?^786YNLG5]Y[ 3.E4DY&:K!9.5!* MUV,/)$_=.:7;Q?=I;DV'!U%P=RE M&IQP Y$[#@*-((R.K5NAT)A5Z@=J)>Q)YOZW3^\8I_ M^WY1UK^3&C9^[]E=M8O)>PP,4#A:M]Z7FCE1]PZIF2,WMY3T/>^L"26=XNY0 M7"S&4E('QN_IXN3S*3WN@L\S-J+C.;LZ*"C6]KLN! @A1M"9>^V+9C$VKS*Z MFY1QP#8"&&[>AC;03 < >W&ZG$_7-22?YQ?3K_6SRS(#%HI##\9E#ZI>X$;/ M%3"M;4HA)8P+PS<>/<*(P/Q&&TUP$L MGYRN%R>;<7^7#& )*6:PP3)B@!87+34.A=9;)K]!VMBZJ]DM(L:Y0A@?9L=I MHP,XW;$XSKU0&S@OY'L:4:_?(HL0I*QYJRQRF94IO#6L[B5FY+3V@<+1MCH8 M$4RKY7KR+LP_;D^$6-*I"&6!.8>@6+V+2YG"%T2+Y&VRZ';RQ.BI5T!#7UT" MYMH+QP7'H&>RAPNV!S20WMN+#URN$NR1D4282I42]PMK5A+PAL)(E0\31 M;MABK5][Z3CVOYGB#Y9?!][CO5O>JXMRD2BXDEH7$$:08V2=K3U].2BIN/69 MYZC;ISQ]CZIQ$S?'O<8]3#4]@^VW%9;3V:MIP8F2KDBK$P5O=32FH@TWJFI' M'?V/?I*<;7W@O -9G=ZF'8B$78%VH%IZ1MI?EHO5:I)S+-H[ =EQVIU)/.!< ML. DCYG\.PS-&U ]3%&GX?' ^-I?&1U ZTE*IR>GL[#&_ R)B+0=0T:?SW"C ML'EMK[!<3_]K\_U[F9]8EK">3=;^"J(>.#AP'!G(7%"0>Y@R;YT?U8KV<7?? M@>$ZBH+W![;? GN.'RNEPUK-U[B>."%TBH@@$B=!6LT@%!; .&UU3BQXUKH1 MP4/TC%MH,9;%W%<1/::SOZ2_GW^X_K]Z?6:^\HP! " W<(115?6\8;W]D8@9T0FA*!YM&BC M8*5U3M7NU(T;A0R'J?NSYIOJJP/G\0%^?OGV:_C/Q?+IC"S'YOS9ABQL;3&C M+:.0*Y,/4?MV$'^"_N,Z:"$;0W$/\GK)HV^+D)N)5P.IJV\D7C+V.IR<7X\6 M6K$V>P^"6P2%PD-@O.;^1)&1?NB:YRCL2>+(+7J&@LKND#Q:;QW \NGI:KTX MP>4[G&U4M_HT_7R>F&%4E.BY!<9J5BVW@AS?0%+D-L9$GQG7/-_Y?G*ZA=OQ M,+B9Y=Q()QW Z\,R9"1W_&^UA];FBRJC)&CDB4./"+%V>ND 9.=5 >=903>D=\94YC)Q60\[:P,V57/-0@ZE MGH(:GSC#G%KGG.Y$V,CC8A[3KC774P?@>[V8)^(+U_CDXQ*OI6^;Q)$K)R%+ ML@T. 93LZW'))PLGE0R(SD2!28-AUI;N'[::F\BR$ M$\*LD$9:J =;>Z] &N6P)Y"4E.;2%HNT-0PE@B&TCX):5ZP:K*7JP%$BS?ZB M;0$/M^(SD:I>) M/:IODT1SP;!#R>5'XWGXE0[PJQAEH-@2'$@G5_G\Z@./4MG.^L!CY%=;\8_J MVRC-C[\(P#S"0<6-I\CE5Q?*Q@0T8\-5ISS0^=4']E9\;_DUX$[N.?3NKSJ9 M-];"^888 _%P)RRR+BG$1""1&4IL\9>;7>AJI4:P5HJZGX*:!MV#BC2C/>PD MB,N8HC)/JY/(&9F0U#K?O#OK^.D2TJU4"I9'0V>X]51-;[A]BPLW']_*W=2H M"2PU#U@AOZ[GL08"->HXR(UCH9U3X F>SL(U4#)8$6@]5-*T35L^*#A[6%AV M:1--B?" ),M#R )PZ(S)$QN\EY'F6I?2^9KCJ6PV73@Z#$NH;6C9W\4I\)F+ MS@Q16'O%$+$.3#J6X)T$GI 2% O*J<>A^!BBO10UFS\<'7?'JN-,:@#?7*\[ MW#S829NFOIM"N4(U@ <_,T8-X'&\U:D!9+GJ0 84,8/HEGJ&C L$:2-D--QQ M'TO'<">M =QGR)_KY1WHX.+/./T6?YO/5I^7ES98KK4/2$AC$8\2) .Q&:*> M*FCQ/M,*?A3T9I&8B(BRD@T,DCWEB ?[3 MA>A]D$3%XOU<>U%:=Z1-TV@]5H]GA]97";Y\QRJ7WD5/.6)YZ#>/VB$=@LKC M@4"^PD"\7WITR0!R.^%6_M5PVU^C;8,WY^*(=3HHDUL]Y#P#/=3 T?\++Z-(0-SL-6D%^I66;V1ZX+R6\AUO38Z?)NPZ0D M<'G(A&Y9MW(+J,(0&2JX!MR^3_9&'J^_^\DR7MCO&QG=0MAK94"C%(F;$ QP M['#N]Z*)#!%^T^#2\\8.D%2Y+=-(5J:D'AJ U693/' E[L8E,R95%!KAP,%A M54PCIZC(0X2"Y%Q80TK?,>XDIG)[I9&@5$;V#8 H'[-9&O^HBXCK!_J$V(!&#"LHQ$XLW:-A+4-U#!@#U MW"+?SG!_\*-+.,^MB0[G]#9%W >;IYQ9Y(5V 1,>-2E])]R)L+J9MM.=DD-U MJ? M0/77-[VD@M=>N\009Y3D3K,6[#V'7P7F=2+@UZ;204,'LEKI#C<6JIZ:S-*: M:N!D/L#2[=0LFJ2442#+I,R%/BD_]6+ F7/ L#7:E;Z<[41870 6A\-Q<.NA MFW8 M^;C=GH:48(I[!#U.3IBL#EMKLEQ+MD 7"EI1D+7 RJ:AE(?56\'4U^Y M-X:@3QD$HZ.>9,Z2OZ0S2UTM7FQ"=D M&1TU@+EG\9 5)OG@+(H^:<2)P<@0J9%@@5A'M1'%WZ/W"D?'ME2%-+PMZ=%7 MW,7@4C#\_"6ZU3N[R->CW^* H'+K.H-#QVE 5QZ55(' XPEXMQ ML?!(>YMG\"JL R-6%9\"M9V2P0/O ?WOT\\ N,GJC?7KW.^-,;6!&NT]SEX? M1UQ;,*9"8.0CH90H;+ J?7VXDYBZAJ, !IY-L2\B]@:.F<Y) (',-$.$2PY(YHSYU/I"YUG5-1%3"'U/KVV&2;KYM"RB0TT(]$3KG.+ M*0,\:/#?E.(H::4%')2I_'3Y;7341Z%2@]!-P"6C_';?/IM,KMZS,Q= MSV41D\F-SD*>8YI[K#BN,!)>&UC+@EJ"3Q]]/PN'2@F_ 23]&E>P MV*U!OAV$JPUQ@2FDL4F(1P>66,/QC1GWW%.N."V=N]E&1]TXNSAN!HNZ ;C\ M81>3?%A_A'#Q9M)ZT!2'"/0[#W G) O$R3P!,F@C!82*I5NA/Z6A+DS&\6<& MR;DQG&RVCA/4<4(=\A#>YZ2Y1)9R 0B82&G!DQFFU3T0Z2'B!D#R MDUVNJ;_MJRN"BD9S%(,'4^AL1,XDAX3A&'.*F33%7P4\HJ =__[Q[4_O/S[@)3F26/0BDNT-CI^L9/ICT_K!&MFZ]/[=V]?O5]\>O7Q M_;M;%SQJF;AG2#B=K6K(?'F/J&7.8"HQ>SH3\RV.4M:.^1;'2*[VF(-'\QFHSVU@ MG )R&0/".?R*I(@X,!]9DC2I$GN^P?D61ZELYWR+8^176_&/YC,$S2W5%HR< M\G#XV220LB$:$2#EB=>X]Z(?(3U@2_H15UI2]RCZ&OO2O>GK#H +@B.JH=U&YC M[+X?PTX64Y3>1@CRO"2YJH_1/%B5(\(8(2976CPU24Q2P7GN# KF 71YV MJ74T02LY1CE7%]K:"[;+6+E1=-, YAY*[)*)/&/#6H0)>!L N.A]]OSQTK?T(>)>,6"VT_QF]Q=AU+U-KN6FIPN6TG&@M5W&Z^]0;P MM*U/P5WY)1'$)4=X;LVX'GF\]GP2BI)I.)XB$;2T=]J1M,$CLJ]SI/H^O?^Z M[DXUN_H4K]93F2^ML9@FA9%,>2JG9@I@[C RT0K@F IN2[\3V4E,[6+^\BAY M-AB[B!Z:&"#WR^;#&['=-F-@UC$7<@=TDCN@"Y7G>WN"(B&))V\(=K*XW[.- MDKI.]BG 5$ #!9%4_OSZ9;*T5U>+//8+%INGVQ\//LT.+%SJ;#N&_A.?=%KB M0!2)B,J8LUG>NA10[ M+RWERE!Y-U^L/K\"DPOD;ZX4%0/2@52D&,>(Y[:,9IW9"$)8' )GW9ZB',#( M\R]7!$<95?K/>#7UY)/269>W[K74/@'M!?(Q7N5'%N_GJ[2Q,ODW"M9U.?VP>$L>P M81!+&D 6%@7%\M0\B"E-= P)YK%5G%)JNW7K[O/U.I<+Y6%S&O%7MC$?%O-P M[5?O%Y_BXMO$WQ3!*=@=(94']=YK=N:./B'!L,0\2DG#1Q%EH!7SV+PT0=&J"_=OO;A M]ZMC8Z@ZG[V=[BG;V@[,1?2?9_/I_.K';S%,+$CE(DZCG]_63@J?'*<.(VI# M?E^%'9S*!B,L O><<\QTZN2K'/A0/6^V+""*"[4!P_&;G5TGZU?7\.E;TYH= MKUMNK-7!L?6UO@=N D'.REQN*>$?X! 7]B4[*>HGHL[CG$I*/\&T/1F,K,S M/['3C81NO7(E0L3>(,DH<($C0S81B9B3'CRX2!,=86;Q%DKJ5-",AYX"\FX M-1O9W(OFX0Y('KAASB/KE84=(!@R(CB$J32"$.FP*GUMM(^>.A-$QD-0,=DW M@*-M-VGK2L3WZ<-BXB>SJW6P(#3/^>[]Z8=56E- MU]D#QSYFIO-:'R?+_PROL-^Y9*G:^FXTG[BJWA$B? @>:F+^KZH=@Y:BJ^F.T MT[*QS&!" /^)6QTT21)6?%Y(7O(:?+X MZZ'SY_FI(@IH$4N9D4VP(^"H#E0SE!3(";R#B*RF'#%)*>;*!UM\:N,>LJ_!2AM[/4SEFZ[>D)D8U+T*."<_(CYJ@N+@)SAN2,LM=273F\> M(*DQ2/55_5-(%=1#"[!ZOO-^BC/_^8M=_&>]_:27=OU:UQ CW35OB[1V HS9P[@2(Q/ \B($C MHYU&,22CL636\M(=4[82TAJ0ANAZ7EKP#:#GE??SZ]D*^/!Q\BW;[MM:YA1P MBM2CI&%C<29SVU1FD+24,^N49J(T@';14OTN;SP,%1%_[3N\WV=N,IWF=B>W M3"QO:\0(.)@\<11%'@4> SB!-EJ$:9#:>2>CZ-;.<>V)1?_.63.U$328C,=O)U#K:T?OKEANOG^CC+ M!<1;^W&]_1+?IT<\W%Y_,\$3@!Q9[T >()OCY] ;^UT$ MU'NC-%2C\]+BK7VTW)+^?G9[,&KFK ^2(>Q9+CO.:3"#*1+,DI"89H1UJPYY MMG0]M1?2U;R8X%I1^\6?\[NW+H&*" Y02'D;8&Y )'":*B4\IRFQ\'3LR0&U MWRU=[P':B&KO)[@&XI&#Q02, .52"R29(. 8XX2,D3&W".;)18)C*IV'.^/Z MGR%YN**J: !:SYSU#W&1?V"O(KDT.GA&A$)1*H-R43ERT8!K+1C+V22&3>EN MJ_OH:?)*LZ?F#^7?^JJA]B%UVS+VL=-V237'3(F$$G:Y8Y;*6PYV(),@HD!5 M\+3;L+[MZS>9]!^&C%+2;+CC]\AWUN=ZT%@''2B$@3;;2P68'3]-> Z;1AX-0OOYK/% VYRX\CKFT0%"5@0&]>!ALC=V_)#8Y-08!3K M*(*,MC0D.Y!5%X G ,>S>NFRFFH??)N0&7.9/!,:2:U8;NZV;AY(4+)NBF'<"M^;B]U0W:4Q4%4NLXFA@*'JV)*"6KG/%) M&E:ZDOHY%4U#J8^JMX.IK]P;0\X#*W\?'J4\U]3Y7+H).XR'/(J6PM83$3P- M@R7\=NDA'(=HJAM05CLAR^BH"M1VCM 9P^;RTY5U230BTHJIH3KUGT M-RX #PF@BR4RDH-G**1%%OQ!)(7EBEI"I2H]QG4/.97G4_?7^[-QFX5$7KFX MZ*.=7=T\F^+,*\\T0V C.0+CEI"5P2*)G1&>6F94IQ?\!XJ)[CY8&PF%U#8$]RW_W41%U\NK6 \*:-R13;$Y49C9#Q5*!&+ MD\D#S8K?"G2CK$4GM"<8M@*MJ&9:+!NZB>C6__YYOEP-3FL\6ZE06F,_A>.D M-2(/UF.*$9$,[)1E&+F0+$J.6>X%!4>E= 5PV;3&8_1FZ5V& +@DTJ 4O0:> MK$. 68XB%41:%F-0I9N@/*>BMM7HK>6G1F*@@&L7EOYA%Y-\(M]1GV\+%DL[ MO13>*!L5R,/'F&,ZA5S2^6T0CLH*Q<13[W9';>G.3]1V3P9CH* $&W!$/GV> M+U;Y1+M'LF"YM%9Z1&ARN0\0",5)@@+1.E(;N2_>R^XY%75?4Q8T%0,%W !$ M[@DWR3 F&$- *$2 RFIPJ3"8/&T=>#T6POC2Q07' 6*T-S % =%/G/UQ,%_9 MZ9@^Y&V!Q3Q]NOX*_F*>Q I?S+_W=I;FBR_K;PQV,(_[3"'O=IP=.))K^L'^R")=7@;+B\1]]V2IIR48_1]GX7M9>@&SA[/DZN/J_>I]^7,1>JK-X[V&FS M&-[.7G_WGW-N\LU\\9C37\$OFTPGJQ^7TGK!4G[4R@,#Z9&(C/ 8>0^^F,?* M85*\8+<_N4WYQ4. =RJ5U0ZBWLUGWBX_OYWYQ4TBZN;_W\Z>Y(X>B^-2&,,3 MQQYY :$!YP+VGC$:"]WM'6>I(3D!H MJCSBAN=)# :CD!1U-CAOHB\)K.,LUZD\\[$AU4_>#9RDC]GX9\Q;(X97W^"G M5UL2W.22.&Z4$!1YDNB-+78"HA-IB*?"&DQ=Z6T#KY? M)LMU!>E'NXJ;I_J7RCEB'95(8PF;*^B<16,6&4Z8<9:G]/2-^[C@VT)C)_#) M_?UF.W?[.IZ,1GX=K[;PH5R$T?1/TXVPD7&G242.2HT!)-*Y6!2 M(J%2'KL3K2&EH_8QZG]WG/"W,?.-_0VY=\0;V UV^J]H%YS._7EQ*ST"8R2#L+4><)8Z,5P)IFSC$3R$%-\[SL>XT-I4^.17ZCE;.N8%O M\BV"<:,P'=) M17">,H4$#AX"+$>1-I*B%&7B43K,0BW0=0*;>D%@.TH9Q6J+1@+9[[.PR4+& M\/J[AS_ZZDO^KTM*0'#41"09IXC;R)%CL)TD<3: @^O%2$^TCR2T$_STN<.O MB)J.QZ*YP>(LMXR-X6*D.XL']WY8!B)U0DIDWR%/(-24"82-X%2DI(@I78(U MY.+5G &L2HBZY>XA!U+UET^:F!>\;+@D)[IN>,K#W87#?_41V]L9_!(6_C[H M.F;+*H.%<8BR0AQ+N=IACCF'B"E(8#G7,CD%61(N6( M\%1:GT3I!.\> M*@><@T$I[4WN(*7NY4DI)#RUN27D7M#F]@?0ZP3G0FY\=,=1OJO.3<\FLVNP M5QO#-9\M+YDD6LB $3C F3<*$;]A'B7I.-,63BY9>@9#=^KJ7H:,!;.1M--B M6<&GU=S_Q\'A&.!'>4^M5[M_0A#AS)K_B'&Y]<\MHI]?S2;_+X8!)UYI$@8? MEZ/*I-!9>X_X]^GG!U_?=,W+3W66GS[#+EK3=QMDW^T.(9-D,4H4UP,DA*'( MI@"1=A#6RD1CH*6+((917&Z@P.N-]C[%Q;>)C^M/_I0_^9"H5]/UDIMI'K<* M_1 7D_D-I3?-(21UVABG$6STW(C7*J2C2@@+C*73-EE1NF/H*(Q4'ZQS*BSO MGE-0"Q8-)$MO3KG(8N]3^MQ])LN7L1%1VU.Q<7<*CJWV3$.)R2I M%810'JDO7=CSC(@F@=-'P<_FUPV1=@-P^0B: (^OYJ!W_XM3N=?LX0V>8;; M\?/>!NR31]$GG<>NF5RP[I$@$.HI9UV*I4/Q#F2U$(./ :G2&FD 9)_B=)K[ MU\_";W;QGY@STX_Y 4=6Q-Q7DM"8&PUJ@:P$UY:&R'44!G@M?%X M\"JJBP:P]8\XBPL[!7Y>A2^3V62YNFFM_H0I:H1C-"(;*#!%&4=.VORR7C.G MG9&J>$NM3H35+2H<#V7EM=( U,J$/[_>M3XDX!UXXPB2GA/$?2+(*JZ0HAI3 M3SP-Q2N_"K/0RKB@5@+3F@AI8(-L.(MA.^.;S7]I/'@MT45$',@5N(K(1>^0 M3T[IB)UBH733LFZ4U8U2JH+GZ:"8\IH\GVN@$@-D.JX\TJ7-20;,[,I9WV6H M@[#1"TF0YAD=7#L$1[I&D8 /B5E,MEO?_:,2#_MI*G>?LF-[@MQG5VMO:OG3 MC_L_L\G>O_K3+L+-,:,8R1LD(%:>B+Q!,3(J]PZWV%"'F6.<%D;E&'S4/0L'P.I9?_[*.FX YW=9PNP4O%\/ M4]K8?\RL<1$)(0%20GP13& MX%Z"*A_KK>&PG/(:L(0?XF(]UF&VN2NYK<"2A%/%;&Z6GP=^&!H@,N(:F1@\ MBWDL)BN==MY!2MT:DN;05T)A#>#NH%QWB?7^:@Y[PPA7$//E@@I..0>K#Z(D M47NP_%)J7?P!Q6"J*Z.YB1#IQ+IO .V=;J7?S6??X&B)-Y9C>9%[C3S\_7P_ M\VZ^^E=,@2P=:)V&L<3^X M,%K[5,.<%#HO>3_=U("\F2\V/\I_CEPJZZ,VPB!E P$E>H9L] 9QCTFT5BBO MQ;ELK*T<-N[AG^D.&PZF!K9:;^6\N\Y^Z<;36+[Z9B?3[#F ./X!?W=UJ6@2 MBN&$4E 0*.G<)$F(@$ ZTCI#B!"Q%??M "^-ARCC;I\F -+*1EE^L).\XR_L M]W].5I\_SZ=A,KN"'VR7TJ7"ED2(]Y"7^<4=50II#(=O2MX1FHATQ7MK]:&S M;H5]"P ?4[$-@/=5^/?UL<@+[-#'$28BY)1I!+EJN ME28"B])SDP:06[<'<&4HGTK-#2!ZO+CI;J6;O_1^]3DN+C[;V7TLA8,ADB*, M>00%P0GF4J(H<2>)H%$:7?H6OAJS=9L:O]3 H2C$:ADD@ M0 HB-VJSW.;1(1P9"YKS#@L=(L:1=*MT*T51W2;+EF M])UZ*TW+AE[U)(P33X9"*,/=YD;;N_R@G05F;3(:%T_4O(Q'-B?$['A/<(Y1 M?P-^_Z.' BFQX'0,2#D60((,8A8E+%+1:Q69P"&.]6CB)3W!.0H"^Y[@'*./ MAK"T*=N@GA/K94"&Y1$3*3]J#Y$A[!C1FGIP68K7Q#14@MI?D_N?X!PCUMK! MS-:G),H$3@+)M),L"T+ 3D>"][-D)= M](I!X,*XS<,%L07CB",BC 9N*6$,XZX0.)RQ1*GQ$O\@G.$)>COT8:@-,H!:=:ZV"8CHB:E%^U M&8.,H1)Y9H/G3G G2S>+>>E/<(Z"U2F>X!RCXP9POJN.&7L60_(!:8]9KD0S MR$9FD.)14HD3(ZSTC?B0PO/S>GYS%$8Z%IX?H[ &<%<@;:ZC3C@JARQX)(A[ M!XZ/)!:92)C0083R+>?^+CPOX1B<6/?GC/;-3>/[Z]5R96>Y,N#C?#I],U_D MW[QD1$F54AZVR7/UOY;(0,2&8E2:4FE\XLT\O=C+2>,VOC >2VV'Z02\Y]\ M7=>@?UK9Q:J)W;(N[5V^G=W4QO]C,5\N+R-V3F#I$58X(DXB1Q:<1@BJM(W$ M:DYH,_[4;C;.] U%NSMF*%1:.%MRQOOM% MGX <+G$D*H",$3,D\V4(LM[:W-N,2Q(D,ZITH<+Q5)[I@X<1L3ZNHH<."7\7 MV[#^(.H4)ZMK$,KMOKZ4D@LN(D&*^WR-H 5R+#$D#8]*&L,X+_VX;@0VSO2% M1+O6?RA47LJ6>?W]ZV0S,/9.#BI)IIA/*$GK$,>$(Z-Q0EQZD DS7O+2ETPC ML'&F+S':W3)#H3)TRURT'),GAHUT!%'"#>B%>V28-$CB$ CS-"A<^I%2G9B\ MO<<6[6Z883 9&)._GH4F]LH?-Z]39B'/H_#K)V'Y1QM'->?<-[+))?H"Y\$4 M-EG$3:+()9N09T$HBGTPM#5'K2MO9QJ[MY$&'@5 +03OY:S+/^/DZG,6TK>X ML%?Q-@C\L)CXF(UANC6&R47L-4'8< 4.KF)(4R41U8IXHK1*O.%3JB.79YH\ M:&.SC0RJO\ZVNXS)$HTC:!$+ D>]<,A1"V+A)E)GLM-,SG.OO9B[FU$07F=# M'@6W\[GMV5FLL36'OU= EDD7< !V3PRT IPO<'I1HEQ)E+$W,N3NY?EV#M3 M#[/1/5D)=DWTCAXLG%O^N\E'6X6% Q<'.\80QY8@*ZQ#VA/LK+'1GK[8K2B' M9^J.GNG.' ]\Y^"Z'I+.EDN/O?(A@@L,^D*8&Y!/ KME/ 7CY2F5'-/(23MU M_?UX?#$7:V>Q/<<$X$O8H%NN6/;+AQF9O$R(1YF+[,G/?M84' CN\+PW:WX6G0U\HV=8<% MY8Z.;3_&W$P$?O[S?+96Z+6=7L3%%WJ9&*?"<8N8AS"<@^D"2T8Q,HQ"X&L- MQWB4J.VT;)[WC>'(6[-AQ+V 37ETH+M+#B!KI8,"(-KF 8M1! MZ>2I=Z/4FC;!_9EF6YK?PI7P>8ZC 19W8\27^4]>SR;9]GV][[)U_^/QQP?T M)V;T$0.%Y-3&&()@$_6>4J1ER$.4>(3C*DKXE0B1*=B=]N\Q!$]MRTWC+\M4 ME"P;,T\BXO ?8!D8R6\:K:8R$(U9Z?/J[S$$1V)VO#$$QZB_ 4?O<;-01YB' M>)&@J/.1; Q!#BN"4I)2.,>QC\5'Y!W=%?@,!A$$JRY#GH=]1Y/=XVH(\B<0G;R-PYEV!CX+5*;H"'Z/C!G#^\<[9 M6[N%OX-7M_SXZ?=-JUD1L(N",\18@.W/F4'Y;$+)>64]%H0X7!BP>PEJ_*ID M=+S,QU)> TC[86^X9Q--(*;%NH4RS@'+50&".1I%X\5?P0_I3U[LA.#7Z M2BBL =P5*!B@*6(A'4-*. T(14YQT!5GQ"9F,>6E MY\&=EL/&/9+"^"VU?<8'TU]CJVWZO%C">$C8H!280)RXB#0F BGMM&:!22J: M.7^.9>Y,-]@)$'[ZS=@#;N?36:&W>!Z_?;^TCAB/DT;4*Y!.$!Q9850.N[0A MADD9Z-ELQL>\-1X _17VX@"PO>@C\>8>_$XNCFJI&./(F& @%!!@HDP2B EE ML")6$MY,A_LC>3O38JB7M D'@.T%M'P]*)[-F_8'$E+,&TN"1ABB#,1YXDCS M:!&3)C$G? SQ?,[$9^R=:6W32]J1PR#W5]B43YWX@).TPGL(]''N# M%I_/%;R$&136$V(,";Z854FGFS_0$_TM9@C'Q_*(=@<=I MP<."4TQ2#3I&X/9)Q)7VR%!L$&&$*>D9M<2=C2$XDOD7G\5^ 89@3#R_:$/P MH*GK8:DYQF@P3B")<[>A*++Y9!YA&9W5@E*MFIDM6)3S%Y\V?P$F8#0DO^C] M?T0L)4!,1.*(- L^U](DI$W0R 8FI(H2!WD^%]6%,P+GG*%_ 7M_)!07S>X7 M;!_PVBYR6X0E?&:9!7;_(#X+]OIF\7D".4Z\G85?)M-KD,GMWP(?:2WF 2T# MRA(PN$W B/(HU!K@Z;?N'E [K(.0TJ%(>42<6@4'D8%-I3&1/F 6B]^4[**E M[R&5=7'Y#C;F(O\!,!1K.;^ZD_.O\^5SOB7U 4P)140;V(;2<62(\"@IEYRS MUC/%#Z&PSX?KYG>+P.#6K(XN]P8DG&H\(J .>\?4\+R7T!A#SQ .XN=/?/-UZV$5L+<1+89B6 MEG'P7_(M)\[=G0TW2),8>/2803Q0&%%'$5@G"7URQ(VGM";&LL%N6JP=7#L% MA^3+?';#V*O5:C%QX)ZX:;R8/W=]'[PKO-0@3Y[@1*#2J#RA WAVF"$5F4V2 MND1BZ>!K.-5U,J2$@!MC*/ #\1:7.B 7(D8V*FQ# M)$&ST@?WD236R?"U8FB+**ZJJ5U+\JE[_42:KS]\NA,BH9CAA"V(CH(0HZ;@ MU0"?(FE,13(V<=DI_NC^S;H7RN5#CY&DW8!YV\K9):,RT:3R35'.'#DKD"4J M(":\]%P:RXHWZMI*2,4H9"R5STO+OT$0;61T*:2-R1J" A9PU"MJD=9,($^Y M=80;'7WILW '*16#BTI ZJ.#%OO'[DYXOIJM)B%S.?D6/T5_O9BL)G'Y^KN? M7H<8LA8>I41/DA,N1-.(:>(QI#9VYEAKY4R0$7FI'+AFN7>1%!0E$1/ACH%S MIAK/'#_OL+-?$6\>*^+],T7M 84- 3LDD11TH2X)@09&3WP M0T-N)BD9*]Y"^0!-E1O/M@*>3J#NJ.0QH5C_:X8E0DE1!^ Q@:Z$O\>C^K&.2H#$XH MA9AR_M9 ^,@%DB%2ZQ5G5)9^3%B*]E8:$)][5-(/#.>_"5Y]F5_/5I=&2V*2 MI"@X1<%U)A%IX1C(0#GMO!;:E6Y^6H3P%AW(L3%7%O@] %#_WF&]]C+Z_WTU M__9?T8>;Y6_ZF4^^ 'OWPZ,.7Q@\0O+#16] [,,]=K=_X@P2Q_%8&W)&ZSWS&X"8CK[I8-LS'3T6;B[,K??TJR >.HF\#BK M=F\&:7U9V^Q[I[SO^;)[Q0(D_C;[.LF+7L Y\A/\YG^*D/E\U2HNV4%=W.*J MDT0J^O6/Z(NKS_-06%]/UJP2/_;3UG9I-**K#_#9U>++++R9VJLBFGJ\8I5L M5"\];95$(UK*._[GV3(LRJGIR9)5'+7>UN^Y+!I1U'_/_[RGKZP%W+%T%8^J ME^+VRZ:R N_.U,F7&-[,%]E#_,-.!V^W?>MV49VLJKH.4FEAXRU_GLZ7\6)^ M1^[ZA5"YW7=@_2YZ5/6W8#TUHK2WLS#Y-@G7=KJN.!NB MJ"=+U0W*]LM\?D@ M;?2='I/U^&T7X=-M&W!:AK:(?-Y-P&T< 7V<)AYZ5NJ M1VO7#98[[:*]0BFNK*ISZW>Q/FIZLC[<=U?3E87^L*J]LQKA?7017T-P6-/V MZBM\WD_6HOB8'U(O/[WZ^&D46!S^7MM=:0O"H[/H:SLPVTX/.-$SA^6C@=N% MN\# C'98]HX'GLBE!=7]/@N+Z8^K!^7N7U;#];9UU4ZG.ZZOM7TB:4%EK[\O M_(?%Q!?87_=+=5). U=KSYAO02-;^J<.5DW?*2T-7*CM%D=E93W>V3]^^\]J M#:6?/\^N/OAA9N_ TIU45_>.K9MP6BW0>SM;3D"*%PN;6_@\ZL?UB/*!57I[ M/E.D5*\K&P/K]3:9ERV?*9."VKWPD$Y'GU9V]G^GDR_SE)Y_ 'XR\Y_C^UG< MQL*./D;'K5@OT=E!58^Z%/625)U*I\[T7OPY+ZS9^Q7K)=_&T.PS256L83M] M?KL_]/K!JP'CL#N#O@,ZK<#CV7'WS$/I>4&U<]D!Q-XO]],/D/CP"\^M"U:\ MJSFDBX?>XCYA5/;R[TD;?-/Y9*EJNMDK[:U:>1%7,WM8FA]YAOZ5+]]'\5RZ M0O)$U^Y_WVIWA.)OJ\7T(BZ^+-^# QE ?65JL/8L6PVBQYUHAP53_5S+5)6X M6WF\4K7R[V,]CBWLMZ*2B\EJL#/X:*EJM=X]E?)( )6U\O%ZFEN3")*=AC#_ MNHK#2_)WK5FMM/LX/1T0266%O9O/QM#9GF6KE74?I[;#@FG" *[I N'E.Y\" M1O#1&#):L5:?;4]MMP+#X,IG9@I;PZ8KU2FCZ6,,=\FA"5[]<+]:$%5#2W5+U:FCZ:.>I M!)I0RX.BJZNK5]_L9#JT'FW?NO4*:OHH;*]L6JW+>+U8/T@^7F7_?81T;);^+ M\Q)*>;Q2TS4\.QEOZ%R)JX(A\-Z%JQFUOIY!%S'5-GE75ZL-4X-? 3U>JMH5 M8U]M;1=%9?W<$C2STQ_+R;+,Q?W.1:O=0 [TO7>*I[+V/JW^\V'AWR\NEHO7 MR]7DB[UY\ENN#5^G#U2[K^RKU6/$5EG##V9(%S2ENU>M=HG95Y<'!=3. ?AN MOOI7O#NI8ZD^<5T^4.W&L\!A>5!LE37\!A:=S^(MIR6*J78L6>TVM*\6]XNF M+;W](XR;83@95T\?8L6Z^Q0X$@K$U?;PN!A>/HI\MV4F)3N:[#,FKH5F > MEQ 7?HS_N4CUSQYB"U3^ M?+ __E@^F$15NO"GR_H#]C4(9WBMS]TBU2YFIO.<=F:^=2)Y.GY(WZ3#5KU,1R>Z%ZU5?[57%_#BY M5%;=A[BUS="Q%BX>TUIHK)J2P[*>[V&\?I$/D/2NB#J>KE6SW]-12MDAA+]K M%4]YTOQ=G_AW?>)QN@G_OIBOX_&AV^/Q2M7*J/;MCJW,UE; ='I'5IFM\72Y M>L?Z5G'/N_!>N_-,M#G &KPG'JY3K4AMWX[8PFAMIW9#;9FDV_/5ZAW;P^+X MUNXO?IY_BM.8)U)O,#3XZF+[BO4.DG[ZVBN7VG$*D!+NG/KW*4T\K/MF5F:O M'5Z]G@GLI\O.\JIM,V-<_&,QO_[Z=KF\+JC1?>M6J\[M:T>VZK+.IKZ)5?020^ M_?'!3D(A16U;LEIA;7]][9%,[4 Y1XI 8::JE&GMF>BCL@F]INYVUF M^-6WJV*V<>>B]4I=^WJ9!\33D/;6E#VP$"65N&WM>G6J!72Y1U@MF-([4HL; MU)TKUZLP'6)7#PFJ=F7%_UQ/5C_R[+(;44)X\^6FL^,D 3$1N"VEW2,_5:_@ MM*>Z^XFR=MCXQ,S\L5P?(NOIKI_G4Y#RQU6I2/*X3]6K5>V=N^LCRN;T_RZN MWL[\_$NA''JG#]0K62VFZ]UB:T[#SY+,8VEZSXU=9=3^WB MU\ER5?"J>_>JG=394CKKH(!J*_"Y91G<^W?[DIVJ%5I*9NT73?7,_ZWQ+Z_ M0VMWTF1+J:R.PJJHTNLENK+VZ^6=X_[K?+FO7BO9I5L3L?F+&TU.5\O;G]RK M=/O:G9382@)KKWBJ>SM//.^AVV_K@IW4U5(":I]8:C]US@Y5YJB0PK:MUTE? M+26,]@BEA11_D?:8#Q?JI*"6LCS;Q%#="9D/+I6\7:.3/EK*P3QAOHTR[\'J M.+9>E;:4)FFP3'4^^P7KZ3$EM*@'076?5S*4PR M77;*,?UVSUVIZ^=#JW?2;$NYD,X":[6AQN/Y01_FTXF?Q.6'Q=P_IGQ@=XT] MGRG2:J,K&P7Z;NS^U#.D]'S(>GC]04]N-\N'ATN7FI1Z>/6*#T$[Z^WQF]V. M\JK^E'H;G>_FJPVI94QX]Z]4>\E55,][Y#>^1=_\1OZ7L\OX?_[7_P=02P,$ M% @ W(0#5P&5X,S$Q M+FAT;>U:;6_;.!+^?K^"E^*Z"6 [ENVL$R<-D*;NK8$BZ:;N[MZG RU1%B^2 MJ"4I.]Y??\^0\DMB9^M>KZT3;($ZEC@9;8+#T_2P2/SO]V]O=Z MG;U189F)W+)0"VY%Q$HC\S'[-1+FEM7KE=2E*F9:CA/+6LU6F_VJ]*V<<-]N MI4W%^5S/V:%_/CMT@YR-5#0[/XODA,GHU9[\L7T<=IMQMQMWPTZ'!SS^48B3 MF+>/VYUN%'3^'>RA*\1]'V-GJ7BUE\F\G@@:O]=I-;I'A3V=RL@FO:#9_,>> M$ST_BU5N,9Y&?__5JUE39L6=K?-4CO.>BZ?Z=4DL]YIE, M9[T?AC(3AEV)*;M1&<]_J!F>F[H16L9>T,@_!&R">>YQZDWN0D\JV@$=RW>-5QKL?PW:H"O:!VQ?80P1;Z.QE_V;\9#MX.+B^&@^LK M=OV6O;\97%T.WE^\8_W?^IG6SM6\"A".JNG M(K:]5JMQM-%9_TKF$6:V5_=BWRD 06/NV[$ 4OX1# M)E),41UL M(@W[O>0:2R"=X7VAM&4J9V^5SEC0K/_,5,S^J67$WLQRV!@:]I-*2:VIL4$> M-C"!)\]X EL[-H&ON<&T88*R&;O-U305T5C4_#Q6LQZ%+ ?I,#Q TPK9QF>M.0IBWF(5YJI#"7,*B^W)I"+4!C#]8Q$,GXK,.Z* M3H-W$8S!D*DC%QB#!$*I028@EJ,[+(F$9M-$A@DS)7TL^T^%%I420+2N!XGL#Q1B(_'R(<4@00?@"5M;9>=3N\X.=@6W0Z 04"&S/$2S, MH:N(GP98C8IUR$NS?1>JFB/!%B/Y.JQ*#07(8Q-I7':$E,B='J+GR[RZFINU M2+E#7U6(EPBJ57F;&B5R+&PQ*I61.XHPYZF3@68J@S+E%,)@%O.B"450 ]/+%;Y$+Z-! DB2Z._B+X@ M*S\!=(]V!]W-QG%G'=U;)[MP=V ]3]IBPM/293::(BO_HY7L<*[?PK0NA:-@+R,[(J,0(5AJ4F M1*R4WPU:,V4LWM/I*G29$(JJ0&6626N%^)/B,5)T MEH[V2,(^IV0?"$>N-E0+\)=8^GQ9BM]+"?/=$BSST!UT'/RUM_O&-(&.IXB' M2N"/-MFT70^E &"J4K_88TT%OZ7:[7F@J]Z.P;J3V?E1U6?!L-H.^2..#2F0 M1^AHQ"(#/@K9BO>B"W '>EKS!,* /9@R VH0)>=,57DV'NH]?W*P@YLOX@"Q M1HJI 0S"947 R1VO5[BK^1(J\XE*)X+J:,['U:\$NDJD(BM2-1-HG2;*9T]^ M#]5 X?^%9#2VP8:?8>NV:U7K"* 4NHY0I[PPHC?_ND#X8"# MJ[ACP?V52PA]&'$?[&^_<-V5DS=8"JXPLHMRC+3"VC5W-68!QBH63]S-U[/[ MU?]Y>/7R10XY^N6B&TR5[B?2WRN>":VG?]H98/-D7R92Q*Q_)\*2SK_8][TVU4_K*\_]D MH;(YHOOO_;DRJ-E:6 _60WGH:-4*:7OT_N8*H7MP!;10QOU"W_,_+TW$VJ70 M99)RM*VY[,)'R%2E7>_RB7NDU:>_U7KH;M/^%U!+ P04 " #6XM,C R,S V,S!X97@S,3(N:'1M[5IM;QNY$?[> M7\$Z:,X&)%FOB2T[!A3'[@DXV*GCP[6?"FJ7*['F+O=(KF3UU_<9E MN4MDX0)$UBZ'PYGAPYF'%,]'+E47YR/!XXN_G/^U6F4?=%2D(G,L,H([$;/" MRFS(?HF%?6#5:BEUJ?.ID<.18\UZL\5^T>9!CGEH=](I<3'3ZJ1+O#E*954>"QN^VF[6WG=R=363L1MU&O?ZW R]Z<9[HS&$\@_[A:U"S MKHR;(?0YG7<;36ARXM%5N9+#K.M=/ BJ9N*15MIT7]7]OS-JJ28\E6K:_>%> MIL*R&S%A=SKEV0\5RS-;M<+() A:^5\!&S&(?YP$%]Y"CY*9F+G4:)(35X\C M.9".M1JUYJH'V]D>(?C"?"?C+Z_N[OO7_??_VAMU>LX]W_9O+_L?>3^RZ M?]/#5WR[O8;$U=VSSNV*,Q]_OOOT<^_FGMW?[KRMGZXN?^=W/UJ7K[SY^N_L5ZE_?4TJS7_R]8_:>P3B;3/]R]]D;W^A76RZ1"EC(\ M5KS"(F'('.9&W+U^U3DYV]JGG,M2*VML'X6U3"!IWL\@J)$/!25,(_E[,4:!F0:; #ZN36!#(1"6NYF9)(RA\$QEW2:?$NAC$84GF>@3%(()(&O )B&;K# MDE@8-AG):,1L01^+_A-A1*F$'$BE52 @Q&4FTHW@H,U%Y TDO3E,TS'<'*-; MS ;3Y3#L.2Y;+P67@B4RP\P3B!8S70$H(8YFL]0NLP1IASL)/3*+5!%#)]"T M-*T5(%%2JLH!!L(QX5NI!5!+C-@G0V,MQ)(45TBB4! .C4@Y(>SWIZ(VQ%+ ME)[8&72-&$KK#,= G%X&NV%E90F!=F;,FK7["\)&$R!L?R\08O1-(+Q?F;'7 MKTZ:C;=GMH19R3HHF>@DD7CT<]EGW B/&J! #I2@V64"4!TH:4%@D2C MQ:N-SJ$X\ET;G3@\A4=);#0+L"7]C%+<$IH#NLB6K0=*5@9*,!#Y^13CD""" M\!6LK+WSJ#WD1SL#VT:MW:! 8*>.8&$.?47\/, J5*PC7MCMNU#5' @V'RG4 M85T8*$ >&TOKLR.D1.;U$#U?Y-7EW&R$XAY]92%>(*A2YFUJE,BQL,5J)6-_ M*F&+@96QY$:2 S+0!5\M,M)46"KA?K%:7^]]+M56P""'W$V=OZ,O-8.I07)@?2K:2TDD@$C#Z &BM. MYLCT^PWK:'=@/4O:8LQ5X3,;S;E($O!..<9LV0W\<Q0CO_DA#ZEHV _(*L2HQ 1U%A"!%+Y7>#UE1;A_=TL I=-H*B\IR)'3[3 M)0&TD>^>2)>&8V\F_*$%G6=DQ=RNHV#5B-LY5Z%,Z9>"B'T)\?$HT_N4*?D@ M5'F"\42^\M4A^DKXOX1-7V>F MNME0+\)=8^FQ9BE\+ M"?/]$BRRR!]T'/VYM_O&-(&.IXB'2N"/-MFT78^D &#*4C_?8TT$?Z#:'7B@ MK]Z>P?J3V=E1U1?!L-P.A2..#2F0Q^AHQ3P#/@O9DO>B"W '>EH)!,*"/=@B M!6H0)>],67DV'NKM/SG8P CVMU_*_C[* M!RP.7RI9KQ@BT;!6Q=^;F<.SC,4+=_/]=)4/[(=7KU^UD73\Y\K=@Q4WMP1K MG?DJOB^AN>&IV';*RPSJJW$.2^DDE\U,W$VGUV[8>*?_Q,!*..[I=M_+7O>; MY_ER)$7"KN>LXC;L^?[@*7^QZ-@#,R,2YH=&WM6&U/XT80_MY?,0WJ'4BQL9V$O(*42T*/"A%* M@J[]5&WL=;+%]OIVUQ#?K^_LVN8MT$:5N )J/EBQ9^>9M\>SXQVL5!P=#5:4 M!$<_#'ZT+!AS/XMIHL 7E"@:0"99LH0O 9578%GEJA%/<\&6*P6>XS7@"Q=7 M[)H4(BFZ5A:)V#+IF1!K!52UW.<1%[T= MQ_SZ6F*%)&91WOLX9S&5<$9OX(+')/E8ER21EJ2"A<5"R;Y1]!&-F-N;(H0V MXD0LH55(KJ>#F*Q7;,$4-#S;?1C!=K[[F'PJ_B/G1Y.+^P?GE MQ>QR>#:'^?392%Z+YVX'+NV9/;)A-AD9[]U&RZF_>K^',QB.I^?SR?A-I;M* M MH#.^A,\\"K#[RCJ<)+X-NVI%X<-.Q_.<_HC'*4ER<^?V]^J #K0.J29D!G! M6!6'>VRFOF(\*=@,1 ()>*K[^_WEU2)=#71&FYL1L2 )E=9T'=$K)TQ2.6!,C3GN6UTY?O MR!O%-%S==?>JP+Z_^8>IM:3*(( M4 V](1$20:98>UDW6B%+2.+KYP@8, .-==6KLJA@"D^I,#9EQ8Z2K_8VU6^9 M*BJRB&@E77 14&%A.B.22MJK_O0#)M.(Y#V6F*08I7Z)M>!*\5C#]:]U._5) M5++'L*80EZ-FMVNWG;:>-A6.F"JH#)>#J&T&T7T5;,I:+;O;Z#PK=FSW6=G? MPKX(:J-I=[SF5K#[)A%%,C#=$LMW6&O4*H62GK0:Q; M,M;1(=?>37[.2$RWK7O91LT6FZ*G/,+YM'+Q=0:]\:%A@OZ?")LYF>N3F;?= M 9XN]G,?6'KH&.. ZBLN7KC^;Y8J3V=T]UPP'.%2G.$VTKJWF M/8Z[-] ].M%+N32C8D_0B&A[&V=\=TW*C&W.G0I98*?*U*;*/QP+EM?BD'+? M'([^!5!+ P04 " #6XM,C R,S V M,S!X97@S,C(N:'1M[5AM4^,V$/[>7[$-TSN8B8WMQ) WF,F%T*/3(92$N?93 M1['D1$61?+(,I+^^*]D&5ZT:J6RM^6)I( JB%GQ0^I)?D5)N MN!'LL+8SV"WO![O.R6"NZ/IP0/D5<'K0X'LAH2R.TPZ).^TD".:M3H>$[4ZG MF[ PZM!?PP:JXO)2)S=KP0X:*RZ]);/^>^W(WX\ST[_FU"Q[81!\UW!+#P>I MD@;]:=0O_Y9F'AHC>H'VC,IZ8826#+LQ'A%\(7LNQ49IJEZ>**%T;RMPO[Z5 M>"E9<;'NO9WQ%&,:(3=WM=IK"/=@27 MK$XIC&P2XYLEGW,#K'1Y&PV/GI5<-<@=X,] MF!S#[/T8IL/S=\/3\=2;_/SC^!<8CF96$@7!/WH-?BMRP]/U9T^O_6AZ)TT8 M2BZPJVI"!6G":,E9"L=<$IEP(F"2ICQA&E0*WVM.X6@M,8XDA_=*4&R\>1-. M9.+#MEDR>+/5B:*@/U*KC,BUNPO[.TU S;')F2%S@N":1H%]XC,$L.5+(D, M) ="569;^_WE]2);" S&NIL2/2>2Y=[D1K U#!-C);803903I[9:PZ54UX+1 M!7NS%7?ZSZY11JA-T!,L1?3B1ZM6/N*2(D5[7K2???YF_'@=M\.=.K$O[WX3 MJC#V6VT+Q Q+]+$@&E]>L0;-,J6Q0!*.E5Y!&'@_0:JT*V1%F-O[2@L8 DOA MAT)BZ<*]H-]">KC]_#[;SIWAFFR0%@*])6A1<$SPFINELZG9QX)K9K?\W-+D MCG3;9 ?0<1AOTYU;:K&DT-Q8"^.;9$GD@M7\"KNM-C*IVP=5GK; MZ= @YOU<:'2_I_#FS ,;.',Z_[O7^\SD]\:'WFDK]:=CP. MXO:9Y@A?AOC=(6G'MV&2J$(:>S)8 ;OS$-E=-T[]C<.'1T[K[FE]!=[W*#7'"G0N;8P KS4.4O3@VK:WF&N>O.3O\ 4$L! A0# M% @ W(0#5^LXCK,?X $ @^ 6 !$ ( ! &=D>6XM M,C R,S V,S N:'1M4$L! A0#% @ W(0#5W1D-V"2#@ #I4 !$ M ( !3N ! &=D>6XM,C R,S V,S N>'-D4$L! A0#% @ W(0# M5^]^J= A'@ ]2P! !4 ( !#^\! &=D>6XM,C R,S V,S!? M8V%L+GAM;%!+ 0(4 Q0 ( -R$ U?CZZ[9VT< +$^ P 5 M " 6,- @!G9'EN+3(P,C,P-C,P7V1E9BYX;6Q02P$"% ,4 " #&UL4$L! A0#% @ W(0#5W_W.=*@AP U7<& !4 M ( !Y$ # &=D>6XM,C R,S V,S!?<')E+GAM;%!+ 0(4 Q0 ( -R$ U<' M):&K 0@ %0K 7 " ;?( P!G9'EN+3(P,C,P-C,P>&5X M,S$Q+FAT;5!+ 0(4 Q0 ( -R$ UW0 P!G9'EN+3(P,C,P-C,P>&5X,S$R+FAT;5!+ 0(4 Q0 ( -R$ M U=6=&X4A00 ",5 7 " 1W9 P!G9'EN+3(P,C,P-C,P M>&5X,S(Q+FAT;5!+ 0(4 Q0 ( -R$ U?.:6K-@ 0 $(5 7 M " =?= P!G9'EN+3(P,C,P-C,P>&5X,S(R+FAT;5!+!08 "@ * + )X" ",X@, ! end